mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-06-18 16:45:33 -04:00

VolをTWLからも書けるように スライダとの後着優先になる Codecの「書いたVolと違う値にセットされる(MAX?)」バグワークアラウンドのため、ポーリングするように再度変更 TWLからも書けるのと併せ、そのつもりで作っていたかったので修正箇所が多い スライダのレジスタの値を読み出されるのでスライダのアソビを考えてスケーリングするよう変更 テーブル引きのテーブルをいじるのでは対応出来ない ADCのフィルタの誤り。閾値付近でふらふらしてしまっていた。フィルタの意味なし 電池残量0時のデフォルトパターンを設定。 ほぼすっからかんな電池をセットされたときなどでSoCから何も書かれてない状態の時、消灯で不便なため 電源LED autoでホタルにしない用にした。 ホタル消そうか… ファームが壊れ、バックアップからも復帰できないときに赤LEDを ぴぴっ、ぴぴっ と点滅させるように変更 ファームバックアップ後、新ファーム書き込み中のある期間で電源を落とすとバックアップが消える? todo:デバッグコードが残っている MGICにバッテリーパラメータを書くタイミングを変更(パラメータ転送~に時間が掛かるため) 1)電池交換を検出したとき 2)電源を入れようとしたときに万が一電池がすり替わってたとき 電圧で電池残量をキャップする 分解能20mVではあまりよろしい結果が得られなかったのでMGICより下位バイトも取得するように変更 比較部をリファクタリング wait_msを違うモジュールに ROM上のbootブロックに置きたかったため Vol更新コマンド ビットの自動クリアを忘れていた バッテリ残量パラメータ更新 ビットシフトが必要になったので対応 残念なコードに 電源LED赤とカメラLEDがひっくり返っていた VOLテーブルを-10dbに更新 git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@200 013db118-44a6-b54f-8bf7-843cb86687b1
146 lines
4.9 KiB
C
146 lines
4.9 KiB
C
#ifndef _bt_params_h_
|
||
#define _bt_params_h_
|
||
|
||
/* ========================================================
|
||
各社バッテリーパラメータ
|
||
======================================================== */
|
||
const u8 BT_PARAM[][64] = {
|
||
// ID = 0 GND マクセル
|
||
{
|
||
0x9E, 0x00, 0xAB, 0xD0, 0xB8, 0x20, 0xB8, 0xC0,
|
||
0xB9, 0x50, 0xB9, 0xE0, 0xBB, 0x60, 0xBE, 0x30,
|
||
|
||
0xBF, 0x20, 0xBF, 0xE0, 0xC0, 0x30, 0xC2, 0x20,
|
||
0xC4, 0x50, 0xC9, 0x50, 0xCB, 0x00, 0xD0, 0xC0,
|
||
|
||
0x01, 0x40, 0x00, 0xA0, 0x5B, 0xC0, 0x6A, 0x80,
|
||
0x34, 0x20, 0x10, 0x00, 0x32, 0x20, 0x54, 0x60,
|
||
|
||
0x03, 0x60, 0x5F, 0xC0, 0x1B, 0xC0, 0x15, 0x80,
|
||
0x17, 0xA0, 0x02, 0x60, 0x15, 0xE0, 0x15, 0xE0,
|
||
},
|
||
{ // ID = 1 120 ohm (ダミーでマクセル)
|
||
0x9E, 0x00, 0xAB, 0xD0, 0xB8, 0x20, 0xB8, 0xC0,
|
||
0xB9, 0x50, 0xB9, 0xE0, 0xBB, 0x60, 0xBE, 0x30,
|
||
|
||
0xBF, 0x20, 0xBF, 0xE0, 0xC0, 0x30, 0xC2, 0x20,
|
||
0xC4, 0x50, 0xC9, 0x50, 0xCB, 0x00, 0xD0, 0xC0,
|
||
|
||
0x01, 0x40, 0x00, 0xA0, 0x5B, 0xC0, 0x6A, 0x80,
|
||
0x34, 0x20, 0x10, 0x00, 0x32, 0x20, 0x54, 0x60,
|
||
|
||
0x03, 0x60, 0x5F, 0xC0, 0x1B, 0xC0, 0x15, 0x80,
|
||
0x17, 0xA0, 0x02, 0x60, 0x15, 0xE0, 0x15, 0xE0,
|
||
},
|
||
{ // ID = 2 360 hom (ダミーでマクセル)
|
||
0x9E, 0x00, 0xAB, 0xD0, 0xB8, 0x20, 0xB8, 0xC0,
|
||
0xB9, 0x50, 0xB9, 0xE0, 0xBB, 0x60, 0xBE, 0x30,
|
||
|
||
0xBF, 0x20, 0xBF, 0xE0, 0xC0, 0x30, 0xC2, 0x20,
|
||
0xC4, 0x50, 0xC9, 0x50, 0xCB, 0x00, 0xD0, 0xC0,
|
||
|
||
0x01, 0x40, 0x00, 0xA0, 0x5B, 0xC0, 0x6A, 0x80,
|
||
0x34, 0x20, 0x10, 0x00, 0x32, 0x20, 0x54, 0x60,
|
||
|
||
0x03, 0x60, 0x5F, 0xC0, 0x1B, 0xC0, 0x15, 0x80,
|
||
0x17, 0xA0, 0x02, 0x60, 0x15, 0xE0, 0x15, 0xE0,
|
||
},
|
||
{ // 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
|
||
{ 85, -256* 1.15, -256* 4.35 }, // maxell
|
||
{ 85, -256* 1.15, -256* 4.35 }, // dummy(M )
|
||
{ 85, -256* 1.15, -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 u8 BT_VERIFY_H[] = {
|
||
0xFF, 0xFF, 0xFF, // maxell, dummy, dummy,
|
||
0x69, 0x69, 0x69, 0x69 // dummy, dummy, panaso, dummy
|
||
};
|
||
|
||
const u8 BT_VERIFY_L[] = {
|
||
0xFC, 0xFC, 0xFC, // 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
|