リファクタリング

・Volをレジスタ即値にするの削除
・MGIC初期化、2バイトライトばかりなのでくくりだし。
84Byte節約。

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@336 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
n2232 2011-06-08 04:43:29 +00:00
parent 01684ac6a9
commit cf3f064533
9 changed files with 757 additions and 780 deletions

View File

@ -155,7 +155,7 @@ void vol_reset()
======================================================== */
task_status_immed tski_vol_update()
{
static u8 sent_index, sent_index_slider, sent_index_twl;
static u8 sent_index, sent_index_twl;
static u8 sent_data;
static bit last_modifyer_is_twl; // 0 = ctr
@ -167,6 +167,8 @@ task_status_immed tski_vol_update()
// どの音量にするの? //
if( vreg_ctr[ VREG_C_VOL_OPTION ] & ( REG_BIT_VOL_UPDATE_TO_SLIDER ) )
{
// debug //
NOP();
// 最優先 スライダに上書き
sent_index = vol_data_ctr;
vreg_ctr[ VREG_C_VOL_OPTION ] &= ~REG_BIT_VOL_UPDATE_TO_SLIDER;
@ -176,16 +178,7 @@ task_status_immed tski_vol_update()
// スライダ
vol_changed_by_ctr = false;
last_modifyer_is_twl = false;
if( vreg_ctr[ VREG_C_VOL_OPTION ] & REG_BIT_VOL_FORCE_REG )
{
// レジスタから強制セット
sent_index_slider = vreg_ctr[ VREG_C_VOL_DIGITAL ];
}
else
{
sent_index_slider = vol_data_ctr; // CTRスライダ
}
sent_index = sent_index_slider;
sent_index = vol_data_ctr;
}
else if( vol_changed_by_twl )
{
@ -212,15 +205,13 @@ task_status_immed tski_vol_update()
}
else
{
sent_index = sent_index_slider;
sent_index = vol_data_ctr;
}
}
// レジスタの更新 //
vreg_ctr[ VREG_C_SND_VOL ] = sent_index;
// スケーリング
#if 1
// if( sent_index == 1 )
if( sent_index == 0 )
{
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = 0;
@ -233,16 +224,6 @@ task_status_immed tski_vol_update()
{
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = sent_index/2 ;
}
#else
if( sent_index == 1 )
{
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = 1;
}
else
{
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = sent_index/2 ;
}
#endif
// 8段階のレベル化。 割り込みを入れるのに必要
{

Binary file not shown.

View File

@ -5,18 +5,16 @@
Command: -yc:\program files (x86)\nec electronics tools\dev -_msgoff -
obsr.lmf ..\..\..\Program Files (x86)\NEC Electronics Tools\C
C78K0R\W2.13\lib78k0r\s0rm.rel -gi1B339499E033F240BFAAh -pbsr
_k0r.map -nkd -gb7EFBFFh -bC:\Program Files (x86)\NEC Electro
nics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib -bcl0rdm.lib -bcl0r
m.lib -bcl0rmf.lib -iC:\Program Files (x86)\NEC Electronics T
ools\CC78K0R\W2.13\lib78k0r -dbsr_mcu.dr -s -w0 obj\loader.re
l obj\pm.rel obj\i2c_ctr.rel obj\main.rel obj\magic.rel obj\W
DT.rel obj\i2c_mcu.rel obj\i2c_twl.rel obj\led.rel obj\rtc.re
l obj\vreg_ctr.rel obj\vreg_twl.rel obj\adc.rel obj\renge.rel
obj\accero.rel obj\self_flash.rel obj\sw.rel obj\task_debug.
rel obj\task_misc.rel obj\task_sys.rel obj\pedo_alg_thre_det2
.rel obj\ini_VECT.rel obj\task_status.rel obj\led_cam.rel obj
\led_pow.rel
C78K0R\W2.13\lib78k0r\s0rm.rel -go85h,0FC00h,1024 -gi1B339499
E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -bC:\Program File
s (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib
-bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -iC:\Program Files (x86
)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r -dbsr_mcu.dr -
s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.re
l i2c_mcu.rel i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_t
wl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel tas
k_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel
ini_VECT.rel task_status.rel led_cam.rel led_pow.rel
Para-file:
Out-file: bsr.lmf
Map-file: bsr_k0r.map
@ -25,9 +23,9 @@ Direc-file:bsr_mcu.dr
*** Link information ***
65 output segment(s)
3E70H byte(s) real data
5778 symbol(s) defined
67 output segment(s)
3E28H byte(s) real data
5755 symbol(s) defined
*** Memory map ***
@ -59,7 +57,8 @@ Direc-file:bsr_mcu.dr
LDR_CNSL 00002H 00000H CSEG PAGE64KP
LDR_CNSL task_status
00002H 00000H
* gap * 00002H 0000EH
??NMIROM 00002H 00002H CSEG
* gap * 00004H 0000CH
@@VECT10 00010H 00004H CSEG AT
@@VECT10 ini_VECT 00010H 00004H
* gap * 00014H 00008H
@ -100,53 +99,54 @@ Direc-file:bsr_mcu.dr
LDR_CODL task_status
000C4H 00000H
?CSEGSI 000C4H 0000AH CSEG
LDR_CODE 000CEH 00955H CSEG
LDR_CODE loader 000CEH 00218H
LDR_CODE main 002E6H 00046H
LDR_CODE WDT 0032CH 00000H
LDR_CODE i2c_mcu 0032CH 002F0H
?OCDSTAD 000CEH 0000AH CSEG
LDR_CODE 000D8H 00955H CSEG
LDR_CODE loader 000D8H 00218H
LDR_CODE main 002F0H 00046H
LDR_CODE WDT 00336H 00000H
LDR_CODE i2c_mcu 00336H 002F0H
LDR_CODE self_flash
0061CH 0037FH
00626H 0037FH
LDR_CODE task_debug
0099BH 00000H
009A5H 00000H
LDR_CODE task_status
0099BH 00088H
FSL_CODE 00A23H 00322H CSEG
009A5H 00088H
FSL_CODE 00A2DH 00322H CSEG
FSL_CODE fsl_block_cmd
00A23H 0002BH
00A2DH 0002BH
FSL_CODE fsl_block_check
00A4EH 00013H
00A58H 00013H
FSL_CODE fsl_common
00A61H 0014FH
00A6BH 0014FH
FSL_CODE fsl_reset
00BB0H 00001H
00BBAH 00001H
FSL_CODE fsl_si_ibf
00BB1H 00064H
00BBBH 00064H
FSL_CODE fsl_phySwap
00C15H 0004DH
00C1FH 0004DH
FSL_CODE fsl_si_common
00C62H 00061H
FSL_CODE fsl_swap 00CC3H 00030H
00C6CH 00061H
FSL_CODE fsl_swap 00CCDH 00030H
FSL_CODE fsl_write
00CF3H 00052H
@@LCODE 00D45H 00277H CSEG
@@LCODE @cstart 00D45H 0006DH
@@LCODE @imul 00DB2H 00011H
@@LCODE @lumul 00DC3H 0002BH
@@LCODE @isdiv 00DEEH 00022H
@@LCODE @iudiv 00E10H 0002DH
@@LCODE @isrem 00E3DH 00021H
@@LCODE @iurem 00E5EH 0002FH
@@LCODE @lsdiv 00E8DH 00039H
@@LCODE @ludiv 00EC6H 0003FH
@@LCODE @divuw 00F05H 00034H
@@LCODE @ladd 00F39H 0000FH
@@LCODE @llsh 00F48H 0001BH
@@LCODE @lursh 00F63H 0001FH
@@LCODE @iscmp 00F82H 0000CH
@@LCODE @lband 00F8EH 00014H
@@LCODE @bcdtob 00FA2H 0001AH
* gap * 00FBCH 0003AH
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
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 027B0H CSEG
ROM_CODE pm 02286H 00A93H
ROM_CODE i2c_ctr 02D19H 00060H
ROM_CODE i2c_twl 02D79H 0005EH
ROM_CODE led 02DD7H 00265H
ROM_CODE rtc 0303CH 000E0H
ROM_CODE vreg_ctr 0311CH 00481H
ROM_CODE vreg_twl 0359DH 000FAH
ROM_CODE adc 03697H 002FCH
ROM_CODE renge 03993H 00190H
ROM_CODE accero 03B23H 0013DH
ROM_CODE sw 03C60H 00178H
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 task_misc
03DD8H 0017FH
ROM_CODE task_sys 03F57H 00380H
03D79H 0017FH
ROM_CODE task_sys 03EF8H 0038BH
ROM_CODE pedo_alg_thre_det2
042D7H 00502H
ROM_CODE led_cam 047D9H 000DBH
ROM_CODE led_pow 048B4H 00182H
@@BASE 04A36H 004C6H CSEG BASE
@@BASE loader 04A36H 00000H
@@BASE pm 04A36H 0003FH
@@BASE i2c_ctr 04A75H 0018DH
@@BASE main 04C02H 00000H
@@BASE magic 04C02H 00000H
@@BASE WDT 04C02H 00000H
@@BASE i2c_mcu 04C02H 0009CH
@@BASE i2c_twl 04C9EH 000CBH
@@BASE led 04D69H 00000H
@@BASE rtc 04D69H 0005EH
@@BASE vreg_ctr 04DC7H 00000H
@@BASE vreg_twl 04DC7H 00000H
@@BASE adc 04DC7H 000B3H
@@BASE renge 04E7AH 00000H
@@BASE accero 04E7AH 0004AH
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
@@BASE self_flash
04EC4H 00000H
@@BASE sw 04EC4H 00000H
04E70H 00000H
@@BASE sw 04E70H 00000H
@@BASE task_debug
04EC4H 00000H
04E70H 00000H
@@BASE task_misc
04EC4H 00000H
@@BASE task_sys 04EC4H 00000H
04E70H 00000H
@@BASE task_sys 04E70H 00000H
@@BASE pedo_alg_thre_det2
04EC4H 00000H
@@BASE ini_VECT 04EC4H 00038H
04E70H 00000H
@@BASE ini_VECT 04E70H 00038H
@@BASE task_status
04EFCH 00000H
@@BASE led_cam 04EFCH 00000H
@@BASE led_pow 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL @cstart 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL pm 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL i2c_ctr 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL i2c_twl 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL led 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL rtc 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL vreg_ctr 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL vreg_twl 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL adc 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL renge 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL accero 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL sw 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
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
@@CNSTL task_misc
04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL task_sys 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL task_sys 04EA8H 00000H
@@CNSTL 04EA8H 00000H CSEG PAGE64KP
@@CNSTL pedo_alg_thre_det2
04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL ini_VECT 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL led_cam 04EFCH 00000H
@@CNSTL 04EFCH 00000H CSEG PAGE64KP
@@CNSTL led_pow 04EFCH 00000H
@@CNSTL 04EFCH 0000AH CSEG PAGE64KP
@@CNSTL @bcdtob 04EFCH 0000AH
@@R_INIT 04F06H 00038H CSEG UNIT64KP
@@R_INIT @cstart 04F06H 00000H
@@R_INIT loader 04F06H 00000H
@@R_INIT pm 04F06H 00002H
@@R_INIT i2c_ctr 04F08H 00002H
@@R_INIT main 04F0AH 00000H
@@R_INIT magic 04F0AH 00000H
@@R_INIT WDT 04F0AH 00000H
@@R_INIT i2c_mcu 04F0AH 00000H
@@R_INIT i2c_twl 04F0AH 00000H
@@R_INIT led 04F0AH 00000H
@@R_INIT rtc 04F0AH 00000H
@@R_INIT vreg_ctr 04F0AH 00000H
@@R_INIT vreg_twl 04F0AH 00000H
@@R_INIT adc 04F0AH 0000CH
@@R_INIT renge 04F16H 00014H
@@R_INIT accero 04F2AH 00000H
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
@@R_INIT self_flash
04F2AH 00000H
@@R_INIT sw 04F2AH 00002H
04ED6H 00000H
@@R_INIT sw 04ED6H 00002H
@@R_INIT task_debug
04F2CH 00000H
04ED8H 00000H
@@R_INIT task_misc
04F2CH 00000H
@@R_INIT task_sys 04F2CH 00002H
04ED8H 00000H
@@R_INIT task_sys 04ED8H 00002H
@@R_INIT pedo_alg_thre_det2
04F2EH 00006H
@@R_INIT ini_VECT 04F34H 00000H
04EDAH 00006H
@@R_INIT ini_VECT 04EE0H 00000H
@@R_INIT task_status
04F34H 00002H
@@R_INIT led_cam 04F36H 00002H
@@R_INIT led_pow 04F38H 00006H
@@R_INIT @rom 04F3EH 00000H
@@R_INIS 04F3EH 00000H CSEG UNIT64KP
@@R_INIS @cstart 04F3EH 00000H
@@R_INIS loader 04F3EH 00000H
@@R_INIS pm 04F3EH 00000H
@@R_INIS i2c_ctr 04F3EH 00000H
@@R_INIS main 04F3EH 00000H
@@R_INIS magic 04F3EH 00000H
@@R_INIS WDT 04F3EH 00000H
@@R_INIS i2c_mcu 04F3EH 00000H
@@R_INIS i2c_twl 04F3EH 00000H
@@R_INIS led 04F3EH 00000H
@@R_INIS rtc 04F3EH 00000H
@@R_INIS vreg_ctr 04F3EH 00000H
@@R_INIS vreg_twl 04F3EH 00000H
@@R_INIS adc 04F3EH 00000H
@@R_INIS renge 04F3EH 00000H
@@R_INIS accero 04F3EH 00000H
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
@@R_INIS self_flash
04F3EH 00000H
@@R_INIS sw 04F3EH 00000H
04EEAH 00000H
@@R_INIS sw 04EEAH 00000H
@@R_INIS task_debug
04F3EH 00000H
04EEAH 00000H
@@R_INIS task_misc
04F3EH 00000H
@@R_INIS task_sys 04F3EH 00000H
04EEAH 00000H
@@R_INIS task_sys 04EEAH 00000H
@@R_INIS pedo_alg_thre_det2
04F3EH 00000H
@@R_INIS ini_VECT 04F3EH 00000H
04EEAH 00000H
@@R_INIS ini_VECT 04EEAH 00000H
@@R_INIS task_status
04F3EH 00000H
@@R_INIS led_cam 04F3EH 00000H
@@R_INIS led_pow 04F3EH 00000H
@@R_INIS @rom 04F3EH 00000H
@@CALT 04F3EH 00000H CSEG
@@CALT @cstart 04F3EH 00000H
@@CALT loader 04F3EH 00000H
@@CALT pm 04F3EH 00000H
@@CALT i2c_ctr 04F3EH 00000H
@@CALT main 04F3EH 00000H
@@CALT magic 04F3EH 00000H
@@CALT WDT 04F3EH 00000H
@@CALT i2c_mcu 04F3EH 00000H
@@CALT i2c_twl 04F3EH 00000H
@@CALT led 04F3EH 00000H
@@CALT rtc 04F3EH 00000H
@@CALT vreg_ctr 04F3EH 00000H
@@CALT vreg_twl 04F3EH 00000H
@@CALT adc 04F3EH 00000H
@@CALT renge 04F3EH 00000H
@@CALT accero 04F3EH 00000H
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
@@CALT self_flash
04F3EH 00000H
@@CALT sw 04F3EH 00000H
04EEAH 00000H
@@CALT sw 04EEAH 00000H
@@CALT task_debug
04F3EH 00000H
04EEAH 00000H
@@CALT task_misc
04F3EH 00000H
@@CALT task_sys 04F3EH 00000H
04EEAH 00000H
@@CALT task_sys 04EEAH 00000H
@@CALT pedo_alg_thre_det2
04F3EH 00000H
@@CALT ini_VECT 04F3EH 00000H
04EEAH 00000H
@@CALT ini_VECT 04EEAH 00000H
@@CALT task_status
04F3EH 00000H
@@CALT led_cam 04F3EH 00000H
@@CALT led_pow 04F3EH 00000H
@@RLINIT 04F3EH 00000H CSEG UNIT64KP
@@RLINIT loader 04F3EH 00000H
@@RLINIT pm 04F3EH 00000H
@@RLINIT i2c_ctr 04F3EH 00000H
@@RLINIT main 04F3EH 00000H
@@RLINIT magic 04F3EH 00000H
@@RLINIT WDT 04F3EH 00000H
@@RLINIT i2c_mcu 04F3EH 00000H
@@RLINIT i2c_twl 04F3EH 00000H
@@RLINIT led 04F3EH 00000H
@@RLINIT rtc 04F3EH 00000H
@@RLINIT vreg_ctr 04F3EH 00000H
@@RLINIT vreg_twl 04F3EH 00000H
@@RLINIT adc 04F3EH 00000H
@@RLINIT renge 04F3EH 00000H
@@RLINIT accero 04F3EH 00000H
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
@@RLINIT self_flash
04F3EH 00000H
@@RLINIT sw 04F3EH 00000H
04EEAH 00000H
@@RLINIT sw 04EEAH 00000H
@@RLINIT task_debug
04F3EH 00000H
04EEAH 00000H
@@RLINIT task_misc
04F3EH 00000H
@@RLINIT task_sys 04F3EH 00000H
04EEAH 00000H
@@RLINIT task_sys 04EEAH 00000H
@@RLINIT pedo_alg_thre_det2
04F3EH 00000H
@@RLINIT ini_VECT 04F3EH 00000H
04EEAH 00000H
@@RLINIT ini_VECT 04EEAH 00000H
@@RLINIT task_status
04F3EH 00000H
@@RLINIT led_cam 04F3EH 00000H
@@RLINIT led_pow 04F3EH 00000H
@@RLINIT @rom 04F3EH 00000H
@@CODEL 04F3EH 00000H CSEG
@@CODEL pm 04F3EH 00000H
@@CODEL i2c_ctr 04F3EH 00000H
@@CODEL magic 04F3EH 00000H
@@CODEL i2c_twl 04F3EH 00000H
@@CODEL led 04F3EH 00000H
@@CODEL rtc 04F3EH 00000H
@@CODEL vreg_ctr 04F3EH 00000H
@@CODEL vreg_twl 04F3EH 00000H
@@CODEL adc 04F3EH 00000H
@@CODEL renge 04F3EH 00000H
@@CODEL accero 04F3EH 00000H
@@CODEL sw 04F3EH 00000H
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
@@CODEL task_misc
04F3EH 00000H
@@CODEL task_sys 04F3EH 00000H
04EEAH 00000H
@@CODEL task_sys 04EEAH 00000H
@@CODEL pedo_alg_thre_det2
04F3EH 00000H
@@CODEL ini_VECT 04F3EH 00000H
@@CODEL led_cam 04F3EH 00000H
@@CODEL led_pow 04F3EH 00000H
@@LCODEL 04F3EH 00008H CSEG
@@LCODEL abs 04F3EH 00008H
* gap * 04F46H 000B0H
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
MGC_TAIL 04FF6H 0000AH CSEG AT
MGC_TAIL magic 04FF6H 0000AH
@ -439,7 +439,7 @@ Direc-file:bsr_mcu.dr
BASE ADDRESS=FF900H SIZE=00500H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
@@DATA FF900H 00434H DSEG BASEP
@@DATA FF900H 00432H DSEG BASEP
@@DATA @cstart FF900H 00002H
@@DATA loader FF902H 00000H
@@DATA pm FF902H 0001AH
@ -453,192 +453,192 @@ Direc-file:bsr_mcu.dr
@@DATA rtc FFBC6H 00008H
@@DATA vreg_ctr FFBCEH 0005EH
@@DATA vreg_twl FFC2CH 00010H
@@DATA adc FFC3CH 0001AH
@@DATA renge FFC56H 00016H
@@DATA accero FFC6CH 00002H
@@DATA adc FFC3CH 00018H
@@DATA renge FFC54H 00016H
@@DATA accero FFC6AH 00002H
@@DATA self_flash
FFC6EH 00002H
@@DATA sw FFC70H 0000AH
FFC6CH 00002H
@@DATA sw FFC6EH 0000AH
@@DATA task_debug
FFC7AH 00000H
FFC78H 00000H
@@DATA task_misc
FFC7AH 00004H
@@DATA task_sys FFC7EH 00002H
FFC78H 00004H
@@DATA task_sys FFC7CH 00002H
@@DATA pedo_alg_thre_det2
FFC80H 000A6H
@@DATA ini_VECT FFD26H 00000H
FFC7EH 000A6H
@@DATA ini_VECT FFD24H 00000H
@@DATA task_status
FFD26H 00002H
@@DATA led_cam FFD28H 00002H
@@DATA led_pow FFD2AH 0000AH
@@DATA @rom FFD34H 00000H
@@INIT FFD34H 00038H DSEG BASEP
@@INIT @cstart FFD34H 00000H
@@INIT loader FFD34H 00000H
@@INIT pm FFD34H 00002H
@@INIT i2c_ctr FFD36H 00002H
@@INIT main FFD38H 00000H
@@INIT magic FFD38H 00000H
@@INIT WDT FFD38H 00000H
@@INIT i2c_mcu FFD38H 00000H
@@INIT i2c_twl FFD38H 00000H
@@INIT led FFD38H 00000H
@@INIT rtc FFD38H 00000H
@@INIT vreg_ctr FFD38H 00000H
@@INIT vreg_twl FFD38H 00000H
@@INIT adc FFD38H 0000CH
@@INIT renge FFD44H 00014H
@@INIT accero FFD58H 00000H
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
@@INIT self_flash
FFD58H 00000H
@@INIT sw FFD58H 00002H
FFD56H 00000H
@@INIT sw FFD56H 00002H
@@INIT task_debug
FFD5AH 00000H
FFD58H 00000H
@@INIT task_misc
FFD5AH 00000H
@@INIT task_sys FFD5AH 00002H
FFD58H 00000H
@@INIT task_sys FFD58H 00002H
@@INIT pedo_alg_thre_det2
FFD5CH 00006H
@@INIT ini_VECT FFD62H 00000H
FFD5AH 00006H
@@INIT ini_VECT FFD60H 00000H
@@INIT task_status
FFD62H 00002H
@@INIT led_cam FFD64H 00002H
@@INIT led_pow FFD66H 00006H
@@INIT @rom FFD6CH 00000H
@@INIS FFD6CH 00000H DSEG UNITP
@@INIS @cstart FFD6CH 00000H
@@INIS loader FFD6CH 00000H
@@INIS pm FFD6CH 00000H
@@INIS i2c_ctr FFD6CH 00000H
@@INIS main FFD6CH 00000H
@@INIS magic FFD6CH 00000H
@@INIS WDT FFD6CH 00000H
@@INIS i2c_mcu FFD6CH 00000H
@@INIS i2c_twl FFD6CH 00000H
@@INIS led FFD6CH 00000H
@@INIS rtc FFD6CH 00000H
@@INIS vreg_ctr FFD6CH 00000H
@@INIS vreg_twl FFD6CH 00000H
@@INIS adc FFD6CH 00000H
@@INIS renge FFD6CH 00000H
@@INIS accero FFD6CH 00000H
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
@@INIS self_flash
FFD6CH 00000H
@@INIS sw FFD6CH 00000H
FFD6AH 00000H
@@INIS sw FFD6AH 00000H
@@INIS task_debug
FFD6CH 00000H
FFD6AH 00000H
@@INIS task_misc
FFD6CH 00000H
@@INIS task_sys FFD6CH 00000H
FFD6AH 00000H
@@INIS task_sys FFD6AH 00000H
@@INIS pedo_alg_thre_det2
FFD6CH 00000H
@@INIS ini_VECT FFD6CH 00000H
FFD6AH 00000H
@@INIS ini_VECT FFD6AH 00000H
@@INIS task_status
FFD6CH 00000H
@@INIS led_cam FFD6CH 00000H
@@INIS led_pow FFD6CH 00000H
@@INIS @rom FFD6CH 00000H
@@DATS FFD6CH 00000H DSEG UNITP
@@DATS @cstart FFD6CH 00000H
@@DATS loader FFD6CH 00000H
@@DATS pm FFD6CH 00000H
@@DATS i2c_ctr FFD6CH 00000H
@@DATS main FFD6CH 00000H
@@DATS magic FFD6CH 00000H
@@DATS WDT FFD6CH 00000H
@@DATS i2c_mcu FFD6CH 00000H
@@DATS i2c_twl FFD6CH 00000H
@@DATS led FFD6CH 00000H
@@DATS rtc FFD6CH 00000H
@@DATS vreg_ctr FFD6CH 00000H
@@DATS vreg_twl FFD6CH 00000H
@@DATS adc FFD6CH 00000H
@@DATS renge FFD6CH 00000H
@@DATS accero FFD6CH 00000H
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
@@DATS self_flash
FFD6CH 00000H
@@DATS sw FFD6CH 00000H
FFD6AH 00000H
@@DATS sw FFD6AH 00000H
@@DATS task_debug
FFD6CH 00000H
FFD6AH 00000H
@@DATS task_misc
FFD6CH 00000H
@@DATS task_sys FFD6CH 00000H
FFD6AH 00000H
@@DATS task_sys FFD6AH 00000H
@@DATS pedo_alg_thre_det2
FFD6CH 00000H
@@DATS ini_VECT FFD6CH 00000H
FFD6AH 00000H
@@DATS ini_VECT FFD6AH 00000H
@@DATS task_status
FFD6CH 00000H
@@DATS led_cam FFD6CH 00000H
@@DATS led_pow FFD6CH 00000H
@@DATS @rom FFD6CH 00000H
FSL_DATA FFD6CH 00010H DSEG UNITP
FFD6AH 00000H
@@DATS led_cam FFD6AH 00000H
@@DATS led_pow FFD6AH 00000H
@@DATS @rom FFD6AH 00000H
FSL_DATA FFD6AH 00010H DSEG UNITP
FSL_DATA fsl_common
FFD6CH 00010H
@@INITL FFD7CH 00000H DSEG UNIT64KP
@@INITL loader FFD7CH 00000H
@@INITL pm FFD7CH 00000H
@@INITL i2c_ctr FFD7CH 00000H
@@INITL main FFD7CH 00000H
@@INITL magic FFD7CH 00000H
@@INITL WDT FFD7CH 00000H
@@INITL i2c_mcu FFD7CH 00000H
@@INITL i2c_twl FFD7CH 00000H
@@INITL led FFD7CH 00000H
@@INITL rtc FFD7CH 00000H
@@INITL vreg_ctr FFD7CH 00000H
@@INITL vreg_twl FFD7CH 00000H
@@INITL adc FFD7CH 00000H
@@INITL renge FFD7CH 00000H
@@INITL accero FFD7CH 00000H
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
@@INITL self_flash
FFD7CH 00000H
@@INITL sw FFD7CH 00000H
FFD7AH 00000H
@@INITL sw FFD7AH 00000H
@@INITL task_debug
FFD7CH 00000H
FFD7AH 00000H
@@INITL task_misc
FFD7CH 00000H
@@INITL task_sys FFD7CH 00000H
FFD7AH 00000H
@@INITL task_sys FFD7AH 00000H
@@INITL pedo_alg_thre_det2
FFD7CH 00000H
@@INITL ini_VECT FFD7CH 00000H
FFD7AH 00000H
@@INITL ini_VECT FFD7AH 00000H
@@INITL task_status
FFD7CH 00000H
@@INITL led_cam FFD7CH 00000H
@@INITL led_pow FFD7CH 00000H
@@INITL @rom FFD7CH 00000H
@@DATAL FFD7CH 00000H DSEG UNIT64KP
@@DATAL loader FFD7CH 00000H
@@DATAL pm FFD7CH 00000H
@@DATAL i2c_ctr FFD7CH 00000H
@@DATAL main FFD7CH 00000H
@@DATAL magic FFD7CH 00000H
@@DATAL WDT FFD7CH 00000H
@@DATAL i2c_mcu FFD7CH 00000H
@@DATAL i2c_twl FFD7CH 00000H
@@DATAL led FFD7CH 00000H
@@DATAL rtc FFD7CH 00000H
@@DATAL vreg_ctr FFD7CH 00000H
@@DATAL vreg_twl FFD7CH 00000H
@@DATAL adc FFD7CH 00000H
@@DATAL renge FFD7CH 00000H
@@DATAL accero FFD7CH 00000H
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
@@DATAL self_flash
FFD7CH 00000H
@@DATAL sw FFD7CH 00000H
FFD7AH 00000H
@@DATAL sw FFD7AH 00000H
@@DATAL task_debug
FFD7CH 00000H
FFD7AH 00000H
@@DATAL task_misc
FFD7CH 00000H
@@DATAL task_sys FFD7CH 00000H
FFD7AH 00000H
@@DATAL task_sys FFD7AH 00000H
@@DATAL pedo_alg_thre_det2
FFD7CH 00000H
@@DATAL ini_VECT FFD7CH 00000H
FFD7AH 00000H
@@DATAL ini_VECT FFD7AH 00000H
@@DATAL task_status
FFD7CH 00000H
@@DATAL led_cam FFD7CH 00000H
@@DATAL led_pow FFD7CH 00000H
@@DATAL @rom FFD7CH 00000H
* gap * FFD7CH 00084H
FFD7AH 00000H
@@DATAL led_cam FFD7AH 00000H
@@DATAL led_pow FFD7AH 00000H
@@DATAL @rom FFD7AH 00000H
* gap * FFD7AH 00086H
MEMORY=RAM2
BASE ADDRESS=FFE20H SIZE=000C0H

Binary file not shown.

View File

@ -38,6 +38,9 @@ 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 void BT_model_detect();
@ -240,7 +243,7 @@ void pm_chk_adapter()
// 電池残量が1%台で、アダプタ有りの時には本体が起動し、ゲームが動くが
// 1%台に回復する前にアダプタが抜けたとき、割り込みを入れないと期待通りの
// 動作でない。特別対応のためここで
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL, 2, temp_v ) == ERR_SUCCESS )
if( read_cmd_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS )
{
bt_volt16 = ( temp_v[0] * 256 + temp_v[1] );
}
@ -385,46 +388,28 @@ void BT_model_detect()
static void BT_mgic_quick_start()
{
union{
u16 _u16; // endian 注意
struct{
u8 lsb;
u8 msb;
}chars;
}dat_16;
wait_ms( 10 ); // MGICの起動に掛かる
dat_16._u16 = swap_endian_16( 0x4000 );
// 0. バッテリ残量IC クイックスタート
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16 );
sent_cmd_mgic_2B( BT_GAUGE_REG_MODE, swap_endian_16( 0x4000 ) );
wait_ms( 150 );
}
#define MGIC_CMD_UNLOCK_KEY 0x4A57
#define MGIC_CMD_RESET 0x5400
static void BT_mgic_init()
{
u8 temp;
u8 origParam[4];
union{
u16 _u16; // endian 注意
struct{
u8 lsb;
u8 msb;
}chars;
}dat_16;
#ifndef _TAIKENDAI_
bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更
bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更
/*
// -1. リセットをかけてみる
!
dat_16._u16 = swap_endian_16( 0x5400 ); // reset
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_COMMAND, 2, &dat_16 ); // こいつはNACKを返す
i2c_sent_buff_2B._u16 = swap_endian_16( MGIC_CMD_RESET );
sent_cmd_mgic_2B( BT_GAUGE_REG_COMMAND ); // こいつはNACKを返す
*/
if( system_status.model != MODEL_JIKKI )
@ -434,8 +419,7 @@ static void BT_mgic_init()
}
// 1. ロック解除
dat_16._u16 = swap_endian_16( 0x4A57 ); // unlock key
if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 ) != ERR_SUCCESS )
if( sent_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;
@ -451,12 +435,10 @@ static void BT_mgic_init()
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
// 3. 一時的にOCVを変更
dat_16._u16 = swap_endian_16( BT_OCV[ battery_manufacturer ] ); // マジックナンバー的なもの。メーカー指定
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_OCV, 2, &dat_16 );
sent_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( BT_OCV[ battery_manufacturer ] )); // マジックナンバー的なもの。メーカー指定
// 4. 一時的にRCOMPを変更
dat_16._u16 = swap_endian_16( 0xFF00 );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 2, &dat_16 );
sent_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, swap_endian_16( 0xFF00 ) );
// 5.メーカー別パラメータのロード
{
@ -488,7 +470,7 @@ static void BT_mgic_init()
for( loop = 0; loop < 4; loop++ )
{
iic_mcu_set_wo_dma( );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 16, p_batt_param + loop*16 );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM + loop*16, 16, p_batt_param + loop*16 );
}
}
@ -496,8 +478,7 @@ static void BT_mgic_init()
wait_ms( 150 + 15 );
// 7. OCVに「とある値」を書く
dat_16._u16 = swap_endian_16( BT_OCV[ battery_manufacturer ] ); // マジックナンバー的なもの。メーカー指定
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_OCV, 2, &dat_16 );
sent_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( BT_OCV[ battery_manufacturer ] ) ); // マジックナンバー的なもの。メーカー指定
// 8. 150600ms待つ。600msは厳守
wait_ms( 150 + 15 );
@ -517,9 +498,7 @@ static void BT_mgic_init()
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
// 11. ロック
dat_16._u16 = swap_endian_16( 0x0000 ); // lock key
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 );
#endif
sent_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( 0x0000 ) ); // lock key
}
@ -578,10 +557,9 @@ task_status_immed tski_BT_temp_update( )
{
newrcomp = 0;
}
newrcomp = newrcomp;
_dbg_rcomp = newrcomp;
if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 2, &newrcomp ) == ERR_SUCCESS )
if( sent_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, newrcomp ) == ERR_SUCCESS ) // swap不要
{
rawdat_old = raw_adc_temperature;
}
@ -624,7 +602,7 @@ void BT_get_left(){
{
// 白箱 //
// 電池残量
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp_fuel ) != ERR_SUCCESS )
if( read_cmd_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
{
// エミュレーション機能がおかしい
vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
@ -637,7 +615,7 @@ void BT_get_left(){
//*
// 電池電圧
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL, 2, temp_fuel ) == ERR_SUCCESS )
if( read_cmd_mgic_2B( BT_GAUGE_REG_VCELL, temp_fuel ) == ERR_SUCCESS )
{
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_fuel[0];
}
@ -654,7 +632,7 @@ void BT_get_left(){
u8 temp_force_fuel_left;
// 残量リード
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp_fuel ) != ERR_SUCCESS )
if( read_cmd_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
{
// 残量ICがNACK …バッテリはずれた
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
@ -683,7 +661,7 @@ void BT_get_left(){
// 電圧でキャップ
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL, 2, temp_v ) == ERR_SUCCESS )
if( read_cmd_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS )
{
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_v[0];
@ -1051,7 +1029,7 @@ err PM_sys_pow_on( )
// 電源周りIC情報
pmic_version = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION, 2, mgic_version );
read_cmd_mgic_2B( BT_GAUGE_REG_VERSION, mgic_version );
// リセット解除など。システム起動!
PM_reset_neg();
@ -1281,3 +1259,16 @@ void codec_reg_init()
// renge_task_immed_add( tski_vol_update ); ポーリングするので。
vol_polling = 3;
}
err sent_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 ) // 送信バッファは固定
{
return iic_mcu_read( IIC_SLA_BT_GAUGE, reg, 2, dat );
}

View File

@ -77,7 +77,6 @@ void vreg_ctr_reset( )
vreg_ctr[ VREG_C_LED_WIFI ] = 0;
vreg_ctr[ VREG_C_LED_CAM ] = 0;
vreg_ctr[ VREG_C_LED_3D ] = 0;
vreg_ctr[ VREG_C_VOL_DIGITAL ] = 0x20;
vreg_ctr[ VREG_C_VOL_OPTION ] = 0;
// vreg_ctr[ VREG_C_VOL_CAL_MIN ] = 0x36; ここで書いちゃダメ!
// vreg_ctr[ VREG_C_VOL_CAL_MAX ] = 0xFF - 0x36; 電源入れるたびにデフォルト値になってしまう
@ -359,7 +358,12 @@ void vreg_ctr_write( u8 adrs, u8 data )
// VREG_C_ACC_HOSU_HIST = 0x4F,
break;
// ただ値を更新するだけ //
//debug//
case ( VREG_C_VOL_DIGITAL ):
NOP();
// no break //
// ただ値を更新するだけ //
default:
/*
case ( VREG_C_IRQ_MASK0 ):
@ -378,7 +382,6 @@ void vreg_ctr_write( u8 adrs, u8 data )
case ( VREG_C_RTC_ALARM_YEAR ):
case ( VREG_C_ACC_W_ADRS ):
case ( VREG_C_OFF_DELAY ):
case ( VREG_C_VOL_DIGITAL ):
*/
if( adrs < VREG_C_ENDMARK_ )
{

View File

@ -115,7 +115,6 @@
// VOL option (0x26)
#define REG_BIT_VOL_UPDATE_TO_SLIDER ( 1 << 4 )
#define REG_BIT_VOL_FORCE_REG ( 1 << 2 )
#define REG_BIT_VOL_BY_SPI ( 1 << 0 )
// FORCE_REGの方が弱い

View File

@ -36,153 +36,37 @@ TargetFile=0
[BuildMode5]
BuildModeName=BSR_WM0
TargetFile=0
[Options.OC78K0R 0]
[Options.LCNV78K0R 0]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
LCNV_GO=0
E=0
CommandFile=0
[Options.OC78K0R 1]
[Options.LCNV78K0R 1]
Version=100
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
LCNV_GO=0
E=0
CommandFile=0
[Options.OC78K0R 2]
[Options.LCNV78K0R 2]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=0
UN=FF
UST=
USZ=
K=0
ZF=0
S=1
LCNV_GO=0
O0=inter_asm
E=0
CommandFile=0
[Options.OC78K0R 3]
[Options.LCNV78K0R 3]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
LCNV_GO=0
E=0
CommandFile=0
[Options.OC78K0R 4]
[Options.LCNV78K0R 4]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
LCNV_GO=0
E=0
CommandFile=0
[Options.OC78K0R 5]
[Options.LCNV78K0R 5]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
LCNV_GO=0
E=0
CommandFile=0
[BuildBefore-AfterCmd]
Before1=c:\cygwin\bin\touch magic.c
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
[ToolSet]
ToolSetName=(•Ï<E280A2>X)78K0R Software Package V1.10
Tool1=CC78K0R|W2.13
Tool2=RA78K0R|W1.33
Tool3=SK78K0R|V3.10
Tool4=ID78K0R-QB|V3.61
[SrcFile]
Source1=loader.c
Source2=pm.c
Source3=i2c_ctr.c
Source4=main.c
Source5=magic.c
Source6=WDT.c
Source7=i2c_mcu.c
Source8=i2c_twl.c
Source9=led.c
Source10=rtc.c
Source11=vreg_ctr.c
Source12=vreg_twl.c
Source13=adc.c
Source14=renge\renge.c
Source15=accero.c
Source16=self_flash.c
Source17=sw.c
Source18=task_debug.c
Source19=task_misc.c
Source20=task_sys.c
Source21=pedo_alg_thre_det2.c
Source22=ini_VECT.c
Source23=task_status.c
Source24=led_cam.c
Source25=led_pow.c
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=config.h
Include4=user_define.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=vreg_twl.h
Include11=loader.h
Include12=i2c_mcu.h
Include13=WDT.h
Include14=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
Include15=fsl_user.h
Include16=i2c_ctr.h
Include17=pm.h
Include18=rtc.h
Include19=reboot.h
Include20=magic.h
Include21=incs.h
Include22=i2c_twl.h
Include23=accero.h
Include24=pedometer.h
Include25=sw.h
Include26=adc.h
Include27=led.h
Include28=batt_params.h
Include29=pool.h
Include30=i2c_twl_defs.h
Include31=voltable.h
Include32=renge\renge_task_intval.h
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
Include34=self_flash.h
Include35=pedo_lpf_coeff.h
[Options.LK78K0R 0]
Version=100
O0=bsr_k0r.lmf
@ -267,7 +151,7 @@ G=1
E=0
E0=flash.elk
E1=a.elk
GO=0
GO=1
GOValue=85
GOStart=FC00
GOSizeValue=1024
@ -435,156 +319,6 @@ ZB=
Etcetera0=
Etcetera1=boot.lmf
CommandFile=0
[Options.LCNV78K0R 0]
Version=100
LCNV_GO=0
E=0
CommandFile=0
[Options.LCNV78K0R 1]
Version=100
LCNV_GO=0
E=0
CommandFile=0
[Options.LCNV78K0R 2]
Version=100
LCNV_GO=0
O0=inter_asm
E=0
CommandFile=0
[Options.LCNV78K0R 3]
Version=100
LCNV_GO=0
E=0
CommandFile=0
[Options.LCNV78K0R 4]
Version=100
LCNV_GO=0
E=0
CommandFile=0
[Options.LCNV78K0R 5]
Version=100
LCNV_GO=0
E=0
CommandFile=0
[Options.RA78K0R 0]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 1]
Version=100
G=0
GA=0
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 2]
Version=100
O0=obj
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=-oobj
[Options.RA78K0R 3]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 4]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 5]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.78K0R]
BuildMode=2
BuildMode2=K0R_dbg
BuildMode3=BSR_dbg
BuildMode4=BSR_rel
BuildMode5=BSR_WM0
DefaultMode2=1
DefaultMode3=1
DefaultMode4=1
DefaultMode5=1
[Options.CC78K0R 0]
Version=210
Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
@ -769,7 +503,8 @@ Relativebranchchk=0
Debugoptchk=0
Outdebugchk=1
Outdebug=1153
Outobjectcmb0=obj
Outobjectcmb0=
Outobjectcmb1=obj
Outasmsrccmb0=inter_asm
Outasmsrccmb1=bsr.asm
Outasmsrcchk=1
@ -1053,3 +788,270 @@ VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
[Options.OC78K0R 0]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 1]
Version=100
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 2]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=0
UN=FF
UST=
USZ=
K=0
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 3]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 4]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[Options.OC78K0R 5]
Version=100
O0=.\bsr.hex
O1=bsr.hex
UC=1
UN=FF
UST=
USZ=
K=1
ZF=0
S=1
E=0
CommandFile=0
[SrcFile]
Source1=loader.c
Source2=pm.c
Source3=i2c_ctr.c
Source4=main.c
Source5=magic.c
Source6=WDT.c
Source7=i2c_mcu.c
Source8=i2c_twl.c
Source9=led.c
Source10=rtc.c
Source11=vreg_ctr.c
Source12=vreg_twl.c
Source13=adc.c
Source14=renge\renge.c
Source15=accero.c
Source16=self_flash.c
Source17=sw.c
Source18=task_debug.c
Source19=task_misc.c
Source20=task_sys.c
Source21=pedo_alg_thre_det2.c
Source22=ini_VECT.c
Source23=task_status.c
Source24=led_cam.c
Source25=led_pow.c
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=config.h
Include4=user_define.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=vreg_twl.h
Include11=loader.h
Include12=i2c_mcu.h
Include13=WDT.h
Include14=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
Include15=fsl_user.h
Include16=i2c_ctr.h
Include17=pm.h
Include18=rtc.h
Include19=reboot.h
Include20=magic.h
Include21=incs.h
Include22=i2c_twl.h
Include23=accero.h
Include24=pedometer.h
Include25=sw.h
Include26=adc.h
Include27=led.h
Include28=batt_params.h
Include29=pool.h
Include30=i2c_twl_defs.h
Include31=voltable.h
Include32=renge\renge_task_intval.h
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
Include34=self_flash.h
Include35=pedo_lpf_coeff.h
[BuildBefore-AfterCmd]
Before1=c:\cygwin\bin\touch magic.c
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
[Options.RA78K0R 0]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 1]
Version=100
G=0
GA=0
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 2]
Version=100
O0=
O1=obj
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 3]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 4]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.RA78K0R 5]
Version=100
G=1
GA=1
E=0
COMMON=0
COMPATI=0
P=1
KA=1
KS=0
KX=0
LF=0
LW=132
LL=0
LT=8
Z=0
CommandFile=0
RA_OPT=
[Options.78K0R]
BuildMode=2
BuildMode2=K0R_dbg
BuildMode3=BSR_dbg
BuildMode4=BSR_rel
BuildMode5=BSR_WM0
DefaultMode2=1
DefaultMode3=1
DefaultMode4=1
DefaultMode5=1
[ToolSet]
ToolSetName=(•Ï<E280A2>X)78K0R Software Package V1.10
Tool1=CC78K0R|W2.13
Tool2=RA78K0R|W1.33
Tool3=SK78K0R|V3.10
Tool4=ID78K0R-QB|V3.61

View File

@ -1,9 +1,9 @@
[ProjectManager]
FrameMax=1
FrameX=100
FrameY=100
FrameCX=1440
FrameCY=850
FrameMax=0
FrameX=2124
FrameY=181
FrameCX=1323
FrameCY=930
OpenFile1=batt_params.h,0,596,19,1842,741,0,19,0,0
OpenFile2=led.c,0,100,100,1295,581,2,168,45,0
OpenFile3=ProjectWindow
@ -13,7 +13,8 @@ OpenFile5=led_pow.c,0,150,150,1345,631,0,205,0,0
OpenFile6=config.h,0,442,428,1557,1029,29,23,29,0
OpenFile7=i2c_mcu.c,0,175,175,1766,882,0,303,0,0
OpenFile8=i2c_mcu.h,0,200,200,1791,907,46,23,48,0
OpenFile9=OutputWindow
OpenFile9=pm.c,0,225,225,1278,761,53,1274,57,0
OpenFile10=OutputWindow
OutputPos=0,34,740,376,1323
ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow]