mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
いつの間にか使われ方が変わって長手意を表していない変数などを一部名前変更 一部エラーコードで0を返しなどしてた。ERR_SUCCESSなどを返すように修正 ADCのノイズフィルタを改良 ヒステリシス+四捨五入を追加 Volテーブルを更新。最大音量を-10dbに TWLからの音量設定を無視→反映、スライダの設定と後着優先になるように修正 Volのポーリング書き込み廃止、CODECリセット時のために強制セットコマンド追加(command.4) そのつもりがなかったので修正量が割とあった。 Vol書き込み時、ベリファイ、一度だけリトライするようにした。発生頻度からすれば良かろう。評価中 バッテリー補正パラメータ更新 I2C_mにライトコマンドがきた直後に次の通信が来ると対応出来ずにバスが衝突(ウェイトコンディション理解してくれないから...)してしまっていた。 結果:一瞬BL消えや突然の電源断 一時的にスレーブアドレスを変えてNAKを返し、リトライしてもらうことにした。評価中。 電池残量ゼロ時のパターンをとりあえず高速点滅をプリセットにした。 交換した電池が0や、完全放電などでMCUがリセットされてSoCからパターンをもらってない場合にLEDが青赤とも消灯になりユーザーが心配するため お知らせLEDのフルカラー化の両対応コードが間違えていてめちゃめちゃになっていたのを修正 お知らせLEDフルカラー判定を誤ることがあった。マージンを増やした。 白箱を実機と誤判定していた。(FPGAの準備がまだ)判定方法を変更 本体設定や無線スイッチでWiFiを切ったときはフェードなしに。すぱっと変化した方がかっこいい 電源OFFにするとき、3DとWiFiはすぱっと消す。電源とお知らせはフェード(以前のまま) スリープ期間が極短いとSoC.SLP_OのH期間を取り逃す事があった。 症状:スリープに入ると電源断以外受け付けなくなる I2Cで予告してもらう。 歩数計のログポインタ進めるタイミング、秒レジスタ追加。 割り込み禁止区間の調整 電池残量ICとの通信・通信後のケアなど修正 電池残量0での強制電源断復活 .bin,.hexをリポジトリに追加 git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@198 013db118-44a6-b54f-8bf7-843cb86687b1
138 lines
4.7 KiB
C
138 lines
4.7 KiB
C
#ifndef _bt_params_h_
|
||
#define _bt_params_h_
|
||
|
||
/* ========================================================
|
||
各社バッテリーパラメータ
|
||
======================================================== */
|
||
const u8 BT_PARAM[][64] = {
|
||
// ID = 0 GND マクセル
|
||
{
|
||
0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
|
||
0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
|
||
|
||
0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
|
||
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
|
||
|
||
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
|
||
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
|
||
|
||
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
|
||
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
|
||
},
|
||
{ // ID = 1 120 ohm (ダミーでマクセル)
|
||
0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
|
||
0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
|
||
|
||
0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
|
||
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
|
||
|
||
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
|
||
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
|
||
|
||
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
|
||
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
|
||
},
|
||
{ // ID = 2 360 hom (ダミーでマクセル)
|
||
0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
|
||
0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
|
||
|
||
0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
|
||
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
|
||
|
||
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
|
||
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
|
||
|
||
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
|
||
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 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
|
||
{ 135, -256* 0.15, -256* 2.15 }, // maxell
|
||
{ 135, -256* 0.15, -256* 2.15 }, // dummy(M )
|
||
{ 135, -256* 0.15, -256* 2.15 }, // 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
|
||
};
|
||
#endif
|