ctr_mcu/trunk/batt_params.h
N2232 4efe357491 CODECの不具合対策でVolをSPIから書くための仕組みを追加
スライダの可動範囲がもともと筐体で制限されているが、0側に寄っているのでVolレジスタに反映させる際に0-63がでるようスケーリングを調整
バッテリパラメータの最終版を反映。
ROMがあふれそうなのでRTCをブートブロックに移動
ホタル廃止、SoCからは流し込めないがお知らせLEDの様にテーブルから補完するように変更。コード流用。仕様変更
充電周りのたくさんのバグを修正
・電池を抜いてもCEをアサートしっぱなしだったり、
・過放電の電池に充電できなかったり
・バッテリパラメータを送りすぎたり送り忘れたり
歩数計の境界分・秒の判定を誤っていた。修正・リファクタリング
電池電圧で残量をキャップしたり
 キャップしたときにLEDが赤青しないようにヒステリシスを入れた
温度で充電停止、チャタリングがひどいので一般的なチャタリング防止を追加
機種判定などがもうめちゃめちゃだったのでリファクタリング
電源OFF時、とりあえずLCD系電源を落とすがウェイトを調整
電池残量ICが電池残量0といってもマイコンからは電源を落とさない。3.1Vまでは動かす。仕様変更
強制電源断の仕様変更。2sec抑えたら問答無用でさらに4sec後にoff→6秒押さえ続けたら0ff


git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@202 013db118-44a6-b54f-8bf7-843cb86687b1
2010-07-13 12:12:27 +00:00

130 lines
5.0 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _bt_params_h_
#define _bt_params_h_
/* ========================================================
各社バッテリーパラメータ
======================================================== */
const u8 BT_PARAM[][64] = {
// ID = 0 GND マクセル
{
0xAE, 0xF0, 0xB4, 0x30, 0xB7, 0x40, 0xBA, 0x30,
0xBB, 0x50, 0xBB, 0xB0, 0xBC, 0x50, 0xBD, 0x10,
0xBD, 0x60, 0xBD, 0xB0, 0xBF, 0xE0, 0xC2, 0xB0,
0xC4, 0x20, 0xC7, 0xB0, 0xCA, 0xE0, 0xCE, 0x10,
0x01, 0xF0, 0x14, 0x10, 0x14, 0x20, 0x06, 0x30,
0x63, 0x90, 0x49, 0x00, 0x6E, 0x00, 0x77, 0x70,
0x7B, 0x00, 0x19, 0x00, 0x19, 0x00, 0x17, 0xF0,
0x1C, 0x60, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00
},
{ // ID = 1 120 ohm (ダミーでマクセル)
0xAE, 0xF0, 0xB4, 0x30, 0xB7, 0x40, 0xBA, 0x30,
0xBB, 0x50, 0xBB, 0xB0, 0xBC, 0x50, 0xBD, 0x10,
0xBD, 0x60, 0xBD, 0xB0, 0xBF, 0xE0, 0xC2, 0xB0,
0xC4, 0x20, 0xC7, 0xB0, 0xCA, 0xE0, 0xCE, 0x10,
0x01, 0xF0, 0x14, 0x10, 0x14, 0x20, 0x06, 0x30,
0x63, 0x90, 0x49, 0x00, 0x6E, 0x00, 0x77, 0x70,
0x7B, 0x00, 0x19, 0x00, 0x19, 0x00, 0x17, 0xF0,
0x1C, 0x60, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00
},
{ // ID = 2 360 hom (ダミーでマクセル)
0xAE, 0xF0, 0xB4, 0x30, 0xB7, 0x40, 0xBA, 0x30,
0xBB, 0x50, 0xBB, 0xB0, 0xBC, 0x50, 0xBD, 0x10,
0xBD, 0x60, 0xBD, 0xB0, 0xBF, 0xE0, 0xC2, 0xB0,
0xC4, 0x20, 0xC7, 0xB0, 0xCA, 0xE0, 0xCE, 0x10,
0x01, 0xF0, 0x14, 0x10, 0x14, 0x20, 0x06, 0x30,
0x63, 0x90, 0x49, 0x00, 0x6E, 0x00, 0x77, 0x70,
0x7B, 0x00, 0x19, 0x00, 0x19, 0x00, 0x17, 0xF0,
0x1C, 0x60, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00
},
{ // ID = 3 750 ohm ダミーでパナ
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
},
{ // ID = 4 1.3kohm (ダミーでパナ)
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
},
{ // ID = 5 2.7kohm パナ
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
},
{ // ID = 6 8.2kohm (ダミーでパナ)
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
}
// ID = 7 白箱
/// パラメータ無し
};
typedef struct _st_bt_comp
{
unsigned char rcomp;
signed short temp_co_up; // 256倍したものを入れとく
signed short temp_co_dn; // 〃
} st_bt_comp;
// 電池残量補正パラメータ
const st_bt_comp BT_COMP[] = {
// rcomp R_co_up R_co_down
{ 92, -256* 0.79, -256* 4.35 }, // maxell
{ 92, -256* 0.79, -256* 4.35 }, // dummy(M )
{ 92, -256* 0.79, -256* 4.35 }, // dummy(M )
{ 171, -256* 1.00, -256* 2.60 }, // dummy( P)
{ 171, -256* 1.00, -256* 2.60 }, // dummy( P)
{ 171, -256* 1.00, -256* 2.60 }, // panasonic
{ 171, -256* 1.00, -256* 2.60 } // dummy( P)
};
const u16 BT_OCV[] = {
{ 0xD800 }, { 0xD800 }, { 0xD800 }, // maxell, dummy, dummy,
{ 0xDA20 }, { 0xDA20 }, { 0xDA20 }, { 0xDA20 } // dummy, dummy, panaso, dummy
};
const u8 BT_VERIFY_H[] = {
0xEA, 0xEA, 0xEA, // maxell, dummy, dummy,
0x69, 0x69, 0x69, 0x69 // dummy, dummy, panaso, dummy
};
const u8 BT_VERIFY_L[] = {
0xE8, 0xE8, 0xE8, // maxell, dummy, dummy,
0x67, 0x67, 0x67, 0x67 // dummy, dummy, panaso, dummy
};
const u8 BT_RCOMP_SCALE[] = {
2, 2, 2, // maxell, dummy, dummy,
1, 1, 1, 1 // dummy, dummy, panaso, dummy
};
#endif