リファクタリング

i2c_m のよく使うパターンにラッパーを作成
typo修正
空き:360byte

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

View File

@ -349,7 +349,7 @@ case ( ADC_SEL_AMB_BRIT ): //
}
#endif
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 ) &&
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_ERR ) == 0 ) &&
(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP )
)
@ -550,7 +550,7 @@ case ( ADC_SEL_AMB_BRIT ): //
hist_bt_temp[index] = adc_data;
EI();
raw_adc_temperature = getmean3( hist_bt_temp );
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 ) &&
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_ERR ) == 0 ) &&
(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP )
)

Binary file not shown.

View File

@ -24,8 +24,8 @@ Direc-file:bsr_mcu.dr
*** Link information ***
67 output segment(s)
3E28H byte(s) real data
5755 symbol(s) defined
3DB4H byte(s) real data
5770 symbol(s) defined
*** Memory map ***
@ -100,53 +100,53 @@ Direc-file:bsr_mcu.dr
000C4H 00000H
?CSEGSI 000C4H 0000AH CSEG
?OCDSTAD 000CEH 0000AH CSEG
LDR_CODE 000D8H 00955H CSEG
LDR_CODE 000D8H 00945H CSEG
LDR_CODE loader 000D8H 00218H
LDR_CODE main 002F0H 00046H
LDR_CODE WDT 00336H 00000H
LDR_CODE i2c_mcu 00336H 002F0H
LDR_CODE main 002F0H 00042H
LDR_CODE WDT 00332H 00000H
LDR_CODE i2c_mcu 00332H 002F0H
LDR_CODE self_flash
00626H 0037FH
00622H 00373H
LDR_CODE task_debug
009A5H 00000H
00995H 00000H
LDR_CODE task_status
009A5H 00088H
FSL_CODE 00A2DH 00322H CSEG
00995H 00088H
FSL_CODE 00A1DH 00322H CSEG
FSL_CODE fsl_block_cmd
00A2DH 0002BH
00A1DH 0002BH
FSL_CODE fsl_block_check
00A58H 00013H
00A48H 00013H
FSL_CODE fsl_common
00A6BH 0014FH
00A5BH 0014FH
FSL_CODE fsl_reset
00BBAH 00001H
00BAAH 00001H
FSL_CODE fsl_si_ibf
00BBBH 00064H
00BABH 00064H
FSL_CODE fsl_phySwap
00C1FH 0004DH
00C0FH 0004DH
FSL_CODE fsl_si_common
00C6CH 00061H
FSL_CODE fsl_swap 00CCDH 00030H
00C5CH 00061H
FSL_CODE fsl_swap 00CBDH 00030H
FSL_CODE fsl_write
00CFDH 00052H
@@LCODE 00D4FH 00277H CSEG
@@LCODE @cstart 00D4FH 0006DH
@@LCODE @imul 00DBCH 00011H
@@LCODE @lumul 00DCDH 0002BH
@@LCODE @isdiv 00DF8H 00022H
@@LCODE @iudiv 00E1AH 0002DH
@@LCODE @isrem 00E47H 00021H
@@LCODE @iurem 00E68H 0002FH
@@LCODE @lsdiv 00E97H 00039H
@@LCODE @ludiv 00ED0H 0003FH
@@LCODE @divuw 00F0FH 00034H
@@LCODE @ladd 00F43H 0000FH
@@LCODE @llsh 00F52H 0001BH
@@LCODE @lursh 00F6DH 0001FH
@@LCODE @iscmp 00F8CH 0000CH
@@LCODE @lband 00F98H 00014H
@@LCODE @bcdtob 00FACH 0001AH
* gap * 00FC6H 00030H
00CEDH 00052H
@@LCODE 00D3FH 00277H CSEG
@@LCODE @cstart 00D3FH 0006DH
@@LCODE @imul 00DACH 00011H
@@LCODE @lumul 00DBDH 0002BH
@@LCODE @isdiv 00DE8H 00022H
@@LCODE @iudiv 00E0AH 0002DH
@@LCODE @isrem 00E37H 00021H
@@LCODE @iurem 00E58H 0002FH
@@LCODE @lsdiv 00E87H 00039H
@@LCODE @ludiv 00EC0H 0003FH
@@LCODE @divuw 00EFFH 00034H
@@LCODE @ladd 00F33H 0000FH
@@LCODE @llsh 00F42H 0001BH
@@LCODE @lursh 00F5DH 0001FH
@@LCODE @iscmp 00F7CH 0000CH
@@LCODE @lband 00F88H 00014H
@@LCODE @bcdtob 00F9CH 0001AH
* gap * 00FB6H 00040H
MGC_LOAD 00FF6H 0000AH CSEG AT
MGC_LOAD magic 00FF6H 0000AH
@ -188,250 +188,250 @@ Direc-file:bsr_mcu.dr
02266H 00000H
@@CNST led_cam 02266H 00000H
@@CNST led_pow 02266H 00020H
ROM_CODE 02286H 0275CH CSEG
ROM_CODE pm 02286H 00A44H
ROM_CODE i2c_ctr 02CCAH 00060H
ROM_CODE i2c_twl 02D2AH 0005EH
ROM_CODE led 02D88H 00265H
ROM_CODE rtc 02FEDH 000E0H
ROM_CODE vreg_ctr 030CDH 00486H
ROM_CODE vreg_twl 03553H 000FAH
ROM_CODE adc 0364DH 002E7H
ROM_CODE renge 03934H 00190H
ROM_CODE accero 03AC4H 0013DH
ROM_CODE sw 03C01H 00178H
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
ROM_CODE task_misc
03D79H 0017FH
ROM_CODE task_sys 03EF8H 0038BH
03D35H 00177H
ROM_CODE task_sys 03EACH 00373H
ROM_CODE pedo_alg_thre_det2
04283H 00502H
ROM_CODE led_cam 04785H 000DBH
ROM_CODE led_pow 04860H 00182H
@@BASE 049E2H 004C6H CSEG BASE
@@BASE loader 049E2H 00000H
@@BASE pm 049E2H 0003FH
@@BASE i2c_ctr 04A21H 0018DH
@@BASE main 04BAEH 00000H
@@BASE magic 04BAEH 00000H
@@BASE WDT 04BAEH 00000H
@@BASE i2c_mcu 04BAEH 0009CH
@@BASE i2c_twl 04C4AH 000CBH
@@BASE led 04D15H 00000H
@@BASE rtc 04D15H 0005EH
@@BASE vreg_ctr 04D73H 00000H
@@BASE vreg_twl 04D73H 00000H
@@BASE adc 04D73H 000B3H
@@BASE renge 04E26H 00000H
@@BASE accero 04E26H 0004AH
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
@@BASE self_flash
04E70H 00000H
@@BASE sw 04E70H 00000H
04E0CH 00000H
@@BASE sw 04E0CH 00000H
@@BASE task_debug
04E70H 00000H
04E0CH 00000H
@@BASE task_misc
04E70H 00000H
@@BASE task_sys 04E70H 00000H
04E0CH 00000H
@@BASE task_sys 04E0CH 00000H
@@BASE pedo_alg_thre_det2
04E70H 00000H
@@BASE ini_VECT 04E70H 00038H
04E0CH 00000H
@@BASE ini_VECT 04E0CH 00038H
@@BASE task_status
04EA8H 00000H
@@BASE led_cam 04EA8H 00000H
@@BASE led_pow 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL @cstart 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL pm 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL i2c_ctr 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL i2c_twl 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL led 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL rtc 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL vreg_ctr 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL vreg_twl 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL adc 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL renge 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL accero 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL sw 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
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
@@CNSTL task_misc
04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL task_sys 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL task_sys 04E44H 00000H
@@CNSTL 04E44H 00000H CSEG PAGE64KP
@@CNSTL pedo_alg_thre_det2
04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL ini_VECT 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL led_cam 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL led_pow 04EA8H 00000H
@@CNSTL 04EA8H 0000AH CSEG PAGE64KP
@@CNSTL @bcdtob 04EA8H 0000AH
@@R_INIT 04EB2H 00038H CSEG UNIT64KP
@@R_INIT @cstart 04EB2H 00000H
@@R_INIT loader 04EB2H 00000H
@@R_INIT pm 04EB2H 00002H
@@R_INIT i2c_ctr 04EB4H 00002H
@@R_INIT main 04EB6H 00000H
@@R_INIT magic 04EB6H 00000H
@@R_INIT WDT 04EB6H 00000H
@@R_INIT i2c_mcu 04EB6H 00000H
@@R_INIT i2c_twl 04EB6H 00000H
@@R_INIT led 04EB6H 00000H
@@R_INIT rtc 04EB6H 00000H
@@R_INIT vreg_ctr 04EB6H 00000H
@@R_INIT vreg_twl 04EB6H 00000H
@@R_INIT adc 04EB6H 0000CH
@@R_INIT renge 04EC2H 00014H
@@R_INIT accero 04ED6H 00000H
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
04ED6H 00000H
@@R_INIT sw 04ED6H 00002H
04E72H 00000H
@@R_INIT sw 04E72H 00002H
@@R_INIT task_debug
04ED8H 00000H
04E74H 00000H
@@R_INIT task_misc
04ED8H 00000H
@@R_INIT task_sys 04ED8H 00002H
04E74H 00000H
@@R_INIT task_sys 04E74H 00002H
@@R_INIT pedo_alg_thre_det2
04EDAH 00006H
@@R_INIT ini_VECT 04EE0H 00000H
04E76H 00006H
@@R_INIT ini_VECT 04E7CH 00000H
@@R_INIT task_status
04EE0H 00002H
@@R_INIT led_cam 04EE2H 00002H
@@R_INIT led_pow 04EE4H 00006H
@@R_INIT @rom 04EEAH 00000H
@@R_INIS 04EEAH 00000H CSEG UNIT64KP
@@R_INIS @cstart 04EEAH 00000H
@@R_INIS loader 04EEAH 00000H
@@R_INIS pm 04EEAH 00000H
@@R_INIS i2c_ctr 04EEAH 00000H
@@R_INIS main 04EEAH 00000H
@@R_INIS magic 04EEAH 00000H
@@R_INIS WDT 04EEAH 00000H
@@R_INIS i2c_mcu 04EEAH 00000H
@@R_INIS i2c_twl 04EEAH 00000H
@@R_INIS led 04EEAH 00000H
@@R_INIS rtc 04EEAH 00000H
@@R_INIS vreg_ctr 04EEAH 00000H
@@R_INIS vreg_twl 04EEAH 00000H
@@R_INIS adc 04EEAH 00000H
@@R_INIS renge 04EEAH 00000H
@@R_INIS accero 04EEAH 00000H
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
@@R_INIS self_flash
04EEAH 00000H
@@R_INIS sw 04EEAH 00000H
04E86H 00000H
@@R_INIS sw 04E86H 00000H
@@R_INIS task_debug
04EEAH 00000H
04E86H 00000H
@@R_INIS task_misc
04EEAH 00000H
@@R_INIS task_sys 04EEAH 00000H
04E86H 00000H
@@R_INIS task_sys 04E86H 00000H
@@R_INIS pedo_alg_thre_det2
04EEAH 00000H
@@R_INIS ini_VECT 04EEAH 00000H
04E86H 00000H
@@R_INIS ini_VECT 04E86H 00000H
@@R_INIS task_status
04EEAH 00000H
@@R_INIS led_cam 04EEAH 00000H
@@R_INIS led_pow 04EEAH 00000H
@@R_INIS @rom 04EEAH 00000H
@@CALT 04EEAH 00000H CSEG
@@CALT @cstart 04EEAH 00000H
@@CALT loader 04EEAH 00000H
@@CALT pm 04EEAH 00000H
@@CALT i2c_ctr 04EEAH 00000H
@@CALT main 04EEAH 00000H
@@CALT magic 04EEAH 00000H
@@CALT WDT 04EEAH 00000H
@@CALT i2c_mcu 04EEAH 00000H
@@CALT i2c_twl 04EEAH 00000H
@@CALT led 04EEAH 00000H
@@CALT rtc 04EEAH 00000H
@@CALT vreg_ctr 04EEAH 00000H
@@CALT vreg_twl 04EEAH 00000H
@@CALT adc 04EEAH 00000H
@@CALT renge 04EEAH 00000H
@@CALT accero 04EEAH 00000H
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
@@CALT self_flash
04EEAH 00000H
@@CALT sw 04EEAH 00000H
04E86H 00000H
@@CALT sw 04E86H 00000H
@@CALT task_debug
04EEAH 00000H
04E86H 00000H
@@CALT task_misc
04EEAH 00000H
@@CALT task_sys 04EEAH 00000H
04E86H 00000H
@@CALT task_sys 04E86H 00000H
@@CALT pedo_alg_thre_det2
04EEAH 00000H
@@CALT ini_VECT 04EEAH 00000H
04E86H 00000H
@@CALT ini_VECT 04E86H 00000H
@@CALT task_status
04EEAH 00000H
@@CALT led_cam 04EEAH 00000H
@@CALT led_pow 04EEAH 00000H
@@RLINIT 04EEAH 00000H CSEG UNIT64KP
@@RLINIT loader 04EEAH 00000H
@@RLINIT pm 04EEAH 00000H
@@RLINIT i2c_ctr 04EEAH 00000H
@@RLINIT main 04EEAH 00000H
@@RLINIT magic 04EEAH 00000H
@@RLINIT WDT 04EEAH 00000H
@@RLINIT i2c_mcu 04EEAH 00000H
@@RLINIT i2c_twl 04EEAH 00000H
@@RLINIT led 04EEAH 00000H
@@RLINIT rtc 04EEAH 00000H
@@RLINIT vreg_ctr 04EEAH 00000H
@@RLINIT vreg_twl 04EEAH 00000H
@@RLINIT adc 04EEAH 00000H
@@RLINIT renge 04EEAH 00000H
@@RLINIT accero 04EEAH 00000H
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
@@RLINIT self_flash
04EEAH 00000H
@@RLINIT sw 04EEAH 00000H
04E86H 00000H
@@RLINIT sw 04E86H 00000H
@@RLINIT task_debug
04EEAH 00000H
04E86H 00000H
@@RLINIT task_misc
04EEAH 00000H
@@RLINIT task_sys 04EEAH 00000H
04E86H 00000H
@@RLINIT task_sys 04E86H 00000H
@@RLINIT pedo_alg_thre_det2
04EEAH 00000H
@@RLINIT ini_VECT 04EEAH 00000H
04E86H 00000H
@@RLINIT ini_VECT 04E86H 00000H
@@RLINIT task_status
04EEAH 00000H
@@RLINIT led_cam 04EEAH 00000H
@@RLINIT led_pow 04EEAH 00000H
@@RLINIT @rom 04EEAH 00000H
@@CODEL 04EEAH 00000H CSEG
@@CODEL pm 04EEAH 00000H
@@CODEL i2c_ctr 04EEAH 00000H
@@CODEL magic 04EEAH 00000H
@@CODEL i2c_twl 04EEAH 00000H
@@CODEL led 04EEAH 00000H
@@CODEL rtc 04EEAH 00000H
@@CODEL vreg_ctr 04EEAH 00000H
@@CODEL vreg_twl 04EEAH 00000H
@@CODEL adc 04EEAH 00000H
@@CODEL renge 04EEAH 00000H
@@CODEL accero 04EEAH 00000H
@@CODEL sw 04EEAH 00000H
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
@@CODEL task_misc
04EEAH 00000H
@@CODEL task_sys 04EEAH 00000H
04E86H 00000H
@@CODEL task_sys 04E86H 00000H
@@CODEL pedo_alg_thre_det2
04EEAH 00000H
@@CODEL ini_VECT 04EEAH 00000H
@@CODEL led_cam 04EEAH 00000H
@@CODEL led_pow 04EEAH 00000H
@@LCODEL 04EEAH 00008H CSEG
@@LCODEL abs 04EEAH 00008H
* gap * 04EF2H 00104H
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
MGC_TAIL 04FF6H 0000AH CSEG AT
MGC_TAIL magic 04FF6H 0000AH

View File

@ -38,8 +38,8 @@ bit temp_zone_charge_disable; //
u8 pmic_version;
u8 mgic_version[2];
static err sent_cmd_mgic_2B( u8 reg, u16 dat );
static err read_cmd_mgic_2B( u8 reg, u8* dat );
static err send_cmd_mgic_2B( u8 reg, u16 dat );
static err read_mgic_2B( u8 reg, u8* dat );
// ========================================================
@ -243,7 +243,7 @@ void pm_chk_adapter()
// 電池残量が1%台で、アダプタ有りの時には本体が起動し、ゲームが動くが
// 1%台に回復する前にアダプタが抜けたとき、割り込みを入れないと期待通りの
// 動作でない。特別対応のためここで
if( read_cmd_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS )
if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS )
{
bt_volt16 = ( temp_v[0] * 256 + temp_v[1] );
}
@ -391,7 +391,7 @@ static void BT_mgic_quick_start()
wait_ms( 10 ); // MGICの起動に掛かる
// 0. バッテリ残量IC クイックスタート
sent_cmd_mgic_2B( BT_GAUGE_REG_MODE, swap_endian_16( 0x4000 ) );
send_cmd_mgic_2B( BT_GAUGE_REG_MODE, swap_endian_16( 0x4000 ) );
wait_ms( 150 );
}
@ -408,8 +408,8 @@ static void BT_mgic_init()
/*
// -1. リセットをかけてみる
!
i2c_sent_buff_2B._u16 = swap_endian_16( MGIC_CMD_RESET );
sent_cmd_mgic_2B( BT_GAUGE_REG_COMMAND ); // こいつはNACKを返す
i2c_send_buff_2B._u16 = swap_endian_16( MGIC_CMD_RESET );
send_cmd_mgic_2B( BT_GAUGE_REG_COMMAND ); // こいつはNACKを返す
*/
if( system_status.model != MODEL_JIKKI )
@ -419,15 +419,15 @@ static void BT_mgic_init()
}
// 1. ロック解除
if( sent_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( MGIC_CMD_UNLOCK_KEY ) ) != ERR_SUCCESS )
if( send_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( MGIC_CMD_UNLOCK_KEY ) ) != ERR_SUCCESS )
{
// 残量IC NACK
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR;
return;
// おしまい
}
vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_GASGAUGE_ERR;
vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_MGIC_ERR;
// wait_ms( 5 + 1 ); 前にウェイト入れてるので不要
@ -435,10 +435,10 @@ static void BT_mgic_init()
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
// 3. 一時的にOCVを変更
sent_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( BT_OCV[ battery_manufacturer ] )); // マジックナンバー的なもの。メーカー指定
// 4. 一時的にRCOMPを変更
sent_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, swap_endian_16( 0xFF00 ) );
send_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, swap_endian_16( 0xFF00 ) );
// 5.メーカー別パラメータのロード
{
@ -478,7 +478,7 @@ static void BT_mgic_init()
wait_ms( 150 + 15 );
// 7. OCVに「とある値」を書く
sent_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( BT_OCV[ battery_manufacturer ] ) ); // マジックナンバー的なもの。メーカー指定
// 8. 150600ms待つ。600msは厳守
wait_ms( 150 + 15 );
@ -498,7 +498,7 @@ static void BT_mgic_init()
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
// 11. ロック
sent_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( 0x0000 ) ); // lock key
send_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( 0x0000 ) ); // lock key
}
@ -559,13 +559,13 @@ task_status_immed tski_BT_temp_update( )
}
_dbg_rcomp = newrcomp;
if( sent_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, newrcomp ) == ERR_SUCCESS ) // swap不要
if( send_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, newrcomp ) == ERR_SUCCESS ) // swap不要
{
rawdat_old = raw_adc_temperature;
}
else
{
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR;
}
}
}
@ -602,7 +602,7 @@ void BT_get_left(){
{
// 白箱 //
// 電池残量
if( read_cmd_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
if( read_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
{
// エミュレーション機能がおかしい
vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
@ -615,7 +615,7 @@ void BT_get_left(){
//*
// 電池電圧
if( read_cmd_mgic_2B( BT_GAUGE_REG_VCELL, temp_fuel ) == ERR_SUCCESS )
if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_fuel ) == ERR_SUCCESS )
{
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_fuel[0];
}
@ -632,10 +632,10 @@ void BT_get_left(){
u8 temp_force_fuel_left;
// 残量リード
if( read_cmd_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
if( read_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
{
// 残量ICがNACK …バッテリはずれた
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR;
bt_authorized = false;
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
system_status.force_off = true;
@ -661,7 +661,7 @@ void BT_get_left(){
// 電圧でキャップ
if( read_cmd_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS )
if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS )
{
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_v[0];
@ -847,7 +847,7 @@ err PM_LCD_on( )
void PM_LCD_off()
{
// BLついてたら消す。// チェックするのは割り込みの関係
if( ( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL ) & 0x03 ) != 0 )
if( ( read_pmic( PM_REG_ADRS_BL ) & 0x03 ) != 0 )
{
u8 tot;
@ -870,7 +870,7 @@ void PM_LCD_off()
SPFL_LCD_AMOL_HV_CONT = 0; // 他のファミリでも弊害ないし
// 50msとか待つし、確認しましょうかね…
if( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD ) != 0 )
if( read_pmic( PM_REG_ADRS_VDD_LCD ) != 0 )
{
if( system_status.family == FAMILY_SPFL )
{
@ -903,7 +903,7 @@ err PM_BL_set( u8 dat )
// RMWを行う
// Read
blset = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL ) ;
blset = read_pmic( PM_REG_ADRS_BL );
// Modify
// ue
@ -935,7 +935,7 @@ err PM_BL_set( u8 dat )
{
wait_ms( 16 + 10 );
}
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, blset );
send_cmd_pmic( PM_REG_ADRS_BL, blset );
#if 0
// SoCがPWMを出すようレジスタをセットしてから遅延が有るため、ステータスを先に
@ -971,8 +971,8 @@ err PM_BL_set( u8 dat )
======================================================== */
void PM_LCD_vcom_set( )
{
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_DAC1, vreg_ctr[VREG_C_VCOM_T] ); // がっかりなことに、PMICはバースト書き込み不可
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_DAC2, vreg_ctr[VREG_C_VCOM_B] );
send_cmd_pmic( PM_REG_ADRS_POW_DAC1, vreg_ctr[VREG_C_VCOM_T] ); // がっかりなことに、PMICはバースト書き込み不可
send_cmd_pmic( PM_REG_ADRS_POW_DAC2, vreg_ctr[VREG_C_VCOM_B] );
return;
}
@ -1028,8 +1028,8 @@ err PM_sys_pow_on( )
}
// 電源周りIC情報
pmic_version = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
read_cmd_mgic_2B( BT_GAUGE_REG_VERSION, mgic_version );
pmic_version = read_pmic( PM_REG_ADRS_VER );
read_mgic_2B( BT_GAUGE_REG_VERSION, mgic_version );
// リセット解除など。システム起動!
PM_reset_neg();
@ -1262,13 +1262,23 @@ void codec_reg_init()
err sent_cmd_mgic_2B( u8 reg, u16 dat ) // 送信バッファは固定
err send_cmd_mgic_2B( u8 reg, u16 dat ) // 送信バッファは固定
{
u16 temp = dat;
return iic_mcu_write( IIC_SLA_BT_GAUGE, reg, 2, &temp ); // DMA転送するので送信データバッファのポインタがどうせ必要
}
err read_cmd_mgic_2B( u8 reg, u8* dat ) // 送信バッファは固定
err read_mgic_2B( u8 reg, u8* dat ) // 送信バッファは固定
{
return iic_mcu_read( IIC_SLA_BT_GAUGE, reg, 2, dat );
}
err send_cmd_pmic( u8 reg, u8 dat )
{
return iic_mcu_write_a_byte( IIC_SLA_PMIC, reg, dat );
}
u8 read_pmic( u8 reg )
{
return iic_mcu_read_a_byte( IIC_SLA_PMIC, reg );
}

View File

@ -161,47 +161,51 @@ task_status_immed tski_PM_LCD_off();
task_status_immed tski_PM_BL_set();
err send_cmd_pmic( u8 reg, u8 dat );
u8 read_pmic( u8 reg );
#define PM_Chg_Stop() { BT_TEMP_P = 0; BT_CHG_DISABLE(); LED_CHARGE = 0; bt_authorized = false; }
//  これを呼ぶ前に、現在温度を教えておく必要があります。
#define PM_reset() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, 0x00 ) )
#define PM_reset() ( send_cmd_pmic( PM_REG_ADRS_CONT, 0x00 ) )
//=========================================================
// 元栓 //
#define PM_LDSW_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, PM_REG_BIT_LDSW ))
#define PM_LDSW_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, 0 ))
#define PM_LDSW_on() ( send_cmd_pmic( PM_REG_ADRS_CONT, PM_REG_BIT_LDSW ))
#define PM_LDSW_off() ( send_cmd_pmic( PM_REG_ADRS_CONT, 0 ))
// システム電源 //
#define PM_VDD_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, PM_REG_BIT_VDD ))
#define PM_VDD50A_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, ( PM_REG_BIT_VDD | PM_REG_BIT_VDD50A )))
#define PM_VDD_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, 0 ))
#define PM_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, 0 ))
#define PM_VDD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, PM_REG_BIT_VDD ))
#define PM_VDD50A_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, ( PM_REG_BIT_VDD | PM_REG_BIT_VDD50A )))
#define PM_VDD_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, 0 ))
#define PM_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, 0 ))
#define PM_VDD_normMode() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_1R15 | PM_REG_BIT_VDD_PWM ))
#define PM_VDD_ecoMode() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_0R90 | PM_REG_BIT_VDD_AUTO ))
#define PM_VDD_normMode() ( send_cmd_pmic( PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_1R15 | PM_REG_BIT_VDD_PWM ))
#define PM_VDD_ecoMode() ( send_cmd_pmic( PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_0R90 | PM_REG_BIT_VDD_AUTO ))
// ほか //
#define PM_reset_neg() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW | PM_REG_BIT_nRST1 )))
#define PM_reset_ast() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW )))
#define PM_chk_LDSW() ( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT ) & PM_REG_BIT_LDSW )
#define PM_reset_neg() ( send_cmd_pmic( PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW | PM_REG_BIT_nRST1 )))
#define PM_reset_ast() ( send_cmd_pmic( PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW )))
#define PM_chk_LDSW() ( read_pmic( PM_REG_ADRS_CONT ) & PM_REG_BIT_LDSW )
// ↑ 0 だと異常
// 液晶系電源 //
#define PM_VDDLCD_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, PM_REG_BIT_VDDLCD ))
#define PM_TCOM_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_TCOM )))
#define PM_VCS_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_VCS | PM_REG_BIT_LCD_TCOM )))
#define PM_TCOM_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_VCS )))
#define PM_VDDLCD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, PM_REG_BIT_VDDLCD ))
#define PM_TCOM_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_TCOM )))
#define PM_VCS_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_VCS | PM_REG_BIT_LCD_TCOM )))
#define PM_TCOM_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_VCS )))
#define PM_TCOM_VCS_off() PM_VDDLCD_on()
#define PM_VDDLCD_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, 0 ) )
#define PM_VDDLCD_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, 0 ) )
#define PM_set_BL( dat ) ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, dat ) )
#define PM_set_adc1( dat ) ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_DAC1, dat ) )
#define PM_set_adc2( dat ) ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_DAC2, dat ) )
#define PM_set_BL( dat ) ( send_cmd_pmic( PM_REG_ADRS_BL, dat ) )
#define PM_set_adc1( dat ) ( send_cmd_pmic( PM_REG_ADRS_POW_DAC1, dat ) )
#define PM_set_adc2( dat ) ( send_cmd_pmic( PM_REG_ADRS_POW_DAC2, dat ) )
#endif // __PM__

View File

@ -207,9 +207,9 @@ void tsk_sys( )
{
u8 bl_status_temp;
bl_status_temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL );
bl_status_temp = read_pmic( PM_REG_ADRS_BL );
vreg_ctr[ VREG_C_STATUS ] |= (( bl_status_temp & 0x03 ) << 5 );
set_bit( ( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD ) != 0 ),
set_bit( ( read_pmic( PM_REG_ADRS_VDD_LCD ) != 0 ),
vreg_ctr[ VREG_C_STATUS ], REG_BIT_LCD_POW );
BT_chk();
}
@ -521,7 +521,7 @@ static void chk_emergencyExit(){
else
{
// (TSボードで手動で/デバッガが)リセットをかけたらしい
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, 0 );
send_cmd_pmic( PM_REG_ADRS_BL, 0 );
vreg_ctr[VREG_C_STATUS] = ( vreg_ctr[VREG_C_STATUS] & 0b10011111 );
vreg_ctr[VREG_C_COMMAND0] |= REG_BIT_RESET1_REQ;
renge_task_immed_add( tski_do_command0 );

View File

@ -6,7 +6,7 @@
#define IIC_C_SLAVEADDRESS 0x4A
#define IIC_C_SLAVEADDRESS_DMY 0x4C
#define IIC_SLA_DCP 0x50
//#define IIC_SLA_DCP 0x50
#ifdef _debug_led_
# define DBG_LED_on { PM2.1 = 0; P2.1 = 1; }

View File

@ -27,7 +27,7 @@
// twl bl のミラー[1: ( 1 << 3 )
// 0]( 1 << 2 )
#define REG_BIT_ACCERO_ERR ( 1 << 1 )
#define REG_BIT_GASGAUGE_ERR ( 1 << 0 )
#define REG_BIT_MGIC_ERR ( 1 << 0 )
// VREG_C_IRQ0
#define REG_BIT_IRQ_WDT_RESET ( 1 << 7 )