リファクタリング

前々からやりたかった、バッテリパラメータ類を構造体に。メンテ性up
空き:350バイト

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@338 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
n2232 2011-06-08 08:31:45 +00:00
parent 82b79b61de
commit df5a69f2cd
4 changed files with 540 additions and 563 deletions

View File

@ -1,132 +1,94 @@
#ifndef _bt_params_h_
#define _bt_params_h_
#include "jhl_defs.h"
/*
d¯Ê CTR | SPFL | YBS
0 ID = 0 maxell <EFBFBD>©
120 1
360 2
750 <EFBFBD>@ 3
1.3k<EFBFBD>@ 4
2.7k 5 pana <EFBFBD>©
8.2k<EFBFBD>@ 6
*/
typedef enum
{
BT_PARAM_CTR_MAXELL = 0,
BT_PARAM_CTR_PANA,
BT_PARAM_SPFL_MAXELL,
BT_PARAM_SPFL_PANA,
BT_PARAM_SHRIMP_MAXELL,
BT_PARAM_SHRIMP_PANA,
_BT_PARAM_NUM_
} BT_TYPE;
typedef struct
{
u8 rcomp;
s16 up,down;
} rcomp_;
typedef struct
{
u8 hi,low;
} verify_;
typedef struct
{
u8 mg_param[64];
u8 v_scale;
rcomp_ rcomp;
u16 ocv;
verify_ verify;
} bt_param_;
/* ========================================================
======================================================== */
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 (ダミーでパナ)
ROM不足のため使
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
const bt_param_ bt_param[ _BT_PARAM_NUM_ ] =
{
unsigned char rcomp;
signed short temp_co_up; // 256倍したものを入れとく
signed short temp_co_dn; // 〃
} st_bt_comp;
// BT_PARAM_CTR_MAXELL
{
{
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
},
2,
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) },
0xD800,
{ 0xEA, 0xE8 }
},
// 電池残量補正パラメータ
const st_bt_comp BT_COMP[] = {
// rcomp R_co_up R_co_down
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // maxell
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // dummy(M )
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // dummy(M )
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P)
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P)
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) } // panasonic
// BT_PARAM_CTR_PANA
{
{
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
},
1,
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) },
0xDA20,
{ 0x69, 0x67 },
}
};
const u16 BT_OCV[] = {
{ 0xD800 }, { 0xD800 }, { 0xD800 }, // maxell, dummy, dummy,
{ 0xDA20 }, { 0xDA20 }, { 0xDA20 } // dummy, dummy, pana
};
const u8 BT_VERIFY_H[] = {
0xEA, 0xEA, 0xEA, // maxell, dummy, dummy,
0x69, 0x69, 0x69 // dummy, dummy, pana
};
const u8 BT_VERIFY_L[] = {
0xE8, 0xE8, 0xE8, // maxell, dummy, dummy,
0x67, 0x67, 0x67 // dummy, dummy, pana
};
const u8 BT_RCOMP_SCALE[] = {
2, 2, 2, // maxell, dummy, dummy,
1, 1, 1 // dummy, dummy, panaso
};
#endif

Binary file not shown.

View File

@ -24,8 +24,8 @@ Direc-file:bsr_mcu.dr
*** Link information ***
67 output segment(s)
3DB4H byte(s) real data
5770 symbol(s) defined
3DBDH byte(s) real data
5803 symbol(s) defined
*** Memory map ***
@ -156,282 +156,283 @@ Direc-file:bsr_mcu.dr
SEGMENT SEGMENT MODULE ADDRESS
MGC_MIMI 02000H 0000AH CSEG AT
MGC_MIMI magic 02000H 0000AH
@@CNST 0200AH 0027CH CSEG
@@CNST 0200AH 00282H CSEG
@@CNST @cstart 0200AH 00000H
@@CNST loader 0200AH 00000H
@@CNST pm 0200AH 001CAH
@@CNST i2c_ctr 021D4H 00000H
@@CNST main 021D4H 00000H
@@CNST magic 021D4H 00000H
@@CNST WDT 021D4H 00000H
@@CNST i2c_mcu 021D4H 00000H
@@CNST i2c_twl 021D4H 00000H
@@CNST led 021D4H 00000H
@@CNST rtc 021D4H 00000H
@@CNST vreg_ctr 021D4H 00000H
@@CNST vreg_twl 021D4H 00000H
@@CNST adc 021D4H 00048H
@@CNST renge 0221CH 00000H
@@CNST accero 0221CH 00000H
@@CNST pm 0200AH 001D0H
@@CNST i2c_ctr 021DAH 00000H
@@CNST main 021DAH 00000H
@@CNST magic 021DAH 00000H
@@CNST WDT 021DAH 00000H
@@CNST i2c_mcu 021DAH 00000H
@@CNST i2c_twl 021DAH 00000H
@@CNST led 021DAH 00000H
@@CNST rtc 021DAH 00000H
@@CNST vreg_ctr 021DAH 00000H
@@CNST vreg_twl 021DAH 00000H
@@CNST adc 021DAH 00048H
@@CNST renge 02222H 00000H
@@CNST accero 02222H 00000H
@@CNST self_flash
0221CH 00002H
@@CNST sw 0221EH 00000H
02222H 00002H
@@CNST sw 02224H 00000H
@@CNST task_debug
0221EH 00000H
02224H 00000H
@@CNST task_misc
0221EH 00000H
@@CNST task_sys 0221EH 00000H
02224H 00000H
@@CNST task_sys 02224H 00000H
@@CNST pedo_alg_thre_det2
0221EH 00048H
@@CNST ini_VECT 02266H 00000H
02224H 00048H
@@CNST ini_VECT 0226CH 00000H
@@CNST task_status
02266H 00000H
@@CNST led_cam 02266H 00000H
@@CNST led_pow 02266H 00020H
ROM_CODE 02286H 026F8H CSEG
ROM_CODE pm 02286H 00A00H
ROM_CODE i2c_ctr 02C86H 00060H
ROM_CODE i2c_twl 02CE6H 0005EH
ROM_CODE led 02D44H 00265H
ROM_CODE rtc 02FA9H 000E0H
ROM_CODE vreg_ctr 03089H 00486H
ROM_CODE vreg_twl 0350FH 000FAH
ROM_CODE adc 03609H 002E7H
ROM_CODE renge 038F0H 00190H
ROM_CODE accero 03A80H 0013DH
ROM_CODE sw 03BBDH 00178H
0226CH 00000H
@@CNST led_cam 0226CH 00000H
@@CNST led_pow 0226CH 00020H
ROM_CODE 0228CH 026FBH CSEG
ROM_CODE pm 0228CH 00A03H
ROM_CODE i2c_ctr 02C8FH 00060H
ROM_CODE i2c_twl 02CEFH 0005EH
ROM_CODE led 02D4DH 00265H
ROM_CODE rtc 02FB2H 000E0H
ROM_CODE vreg_ctr 03092H 00486H
ROM_CODE vreg_twl 03518H 000FAH
ROM_CODE adc 03612H 002E7H
ROM_CODE renge 038F9H 00190H
ROM_CODE accero 03A89H 0013DH
ROM_CODE sw 03BC6H 00178H
ROM_CODE task_misc
03D35H 00177H
ROM_CODE task_sys 03EACH 00373H
03D3EH 00177H
ROM_CODE task_sys 03EB5H 00373H
ROM_CODE pedo_alg_thre_det2
0421FH 00502H
ROM_CODE led_cam 04721H 000DBH
ROM_CODE led_pow 047FCH 00182H
@@BASE 0497EH 004C6H CSEG BASE
@@BASE loader 0497EH 00000H
@@BASE pm 0497EH 0003FH
@@BASE i2c_ctr 049BDH 0018DH
@@BASE main 04B4AH 00000H
@@BASE magic 04B4AH 00000H
@@BASE WDT 04B4AH 00000H
@@BASE i2c_mcu 04B4AH 0009CH
@@BASE i2c_twl 04BE6H 000CBH
@@BASE led 04CB1H 00000H
@@BASE rtc 04CB1H 0005EH
@@BASE vreg_ctr 04D0FH 00000H
@@BASE vreg_twl 04D0FH 00000H
@@BASE adc 04D0FH 000B3H
@@BASE renge 04DC2H 00000H
@@BASE accero 04DC2H 0004AH
04228H 00502H
ROM_CODE led_cam 0472AH 000DBH
ROM_CODE led_pow 04805H 00182H
@@BASE 04987H 004C6H CSEG BASE
@@BASE loader 04987H 00000H
@@BASE pm 04987H 0003FH
@@BASE i2c_ctr 049C6H 0018DH
@@BASE main 04B53H 00000H
@@BASE magic 04B53H 00000H
@@BASE WDT 04B53H 00000H
@@BASE i2c_mcu 04B53H 0009CH
@@BASE i2c_twl 04BEFH 000CBH
@@BASE led 04CBAH 00000H
@@BASE rtc 04CBAH 0005EH
@@BASE vreg_ctr 04D18H 00000H
@@BASE vreg_twl 04D18H 00000H
@@BASE adc 04D18H 000B3H
@@BASE renge 04DCBH 00000H
@@BASE accero 04DCBH 0004AH
@@BASE self_flash
04E0CH 00000H
@@BASE sw 04E0CH 00000H
04E15H 00000H
@@BASE sw 04E15H 00000H
@@BASE task_debug
04E0CH 00000H
04E15H 00000H
@@BASE task_misc
04E0CH 00000H
@@BASE task_sys 04E0CH 00000H
04E15H 00000H
@@BASE task_sys 04E15H 00000H
@@BASE pedo_alg_thre_det2
04E0CH 00000H
@@BASE ini_VECT 04E0CH 00038H
04E15H 00000H
@@BASE ini_VECT 04E15H 00038H
@@BASE task_status
04E44H 00000H
@@BASE led_cam 04E44H 00000H
@@BASE led_pow 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL @cstart 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL pm 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL i2c_ctr 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL i2c_twl 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL led 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL rtc 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL vreg_ctr 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL vreg_twl 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL adc 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL renge 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL accero 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL sw 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
04E4DH 00000H
@@BASE led_cam 04E4DH 00000H
@@BASE led_pow 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL @cstart 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL pm 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL i2c_ctr 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL i2c_twl 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL led 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL rtc 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL vreg_ctr 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL vreg_twl 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL adc 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL renge 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL accero 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL sw 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL task_misc
04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL task_sys 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL task_sys 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL pedo_alg_thre_det2
04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL ini_VECT 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL led_cam 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL led_pow 04E44H 00000H
@@CNSTL 04E44H 0000AH CSEG PAGE64KP
@@CNSTL @bcdtob 04E44H 0000AH
@@R_INIT 04E4EH 00038H CSEG UNIT64KP
@@R_INIT @cstart 04E4EH 00000H
@@R_INIT loader 04E4EH 00000H
@@R_INIT pm 04E4EH 00002H
@@R_INIT i2c_ctr 04E50H 00002H
@@R_INIT main 04E52H 00000H
@@R_INIT magic 04E52H 00000H
@@R_INIT WDT 04E52H 00000H
@@R_INIT i2c_mcu 04E52H 00000H
@@R_INIT i2c_twl 04E52H 00000H
@@R_INIT led 04E52H 00000H
@@R_INIT rtc 04E52H 00000H
@@R_INIT vreg_ctr 04E52H 00000H
@@R_INIT vreg_twl 04E52H 00000H
@@R_INIT adc 04E52H 0000CH
@@R_INIT renge 04E5EH 00014H
@@R_INIT accero 04E72H 00000H
@@R_INIT self_flash
04E72H 00000H
@@R_INIT sw 04E72H 00002H
@@R_INIT task_debug
04E74H 00000H
@@R_INIT task_misc
04E74H 00000H
@@R_INIT task_sys 04E74H 00002H
@@R_INIT pedo_alg_thre_det2
04E76H 00006H
@@R_INIT ini_VECT 04E7CH 00000H
@@R_INIT task_status
04E7CH 00002H
@@R_INIT led_cam 04E7EH 00002H
@@R_INIT led_pow 04E80H 00006H
@@R_INIT @rom 04E86H 00000H
@@R_INIS 04E86H 00000H CSEG UNIT64KP
@@R_INIS @cstart 04E86H 00000H
@@R_INIS loader 04E86H 00000H
@@R_INIS pm 04E86H 00000H
@@R_INIS i2c_ctr 04E86H 00000H
@@R_INIS main 04E86H 00000H
@@R_INIS magic 04E86H 00000H
@@R_INIS WDT 04E86H 00000H
@@R_INIS i2c_mcu 04E86H 00000H
@@R_INIS i2c_twl 04E86H 00000H
@@R_INIS led 04E86H 00000H
@@R_INIS rtc 04E86H 00000H
@@R_INIS vreg_ctr 04E86H 00000H
@@R_INIS vreg_twl 04E86H 00000H
@@R_INIS adc 04E86H 00000H
@@R_INIS renge 04E86H 00000H
@@R_INIS accero 04E86H 00000H
04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL ini_VECT 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL led_cam 04E4DH 00000H
@@CNSTL 04E4DH 00000H CSEG PAGE64KP
@@CNSTL led_pow 04E4DH 00000H
@@R_INIS 04E4DH 00000H CSEG UNIT64KP
@@R_INIS @cstart 04E4DH 00000H
@@R_INIS loader 04E4DH 00000H
@@R_INIS pm 04E4DH 00000H
@@R_INIS i2c_ctr 04E4DH 00000H
@@R_INIS main 04E4DH 00000H
@@R_INIS magic 04E4DH 00000H
@@R_INIS WDT 04E4DH 00000H
@@R_INIS i2c_mcu 04E4DH 00000H
@@R_INIS i2c_twl 04E4DH 00000H
@@R_INIS led 04E4DH 00000H
@@R_INIS rtc 04E4DH 00000H
@@R_INIS vreg_ctr 04E4DH 00000H
@@R_INIS vreg_twl 04E4DH 00000H
@@R_INIS adc 04E4DH 00000H
@@R_INIS renge 04E4DH 00000H
@@R_INIS accero 04E4DH 00000H
@@R_INIS self_flash
04E86H 00000H
@@R_INIS sw 04E86H 00000H
04E4DH 00000H
@@R_INIS sw 04E4DH 00000H
@@R_INIS task_debug
04E86H 00000H
04E4DH 00000H
@@R_INIS task_misc
04E86H 00000H
@@R_INIS task_sys 04E86H 00000H
04E4DH 00000H
@@R_INIS task_sys 04E4DH 00000H
@@R_INIS pedo_alg_thre_det2
04E86H 00000H
@@R_INIS ini_VECT 04E86H 00000H
04E4DH 00000H
@@R_INIS ini_VECT 04E4DH 00000H
@@R_INIS task_status
04E86H 00000H
@@R_INIS led_cam 04E86H 00000H
@@R_INIS led_pow 04E86H 00000H
@@R_INIS @rom 04E86H 00000H
@@CALT 04E86H 00000H CSEG
@@CALT @cstart 04E86H 00000H
@@CALT loader 04E86H 00000H
@@CALT pm 04E86H 00000H
@@CALT i2c_ctr 04E86H 00000H
@@CALT main 04E86H 00000H
@@CALT magic 04E86H 00000H
@@CALT WDT 04E86H 00000H
@@CALT i2c_mcu 04E86H 00000H
@@CALT i2c_twl 04E86H 00000H
@@CALT led 04E86H 00000H
@@CALT rtc 04E86H 00000H
@@CALT vreg_ctr 04E86H 00000H
@@CALT vreg_twl 04E86H 00000H
@@CALT adc 04E86H 00000H
@@CALT renge 04E86H 00000H
@@CALT accero 04E86H 00000H
04E4DH 00000H
@@R_INIS led_cam 04E4DH 00000H
@@R_INIS led_pow 04E4DH 00000H
@@R_INIS @rom 04E4DH 00000H
@@CALT 04E4DH 00000H CSEG
@@CALT @cstart 04E4DH 00000H
@@CALT loader 04E4DH 00000H
@@CALT pm 04E4DH 00000H
@@CALT i2c_ctr 04E4DH 00000H
@@CALT main 04E4DH 00000H
@@CALT magic 04E4DH 00000H
@@CALT WDT 04E4DH 00000H
@@CALT i2c_mcu 04E4DH 00000H
@@CALT i2c_twl 04E4DH 00000H
@@CALT led 04E4DH 00000H
@@CALT rtc 04E4DH 00000H
@@CALT vreg_ctr 04E4DH 00000H
@@CALT vreg_twl 04E4DH 00000H
@@CALT adc 04E4DH 00000H
@@CALT renge 04E4DH 00000H
@@CALT accero 04E4DH 00000H
@@CALT self_flash
04E86H 00000H
@@CALT sw 04E86H 00000H
04E4DH 00000H
@@CALT sw 04E4DH 00000H
@@CALT task_debug
04E86H 00000H
04E4DH 00000H
@@CALT task_misc
04E86H 00000H
@@CALT task_sys 04E86H 00000H
04E4DH 00000H
@@CALT task_sys 04E4DH 00000H
@@CALT pedo_alg_thre_det2
04E86H 00000H
@@CALT ini_VECT 04E86H 00000H
04E4DH 00000H
@@CALT ini_VECT 04E4DH 00000H
@@CALT task_status
04E86H 00000H
@@CALT led_cam 04E86H 00000H
@@CALT led_pow 04E86H 00000H
@@RLINIT 04E86H 00000H CSEG UNIT64KP
@@RLINIT loader 04E86H 00000H
@@RLINIT pm 04E86H 00000H
@@RLINIT i2c_ctr 04E86H 00000H
@@RLINIT main 04E86H 00000H
@@RLINIT magic 04E86H 00000H
@@RLINIT WDT 04E86H 00000H
@@RLINIT i2c_mcu 04E86H 00000H
@@RLINIT i2c_twl 04E86H 00000H
@@RLINIT led 04E86H 00000H
@@RLINIT rtc 04E86H 00000H
@@RLINIT vreg_ctr 04E86H 00000H
@@RLINIT vreg_twl 04E86H 00000H
@@RLINIT adc 04E86H 00000H
@@RLINIT renge 04E86H 00000H
@@RLINIT accero 04E86H 00000H
04E4DH 00000H
@@CALT led_cam 04E4DH 00000H
@@CALT led_pow 04E4DH 00000H
@@RLINIT 04E4DH 00000H CSEG UNIT64KP
@@RLINIT loader 04E4DH 00000H
@@RLINIT pm 04E4DH 00000H
@@RLINIT i2c_ctr 04E4DH 00000H
@@RLINIT main 04E4DH 00000H
@@RLINIT magic 04E4DH 00000H
@@RLINIT WDT 04E4DH 00000H
@@RLINIT i2c_mcu 04E4DH 00000H
@@RLINIT i2c_twl 04E4DH 00000H
@@RLINIT led 04E4DH 00000H
@@RLINIT rtc 04E4DH 00000H
@@RLINIT vreg_ctr 04E4DH 00000H
@@RLINIT vreg_twl 04E4DH 00000H
@@RLINIT adc 04E4DH 00000H
@@RLINIT renge 04E4DH 00000H
@@RLINIT accero 04E4DH 00000H
@@RLINIT self_flash
04E86H 00000H
@@RLINIT sw 04E86H 00000H
04E4DH 00000H
@@RLINIT sw 04E4DH 00000H
@@RLINIT task_debug
04E86H 00000H
04E4DH 00000H
@@RLINIT task_misc
04E86H 00000H
@@RLINIT task_sys 04E86H 00000H
04E4DH 00000H
@@RLINIT task_sys 04E4DH 00000H
@@RLINIT pedo_alg_thre_det2
04E86H 00000H
@@RLINIT ini_VECT 04E86H 00000H
04E4DH 00000H
@@RLINIT ini_VECT 04E4DH 00000H
@@RLINIT task_status
04E86H 00000H
@@RLINIT led_cam 04E86H 00000H
@@RLINIT led_pow 04E86H 00000H
@@RLINIT @rom 04E86H 00000H
@@CODEL 04E86H 00000H CSEG
@@CODEL pm 04E86H 00000H
@@CODEL i2c_ctr 04E86H 00000H
@@CODEL magic 04E86H 00000H
@@CODEL i2c_twl 04E86H 00000H
@@CODEL led 04E86H 00000H
@@CODEL rtc 04E86H 00000H
@@CODEL vreg_ctr 04E86H 00000H
@@CODEL vreg_twl 04E86H 00000H
@@CODEL adc 04E86H 00000H
@@CODEL renge 04E86H 00000H
@@CODEL accero 04E86H 00000H
@@CODEL sw 04E86H 00000H
04E4DH 00000H
@@RLINIT led_cam 04E4DH 00000H
@@RLINIT led_pow 04E4DH 00000H
@@RLINIT @rom 04E4DH 00000H
@@CODEL 04E4DH 00000H CSEG
@@CODEL pm 04E4DH 00000H
@@CODEL i2c_ctr 04E4DH 00000H
@@CODEL magic 04E4DH 00000H
@@CODEL i2c_twl 04E4DH 00000H
@@CODEL led 04E4DH 00000H
@@CODEL rtc 04E4DH 00000H
@@CODEL vreg_ctr 04E4DH 00000H
@@CODEL vreg_twl 04E4DH 00000H
@@CODEL adc 04E4DH 00000H
@@CODEL renge 04E4DH 00000H
@@CODEL accero 04E4DH 00000H
@@CODEL sw 04E4DH 00000H
@@CODEL task_misc
04E86H 00000H
@@CODEL task_sys 04E86H 00000H
04E4DH 00000H
@@CODEL task_sys 04E4DH 00000H
@@CODEL pedo_alg_thre_det2
04E86H 00000H
@@CODEL ini_VECT 04E86H 00000H
@@CODEL led_cam 04E86H 00000H
@@CODEL led_pow 04E86H 00000H
@@LCODEL 04E86H 00008H CSEG
@@LCODEL abs 04E86H 00008H
* gap * 04E8EH 00168H
04E4DH 00000H
@@CODEL ini_VECT 04E4DH 00000H
@@CODEL led_cam 04E4DH 00000H
@@CODEL led_pow 04E4DH 00000H
* gap * 04E4DH 00001H
@@CNSTL 04E4EH 0000AH CSEG PAGE64KP
@@CNSTL @bcdtob 04E4EH 0000AH
@@R_INIT 04E58H 00038H CSEG UNIT64KP
@@R_INIT @cstart 04E58H 00000H
@@R_INIT loader 04E58H 00000H
@@R_INIT pm 04E58H 00002H
@@R_INIT i2c_ctr 04E5AH 00002H
@@R_INIT main 04E5CH 00000H
@@R_INIT magic 04E5CH 00000H
@@R_INIT WDT 04E5CH 00000H
@@R_INIT i2c_mcu 04E5CH 00000H
@@R_INIT i2c_twl 04E5CH 00000H
@@R_INIT led 04E5CH 00000H
@@R_INIT rtc 04E5CH 00000H
@@R_INIT vreg_ctr 04E5CH 00000H
@@R_INIT vreg_twl 04E5CH 00000H
@@R_INIT adc 04E5CH 0000CH
@@R_INIT renge 04E68H 00014H
@@R_INIT accero 04E7CH 00000H
@@R_INIT self_flash
04E7CH 00000H
@@R_INIT sw 04E7CH 00002H
@@R_INIT task_debug
04E7EH 00000H
@@R_INIT task_misc
04E7EH 00000H
@@R_INIT task_sys 04E7EH 00002H
@@R_INIT pedo_alg_thre_det2
04E80H 00006H
@@R_INIT ini_VECT 04E86H 00000H
@@R_INIT task_status
04E86H 00002H
@@R_INIT led_cam 04E88H 00002H
@@R_INIT led_pow 04E8AH 00006H
@@R_INIT @rom 04E90H 00000H
@@LCODEL 04E90H 00008H CSEG
@@LCODEL abs 04E90H 00008H
* gap * 04E98H 0015EH
MGC_TAIL 04FF6H 0000AH CSEG AT
MGC_TAIL magic 04FF6H 0000AH
@ -439,206 +440,206 @@ Direc-file:bsr_mcu.dr
BASE ADDRESS=FF900H SIZE=00500H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
@@DATA FF900H 00432H DSEG BASEP
@@DATA FF900H 00430H DSEG BASEP
@@DATA @cstart FF900H 00002H
@@DATA loader FF902H 00000H
@@DATA pm FF902H 0001AH
@@DATA i2c_ctr FF91CH 00006H
@@DATA main FF922H 0021EH
@@DATA magic FFB40H 00000H
@@DATA WDT FFB40H 00000H
@@DATA i2c_mcu FFB40H 0000AH
@@DATA i2c_twl FFB4AH 00000H
@@DATA led FFB4AH 0007CH
@@DATA rtc FFBC6H 00008H
@@DATA vreg_ctr FFBCEH 0005EH
@@DATA vreg_twl FFC2CH 00010H
@@DATA adc FFC3CH 00018H
@@DATA renge FFC54H 00016H
@@DATA accero FFC6AH 00002H
@@DATA pm FF902H 00018H
@@DATA i2c_ctr FF91AH 00006H
@@DATA main FF920H 0021EH
@@DATA magic FFB3EH 00000H
@@DATA WDT FFB3EH 00000H
@@DATA i2c_mcu FFB3EH 0000AH
@@DATA i2c_twl FFB48H 00000H
@@DATA led FFB48H 0007CH
@@DATA rtc FFBC4H 00008H
@@DATA vreg_ctr FFBCCH 0005EH
@@DATA vreg_twl FFC2AH 00010H
@@DATA adc FFC3AH 00018H
@@DATA renge FFC52H 00016H
@@DATA accero FFC68H 00002H
@@DATA self_flash
FFC6CH 00002H
@@DATA sw FFC6EH 0000AH
FFC6AH 00002H
@@DATA sw FFC6CH 0000AH
@@DATA task_debug
FFC78H 00000H
FFC76H 00000H
@@DATA task_misc
FFC78H 00004H
@@DATA task_sys FFC7CH 00002H
FFC76H 00004H
@@DATA task_sys FFC7AH 00002H
@@DATA pedo_alg_thre_det2
FFC7EH 000A6H
@@DATA ini_VECT FFD24H 00000H
FFC7CH 000A6H
@@DATA ini_VECT FFD22H 00000H
@@DATA task_status
FFD24H 00002H
@@DATA led_cam FFD26H 00002H
@@DATA led_pow FFD28H 0000AH
@@DATA @rom FFD32H 00000H
@@INIT FFD32H 00038H DSEG BASEP
@@INIT @cstart FFD32H 00000H
@@INIT loader FFD32H 00000H
@@INIT pm FFD32H 00002H
@@INIT i2c_ctr FFD34H 00002H
@@INIT main FFD36H 00000H
@@INIT magic FFD36H 00000H
@@INIT WDT FFD36H 00000H
@@INIT i2c_mcu FFD36H 00000H
@@INIT i2c_twl FFD36H 00000H
@@INIT led FFD36H 00000H
@@INIT rtc FFD36H 00000H
@@INIT vreg_ctr FFD36H 00000H
@@INIT vreg_twl FFD36H 00000H
@@INIT adc FFD36H 0000CH
@@INIT renge FFD42H 00014H
@@INIT accero FFD56H 00000H
FFD22H 00002H
@@DATA led_cam FFD24H 00002H
@@DATA led_pow FFD26H 0000AH
@@DATA @rom FFD30H 00000H
@@INIT FFD30H 00038H DSEG BASEP
@@INIT @cstart FFD30H 00000H
@@INIT loader FFD30H 00000H
@@INIT pm FFD30H 00002H
@@INIT i2c_ctr FFD32H 00002H
@@INIT main FFD34H 00000H
@@INIT magic FFD34H 00000H
@@INIT WDT FFD34H 00000H
@@INIT i2c_mcu FFD34H 00000H
@@INIT i2c_twl FFD34H 00000H
@@INIT led FFD34H 00000H
@@INIT rtc FFD34H 00000H
@@INIT vreg_ctr FFD34H 00000H
@@INIT vreg_twl FFD34H 00000H
@@INIT adc FFD34H 0000CH
@@INIT renge FFD40H 00014H
@@INIT accero FFD54H 00000H
@@INIT self_flash
FFD56H 00000H
@@INIT sw FFD56H 00002H
FFD54H 00000H
@@INIT sw FFD54H 00002H
@@INIT task_debug
FFD58H 00000H
FFD56H 00000H
@@INIT task_misc
FFD58H 00000H
@@INIT task_sys FFD58H 00002H
FFD56H 00000H
@@INIT task_sys FFD56H 00002H
@@INIT pedo_alg_thre_det2
FFD5AH 00006H
@@INIT ini_VECT FFD60H 00000H
FFD58H 00006H
@@INIT ini_VECT FFD5EH 00000H
@@INIT task_status
FFD60H 00002H
@@INIT led_cam FFD62H 00002H
@@INIT led_pow FFD64H 00006H
@@INIT @rom FFD6AH 00000H
@@INIS FFD6AH 00000H DSEG UNITP
@@INIS @cstart FFD6AH 00000H
@@INIS loader FFD6AH 00000H
@@INIS pm FFD6AH 00000H
@@INIS i2c_ctr FFD6AH 00000H
@@INIS main FFD6AH 00000H
@@INIS magic FFD6AH 00000H
@@INIS WDT FFD6AH 00000H
@@INIS i2c_mcu FFD6AH 00000H
@@INIS i2c_twl FFD6AH 00000H
@@INIS led FFD6AH 00000H
@@INIS rtc FFD6AH 00000H
@@INIS vreg_ctr FFD6AH 00000H
@@INIS vreg_twl FFD6AH 00000H
@@INIS adc FFD6AH 00000H
@@INIS renge FFD6AH 00000H
@@INIS accero FFD6AH 00000H
FFD5EH 00002H
@@INIT led_cam FFD60H 00002H
@@INIT led_pow FFD62H 00006H
@@INIT @rom FFD68H 00000H
@@INIS FFD68H 00000H DSEG UNITP
@@INIS @cstart FFD68H 00000H
@@INIS loader FFD68H 00000H
@@INIS pm FFD68H 00000H
@@INIS i2c_ctr FFD68H 00000H
@@INIS main FFD68H 00000H
@@INIS magic FFD68H 00000H
@@INIS WDT FFD68H 00000H
@@INIS i2c_mcu FFD68H 00000H
@@INIS i2c_twl FFD68H 00000H
@@INIS led FFD68H 00000H
@@INIS rtc FFD68H 00000H
@@INIS vreg_ctr FFD68H 00000H
@@INIS vreg_twl FFD68H 00000H
@@INIS adc FFD68H 00000H
@@INIS renge FFD68H 00000H
@@INIS accero FFD68H 00000H
@@INIS self_flash
FFD6AH 00000H
@@INIS sw FFD6AH 00000H
FFD68H 00000H
@@INIS sw FFD68H 00000H
@@INIS task_debug
FFD6AH 00000H
FFD68H 00000H
@@INIS task_misc
FFD6AH 00000H
@@INIS task_sys FFD6AH 00000H
FFD68H 00000H
@@INIS task_sys FFD68H 00000H
@@INIS pedo_alg_thre_det2
FFD6AH 00000H
@@INIS ini_VECT FFD6AH 00000H
FFD68H 00000H
@@INIS ini_VECT FFD68H 00000H
@@INIS task_status
FFD6AH 00000H
@@INIS led_cam FFD6AH 00000H
@@INIS led_pow FFD6AH 00000H
@@INIS @rom FFD6AH 00000H
@@DATS FFD6AH 00000H DSEG UNITP
@@DATS @cstart FFD6AH 00000H
@@DATS loader FFD6AH 00000H
@@DATS pm FFD6AH 00000H
@@DATS i2c_ctr FFD6AH 00000H
@@DATS main FFD6AH 00000H
@@DATS magic FFD6AH 00000H
@@DATS WDT FFD6AH 00000H
@@DATS i2c_mcu FFD6AH 00000H
@@DATS i2c_twl FFD6AH 00000H
@@DATS led FFD6AH 00000H
@@DATS rtc FFD6AH 00000H
@@DATS vreg_ctr FFD6AH 00000H
@@DATS vreg_twl FFD6AH 00000H
@@DATS adc FFD6AH 00000H
@@DATS renge FFD6AH 00000H
@@DATS accero FFD6AH 00000H
FFD68H 00000H
@@INIS led_cam FFD68H 00000H
@@INIS led_pow FFD68H 00000H
@@INIS @rom FFD68H 00000H
@@DATS FFD68H 00000H DSEG UNITP
@@DATS @cstart FFD68H 00000H
@@DATS loader FFD68H 00000H
@@DATS pm FFD68H 00000H
@@DATS i2c_ctr FFD68H 00000H
@@DATS main FFD68H 00000H
@@DATS magic FFD68H 00000H
@@DATS WDT FFD68H 00000H
@@DATS i2c_mcu FFD68H 00000H
@@DATS i2c_twl FFD68H 00000H
@@DATS led FFD68H 00000H
@@DATS rtc FFD68H 00000H
@@DATS vreg_ctr FFD68H 00000H
@@DATS vreg_twl FFD68H 00000H
@@DATS adc FFD68H 00000H
@@DATS renge FFD68H 00000H
@@DATS accero FFD68H 00000H
@@DATS self_flash
FFD6AH 00000H
@@DATS sw FFD6AH 00000H
FFD68H 00000H
@@DATS sw FFD68H 00000H
@@DATS task_debug
FFD6AH 00000H
FFD68H 00000H
@@DATS task_misc
FFD6AH 00000H
@@DATS task_sys FFD6AH 00000H
FFD68H 00000H
@@DATS task_sys FFD68H 00000H
@@DATS pedo_alg_thre_det2
FFD6AH 00000H
@@DATS ini_VECT FFD6AH 00000H
FFD68H 00000H
@@DATS ini_VECT FFD68H 00000H
@@DATS task_status
FFD6AH 00000H
@@DATS led_cam FFD6AH 00000H
@@DATS led_pow FFD6AH 00000H
@@DATS @rom FFD6AH 00000H
FSL_DATA FFD6AH 00010H DSEG UNITP
FFD68H 00000H
@@DATS led_cam FFD68H 00000H
@@DATS led_pow FFD68H 00000H
@@DATS @rom FFD68H 00000H
FSL_DATA FFD68H 00010H DSEG UNITP
FSL_DATA fsl_common
FFD6AH 00010H
@@INITL FFD7AH 00000H DSEG UNIT64KP
@@INITL loader FFD7AH 00000H
@@INITL pm FFD7AH 00000H
@@INITL i2c_ctr FFD7AH 00000H
@@INITL main FFD7AH 00000H
@@INITL magic FFD7AH 00000H
@@INITL WDT FFD7AH 00000H
@@INITL i2c_mcu FFD7AH 00000H
@@INITL i2c_twl FFD7AH 00000H
@@INITL led FFD7AH 00000H
@@INITL rtc FFD7AH 00000H
@@INITL vreg_ctr FFD7AH 00000H
@@INITL vreg_twl FFD7AH 00000H
@@INITL adc FFD7AH 00000H
@@INITL renge FFD7AH 00000H
@@INITL accero FFD7AH 00000H
FFD68H 00010H
@@INITL FFD78H 00000H DSEG UNIT64KP
@@INITL loader FFD78H 00000H
@@INITL pm FFD78H 00000H
@@INITL i2c_ctr FFD78H 00000H
@@INITL main FFD78H 00000H
@@INITL magic FFD78H 00000H
@@INITL WDT FFD78H 00000H
@@INITL i2c_mcu FFD78H 00000H
@@INITL i2c_twl FFD78H 00000H
@@INITL led FFD78H 00000H
@@INITL rtc FFD78H 00000H
@@INITL vreg_ctr FFD78H 00000H
@@INITL vreg_twl FFD78H 00000H
@@INITL adc FFD78H 00000H
@@INITL renge FFD78H 00000H
@@INITL accero FFD78H 00000H
@@INITL self_flash
FFD7AH 00000H
@@INITL sw FFD7AH 00000H
FFD78H 00000H
@@INITL sw FFD78H 00000H
@@INITL task_debug
FFD7AH 00000H
FFD78H 00000H
@@INITL task_misc
FFD7AH 00000H
@@INITL task_sys FFD7AH 00000H
FFD78H 00000H
@@INITL task_sys FFD78H 00000H
@@INITL pedo_alg_thre_det2
FFD7AH 00000H
@@INITL ini_VECT FFD7AH 00000H
FFD78H 00000H
@@INITL ini_VECT FFD78H 00000H
@@INITL task_status
FFD7AH 00000H
@@INITL led_cam FFD7AH 00000H
@@INITL led_pow FFD7AH 00000H
@@INITL @rom FFD7AH 00000H
@@DATAL FFD7AH 00000H DSEG UNIT64KP
@@DATAL loader FFD7AH 00000H
@@DATAL pm FFD7AH 00000H
@@DATAL i2c_ctr FFD7AH 00000H
@@DATAL main FFD7AH 00000H
@@DATAL magic FFD7AH 00000H
@@DATAL WDT FFD7AH 00000H
@@DATAL i2c_mcu FFD7AH 00000H
@@DATAL i2c_twl FFD7AH 00000H
@@DATAL led FFD7AH 00000H
@@DATAL rtc FFD7AH 00000H
@@DATAL vreg_ctr FFD7AH 00000H
@@DATAL vreg_twl FFD7AH 00000H
@@DATAL adc FFD7AH 00000H
@@DATAL renge FFD7AH 00000H
@@DATAL accero FFD7AH 00000H
FFD78H 00000H
@@INITL led_cam FFD78H 00000H
@@INITL led_pow FFD78H 00000H
@@INITL @rom FFD78H 00000H
@@DATAL FFD78H 00000H DSEG UNIT64KP
@@DATAL loader FFD78H 00000H
@@DATAL pm FFD78H 00000H
@@DATAL i2c_ctr FFD78H 00000H
@@DATAL main FFD78H 00000H
@@DATAL magic FFD78H 00000H
@@DATAL WDT FFD78H 00000H
@@DATAL i2c_mcu FFD78H 00000H
@@DATAL i2c_twl FFD78H 00000H
@@DATAL led FFD78H 00000H
@@DATAL rtc FFD78H 00000H
@@DATAL vreg_ctr FFD78H 00000H
@@DATAL vreg_twl FFD78H 00000H
@@DATAL adc FFD78H 00000H
@@DATAL renge FFD78H 00000H
@@DATAL accero FFD78H 00000H
@@DATAL self_flash
FFD7AH 00000H
@@DATAL sw FFD7AH 00000H
FFD78H 00000H
@@DATAL sw FFD78H 00000H
@@DATAL task_debug
FFD7AH 00000H
FFD78H 00000H
@@DATAL task_misc
FFD7AH 00000H
@@DATAL task_sys FFD7AH 00000H
FFD78H 00000H
@@DATAL task_sys FFD78H 00000H
@@DATAL pedo_alg_thre_det2
FFD7AH 00000H
@@DATAL ini_VECT FFD7AH 00000H
FFD78H 00000H
@@DATAL ini_VECT FFD78H 00000H
@@DATAL task_status
FFD7AH 00000H
@@DATAL led_cam FFD7AH 00000H
@@DATAL led_pow FFD7AH 00000H
@@DATAL @rom FFD7AH 00000H
* gap * FFD7AH 00086H
FFD78H 00000H
@@DATAL led_cam FFD78H 00000H
@@DATAL led_pow FFD78H 00000H
@@DATAL @rom FFD78H 00000H
* gap * FFD78H 00088H
MEMORY=RAM2
BASE ADDRESS=FFE20H SIZE=000C0H

View File

@ -22,7 +22,6 @@
// ========================================================
u8 raw_adc_temperature;
BT_VENDER battery_manufacturer = BT_VENDER_NOT_CHECKED;
static st_bt_comp bt_comp; // バッテリパラメータ構造体
static u8 reg_shadow; // NTR PMIC レジスタミラー
bit bt_authorized; // バッテリパラメータ送信済。充電開始許可
u8 chg_led_override; // アダプタ差したとき、充電するしないに関わらずしばらく点灯させる
@ -38,6 +37,8 @@ bit temp_zone_charge_disable; //
u8 pmic_version;
u8 mgic_version[2];
static bt_param_* p_bt_param;
static err send_cmd_mgic_2B( u8 reg, u16 dat );
static err read_mgic_2B( u8 reg, u8* dat );
@ -48,6 +49,7 @@ static void BT_mgic_quick_start();
static void BT_mgic_init();
static void bt_chk_temparature();
static void bt_get_charge_status();
static void bt_param_select();
// ========================================================
@ -293,6 +295,8 @@ void BT_chk()
// おしまい
}
bt_param_select(); // バッテリ残量補正パラメータなどセット
if(( battery_manufacturer_old != battery_manufacturer ) ||
bt_force_update )
{
@ -403,7 +407,6 @@ static void BT_mgic_init()
{
u8 temp;
u8 origParam[4];
bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更
/*
// -1. リセットをかけてみる
@ -435,7 +438,7 @@ static void BT_mgic_init()
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
// 3. 一時的にOCVを変更
send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( BT_OCV[ battery_manufacturer ] )); // マジックナンバー的なもの。メーカー指定
send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( p_bt_param->ocv )); // マジックナンバー的なもの。メーカー指定
// 4. 一時的にRCOMPを変更
send_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, swap_endian_16( 0xFF00 ) );
@ -443,34 +446,14 @@ static void BT_mgic_init()
// 5.メーカー別パラメータのロード
{
// 苦肉の策... 誤判定耐性が下がるわけではないし
u8* p_batt_param;
BT_VENDER bt_manuf_temp = battery_manufacturer;
u8 loop;
/* 埋蔵金をつかってしまったが ↓の苦肉の策でまるめられてしまう
if( battery_manufacturer == 6 )
{
battery_manufacturer = 5;
}
*/
if( bt_manuf_temp > BT_VENDER_4 )
{
bt_manuf_temp = BT_VENDER_3; // 白箱はどうでもよし
}
if( system_status.family == FAMILY_SPFL )
{
bt_manuf_temp += 1;
}
p_batt_param = BT_PARAM[bt_manuf_temp];
// 16バイトごとに区切れとのこと イズ対策とか言うんだけど、意味あるんか
for( loop = 0; loop < 4; loop++ )
{
iic_mcu_set_wo_dma( );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM + loop*16, 16, p_batt_param + loop*16 );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM + loop*16, 16, p_bt_param->mg_param + loop*16 );
}
}
@ -478,7 +461,7 @@ static void BT_mgic_init()
wait_ms( 150 + 15 );
// 7. OCVに「とある値」を書く
send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( BT_OCV[ battery_manufacturer ] ) ); // マジックナンバー的なもの。メーカー指定
send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( p_bt_param->ocv ) ); // マジックナンバー的なもの。メーカー指定
// 8. 150600ms待つ。600msは厳守
wait_ms( 150 + 15 );
@ -486,7 +469,7 @@ static void BT_mgic_init()
// 9. SOCを読む。ベリファイのため。
temp = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC );
if(( BT_VERIFY_L[ battery_manufacturer ] <= temp ) && ( temp <= BT_VERIFY_H[ battery_manufacturer ] ))
if(( p_bt_param->verify.low <= temp ) && ( temp <= p_bt_param->verify.hi ))
{
// カスタムモデル書き込みOK
}else{
@ -541,13 +524,13 @@ task_status_immed tski_BT_temp_update( )
newrcomp = 0;
if( temperature > 20 )
{
newrcomp = ( ( temperature - 20 ) * bt_comp.temp_co_up )/256;
newrcomp = ( ( temperature - 20 ) * p_bt_param->rcomp.up )/256;
}
else
{
newrcomp = ( ( temperature - 20 ) * bt_comp.temp_co_dn )/256;
newrcomp = ( ( temperature - 20 ) * p_bt_param->rcomp.down )/256;
}
newrcomp = bt_comp.rcomp + newrcomp;
newrcomp = p_bt_param->rcomp.rcomp + newrcomp;
if( newrcomp > 255 )
{
@ -644,7 +627,7 @@ void BT_get_left(){
{
// バッテリパラメータの関係でビットシフトが必要
bt_volt16 = temp_fuel[0] * 256 + temp_fuel[1];
bt_volt16 /= BT_RCOMP_SCALE[ battery_manufacturer ];
bt_volt16 /= p_bt_param->v_scale;
temp_fuel[0] = (u8)(( bt_volt16 >> 8 ) & 0xFF);
if( temp_fuel[0] == 0 )
{
@ -1261,8 +1244,11 @@ void codec_reg_init()
}
err send_cmd_mgic_2B( u8 reg, u16 dat ) // 送信バッファは固定
/* ============================================================
ROM節約のため
============================================================ */
err send_cmd_mgic_2B( u8 reg, u16 dat ) // 送信バッファ
{
u16 temp = dat;
return iic_mcu_write( IIC_SLA_BT_GAUGE, reg, 2, &temp ); // DMA転送するので送信データバッファのポインタがどうせ必要
@ -1282,3 +1268,31 @@ u8 read_pmic( u8 reg )
{
return iic_mcu_read_a_byte( IIC_SLA_PMIC, reg );
}
/* ============================================================
使
============================================================ */
void bt_param_select()
{
BT_TYPE bt_type_temp;
// 対応が増えてきたら分岐コード書き直すつもりで
if( battery_manufacturer <= BT_VENDER_3 )
{
bt_type_temp = BT_PARAM_CTR_MAXELL;
}
else
{
bt_type_temp = BT_PARAM_CTR_PANA;
}
if( system_status.family == FAMILY_SPFL )
{
bt_type_temp += BT_PARAM_SPFL_MAXELL; // オフセット 残念な実装で…。
}
else if( system_status.family == FAMILY_SHRIMP )
{
bt_type_temp += BT_PARAM_SHRIMP_MAXELL;
}
p_bt_param = &bt_param[ bt_type_temp ];
}