task_adc でインターバル起動でエンバグさせていた。

パフォーマンスも困ってないし余計なことするんじゃなかった
 スライダを触ったときのフィーリングが最悪になっていた(1.06で改悪)
led_init お知らせLEDの 新旧仕様判定に失敗することがあった
 タイミングマージンを増やしたのと、量産使用側に倒れやすくした
read_dipsw 廃止
拡張ステータスリード
 RAMよりもROM優先に書き換え

boolのように使っているbit型には1/0 ではなく true/false を入れるようにした。 defineしてあるだけだけど
もう使われることのない #ifdef を削除

Horizon 0.13ブランチに1.7としてリリース(r26360)
trunkへのマージは(r26403)

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@235 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
N2232 2010-09-15 02:42:17 +00:00
parent c05aed5071
commit 1b9653411e
24 changed files with 1368 additions and 1437 deletions

View File

@ -79,27 +79,13 @@ static u8 adc_scaling( u8 );
void tsk_adc( )
{
static u8 task_interval = 0;
static u8 old_tune;
static u8 sndvol_codec;
static u8 bt_temp_old;
#ifdef _DEBUG_CODEC_POLLING_
// debug
{
static u8 interval;
// VOL<4F>«•p“x
interval++;
if( interval == 3 )
{
interval = 0;
renge_task_immed_add( tski_vol_update ); // T = 2ms polling
}
}
#endif
/*
Volスライダの反応が劇悪になるので注意
static u8 task_interval = 0;
if( task_interval-- != 0 )
{
return;
@ -111,7 +97,7 @@ void tsk_adc( )
*/
if( adc_updated )
{
adc_updated = 0;
adc_updated = false;
if( system_status.pwr_state == ON )
{
@ -127,7 +113,7 @@ void tsk_adc( )
if( vol_old != vol_data_ctr )
{
vol_changed_by_ctr = 1;
vol_changed_by_ctr = true;
vol_old = vol_data_ctr;
renge_task_immed_add( tski_vol_update ); // 2ms後でいいでしょう...
}
@ -170,7 +156,7 @@ task_status_immed tski_vol_update()
{
static u8 sent_index, sent_index_slider, sent_index_twl;
static u8 sent_data;
static bit last_modifyer; // 0 = ctr
static bit last_modifyer_is_twl; // 0 = ctr
if( !( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP )){
@ -187,8 +173,8 @@ task_status_immed tski_vol_update()
else if( vol_changed_by_ctr )
{
// スライダ
vol_changed_by_ctr = 0;
last_modifyer = 0;
vol_changed_by_ctr = false;
last_modifyer_is_twl = false;
if( vreg_ctr[ VREG_C_VOL_OPTION ] & REG_BIT_VOL_FORCE_REG )
{
// レジスタから強制セット
@ -203,8 +189,8 @@ task_status_immed tski_vol_update()
else if( vol_changed_by_twl )
{
// TWLアプリ
vol_changed_by_twl = 0;
last_modifyer = 1;
vol_changed_by_twl = false;
last_modifyer_is_twl = true;
if( vreg_twl[ REG_TWL_INT_ADRS_VOL ] == 0 )
{
sent_index_twl = 0;
@ -220,7 +206,7 @@ task_status_immed tski_vol_update()
{
// force_sliderを0にしたとき & 書きまくるとき
// スライダかTWLの最後にセットした方をセット
if( last_modifyer == 0 )
if( !last_modifyer_is_twl )
{
sent_index = sent_index_slider;
}
@ -372,7 +358,7 @@ case ( ADC_SEL_AMB_BRIT ): //
else
{
ADCEN = 0; // 止めてしまう
adc_updated = 1;
adc_updated = true;
index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス
}
ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある
@ -573,7 +559,7 @@ case ( ADC_SEL_AMB_BRIT ): //
else
{
ADCEN = 0; // 止めてしまう
adc_updated = 1;
adc_updated = true;
index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,7 +1,7 @@
78K0R Linker W1.31 Date:14 Sep 2010 Page: 1
78K0R Linker W1.31 Date:15 Sep 2010 Page: 1
Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l
mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10
@ -24,8 +24,8 @@ Direc-file:bsr_mcu.dr
*** Link information ***
66 output segment(s)
3E50H byte(s) real data
5493 symbol(s) defined
3E04H byte(s) real data
5416 symbol(s) defined
*** Memory map ***
@ -100,55 +100,55 @@ Direc-file:bsr_mcu.dr
000C4H 00000H
?CSEGSI 000C4H 0000AH CSEG
?OCDSTAD 000CEH 0000AH CSEG
LDR_CODE 000D8H 0090FH CSEG
LDR_CODE 000D8H 008E7H CSEG
LDR_CODE loader 000D8H 001E1H
LDR_CODE main 002B9H 0006EH
LDR_CODE WDT 00327H 00000H
LDR_CODE i2c_mcu 00327H 002F1H
LDR_CODE main 002B9H 00046H
LDR_CODE WDT 002FFH 00000H
LDR_CODE i2c_mcu 002FFH 002F1H
LDR_CODE self_flash
00618H 00349H
005F0H 00349H
LDR_CODE task_debug
00961H 00001H
00939H 00001H
LDR_CODE task_status
00962H 00085H
FSL_CODE 009E7H 00322H CSEG
0093AH 00085H
FSL_CODE 009BFH 00322H CSEG
FSL_CODE fsl_block_cmd
009E7H 0002BH
009BFH 0002BH
FSL_CODE fsl_block_check
00A12H 00013H
009EAH 00013H
FSL_CODE fsl_common
00A25H 0014FH
009FDH 0014FH
FSL_CODE fsl_reset
00B74H 00001H
00B4CH 00001H
FSL_CODE fsl_si_ibf
00B75H 00064H
00B4DH 00064H
FSL_CODE fsl_phySwap
00BD9H 0004DH
00BB1H 0004DH
FSL_CODE fsl_si_common
00C26H 00061H
FSL_CODE fsl_swap 00C87H 00030H
00BFEH 00061H
FSL_CODE fsl_swap 00C5FH 00030H
FSL_CODE fsl_write
00CB7H 00052H
@@LCODE 00D09H 002AFH CSEG
@@LCODE @cstart 00D09H 0006DH
@@LCODE @imul 00D76H 00011H
@@LCODE @lumul 00D87H 0002BH
@@LCODE @isdiv 00DB2H 00022H
@@LCODE @iudiv 00DD4H 0002DH
@@LCODE @isrem 00E01H 00021H
@@LCODE @iurem 00E22H 0002FH
@@LCODE @lsdiv 00E51H 00039H
@@LCODE @ludiv 00E8AH 0003FH
@@LCODE @divuw 00EC9H 00034H
@@LCODE @ladd 00EFDH 0000FH
@@LCODE @llsh 00F0CH 0001BH
@@LCODE @lursh 00F27H 0001FH
@@LCODE @iscmp 00F46H 0000CH
@@LCODE @lscmp 00F52H 00014H
@@LCODE @lband 00F66H 00014H
@@LCODE @bcdtob 00F7AH 0001AH
@@LCODE @bbcd 00F94H 00024H
* gap * 00FB8H 0003EH
00C8FH 00052H
@@LCODE 00CE1H 002AFH CSEG
@@LCODE @cstart 00CE1H 0006DH
@@LCODE @imul 00D4EH 00011H
@@LCODE @lumul 00D5FH 0002BH
@@LCODE @isdiv 00D8AH 00022H
@@LCODE @iudiv 00DACH 0002DH
@@LCODE @isrem 00DD9H 00021H
@@LCODE @iurem 00DFAH 0002FH
@@LCODE @lsdiv 00E29H 00039H
@@LCODE @ludiv 00E62H 0003FH
@@LCODE @divuw 00EA1H 00034H
@@LCODE @ladd 00ED5H 0000FH
@@LCODE @llsh 00EE4H 0001BH
@@LCODE @lursh 00EFFH 0001FH
@@LCODE @iscmp 00F1EH 0000CH
@@LCODE @lscmp 00F2AH 00014H
@@LCODE @lband 00F3EH 00014H
@@LCODE @bcdtob 00F52H 0001AH
@@LCODE @bbcd 00F6CH 00024H
* gap * 00F90H 00066H
MGC_LOAD 00FF6H 0000AH CSEG AT
MGC_LOAD magic 00FF6H 0000AH
@ -194,7 +194,7 @@ Direc-file:bsr_mcu.dr
@@CNSTL @bcdtob 02000H 0000AH
@@CNSTL 0200AH 00010H CSEG PAGE64KP
@@CNSTL @bbcd 0200AH 00010H
@@R_INIT 0201AH 0003EH CSEG UNIT64KP
@@R_INIT 0201AH 0003CH CSEG UNIT64KP
@@R_INIT @cstart 0201AH 00000H
@@R_INIT loader 0201AH 00000H
@@R_INIT pm 0201AH 00002H
@ -208,136 +208,136 @@ Direc-file:bsr_mcu.dr
@@R_INIT rtc 02024H 00000H
@@R_INIT vreg_ctr 02024H 00000H
@@R_INIT vreg_twl 02024H 00000H
@@R_INIT adc 02024H 0000EH
@@R_INIT renge 02032H 00016H
@@R_INIT accero 02048H 00000H
@@R_INIT adc 02024H 0000CH
@@R_INIT renge 02030H 00016H
@@R_INIT accero 02046H 00000H
@@R_INIT self_flash
02048H 00000H
@@R_INIT sw 02048H 00002H
02046H 00000H
@@R_INIT sw 02046H 00002H
@@R_INIT task_debug
0204AH 00000H
02048H 00000H
@@R_INIT task_misc
0204AH 00000H
@@R_INIT task_sys 0204AH 00002H
02048H 00000H
@@R_INIT task_sys 02048H 00002H
@@R_INIT pedo_alg_thre_det2
0204CH 0000AH
@@R_INIT ini_VECT 02056H 00000H
0204AH 0000AH
@@R_INIT ini_VECT 02054H 00000H
@@R_INIT task_status
02056H 00002H
@@R_INIT @rom 02058H 00000H
@@R_INIS 02058H 00000H CSEG UNIT64KP
@@R_INIS @cstart 02058H 00000H
@@R_INIS loader 02058H 00000H
@@R_INIS pm 02058H 00000H
@@R_INIS i2c_ctr 02058H 00000H
@@R_INIS main 02058H 00000H
@@R_INIS magic 02058H 00000H
@@R_INIS WDT 02058H 00000H
@@R_INIS i2c_mcu 02058H 00000H
@@R_INIS i2c_twl 02058H 00000H
@@R_INIS led 02058H 00000H
@@R_INIS rtc 02058H 00000H
@@R_INIS vreg_ctr 02058H 00000H
@@R_INIS vreg_twl 02058H 00000H
@@R_INIS adc 02058H 00000H
@@R_INIS renge 02058H 00000H
@@R_INIS accero 02058H 00000H
02054H 00002H
@@R_INIT @rom 02056H 00000H
@@R_INIS 02056H 00000H CSEG UNIT64KP
@@R_INIS @cstart 02056H 00000H
@@R_INIS loader 02056H 00000H
@@R_INIS pm 02056H 00000H
@@R_INIS i2c_ctr 02056H 00000H
@@R_INIS main 02056H 00000H
@@R_INIS magic 02056H 00000H
@@R_INIS WDT 02056H 00000H
@@R_INIS i2c_mcu 02056H 00000H
@@R_INIS i2c_twl 02056H 00000H
@@R_INIS led 02056H 00000H
@@R_INIS rtc 02056H 00000H
@@R_INIS vreg_ctr 02056H 00000H
@@R_INIS vreg_twl 02056H 00000H
@@R_INIS adc 02056H 00000H
@@R_INIS renge 02056H 00000H
@@R_INIS accero 02056H 00000H
@@R_INIS self_flash
02058H 00000H
@@R_INIS sw 02058H 00000H
02056H 00000H
@@R_INIS sw 02056H 00000H
@@R_INIS task_debug
02058H 00000H
02056H 00000H
@@R_INIS task_misc
02058H 00000H
@@R_INIS task_sys 02058H 00000H
02056H 00000H
@@R_INIS task_sys 02056H 00000H
@@R_INIS pedo_alg_thre_det2
02058H 00000H
@@R_INIS ini_VECT 02058H 00000H
02056H 00000H
@@R_INIS ini_VECT 02056H 00000H
@@R_INIS task_status
02058H 00000H
@@R_INIS @rom 02058H 00000H
@@CALT 02058H 00000H CSEG
@@CALT @cstart 02058H 00000H
@@CALT loader 02058H 00000H
@@CALT pm 02058H 00000H
@@CALT i2c_ctr 02058H 00000H
@@CALT main 02058H 00000H
@@CALT magic 02058H 00000H
@@CALT WDT 02058H 00000H
@@CALT i2c_mcu 02058H 00000H
@@CALT i2c_twl 02058H 00000H
@@CALT led 02058H 00000H
@@CALT rtc 02058H 00000H
@@CALT vreg_ctr 02058H 00000H
@@CALT vreg_twl 02058H 00000H
@@CALT adc 02058H 00000H
@@CALT renge 02058H 00000H
@@CALT accero 02058H 00000H
02056H 00000H
@@R_INIS @rom 02056H 00000H
@@CALT 02056H 00000H CSEG
@@CALT @cstart 02056H 00000H
@@CALT loader 02056H 00000H
@@CALT pm 02056H 00000H
@@CALT i2c_ctr 02056H 00000H
@@CALT main 02056H 00000H
@@CALT magic 02056H 00000H
@@CALT WDT 02056H 00000H
@@CALT i2c_mcu 02056H 00000H
@@CALT i2c_twl 02056H 00000H
@@CALT led 02056H 00000H
@@CALT rtc 02056H 00000H
@@CALT vreg_ctr 02056H 00000H
@@CALT vreg_twl 02056H 00000H
@@CALT adc 02056H 00000H
@@CALT renge 02056H 00000H
@@CALT accero 02056H 00000H
@@CALT self_flash
02058H 00000H
@@CALT sw 02058H 00000H
02056H 00000H
@@CALT sw 02056H 00000H
@@CALT task_debug
02058H 00000H
02056H 00000H
@@CALT task_misc
02058H 00000H
@@CALT task_sys 02058H 00000H
02056H 00000H
@@CALT task_sys 02056H 00000H
@@CALT pedo_alg_thre_det2
02058H 00000H
@@CALT ini_VECT 02058H 00000H
02056H 00000H
@@CALT ini_VECT 02056H 00000H
@@CALT task_status
02058H 00000H
@@RLINIT 02058H 00000H CSEG UNIT64KP
@@RLINIT loader 02058H 00000H
@@RLINIT pm 02058H 00000H
@@RLINIT i2c_ctr 02058H 00000H
@@RLINIT main 02058H 00000H
@@RLINIT magic 02058H 00000H
@@RLINIT WDT 02058H 00000H
@@RLINIT i2c_mcu 02058H 00000H
@@RLINIT i2c_twl 02058H 00000H
@@RLINIT led 02058H 00000H
@@RLINIT rtc 02058H 00000H
@@RLINIT vreg_ctr 02058H 00000H
@@RLINIT vreg_twl 02058H 00000H
@@RLINIT adc 02058H 00000H
@@RLINIT renge 02058H 00000H
@@RLINIT accero 02058H 00000H
02056H 00000H
@@RLINIT 02056H 00000H CSEG UNIT64KP
@@RLINIT loader 02056H 00000H
@@RLINIT pm 02056H 00000H
@@RLINIT i2c_ctr 02056H 00000H
@@RLINIT main 02056H 00000H
@@RLINIT magic 02056H 00000H
@@RLINIT WDT 02056H 00000H
@@RLINIT i2c_mcu 02056H 00000H
@@RLINIT i2c_twl 02056H 00000H
@@RLINIT led 02056H 00000H
@@RLINIT rtc 02056H 00000H
@@RLINIT vreg_ctr 02056H 00000H
@@RLINIT vreg_twl 02056H 00000H
@@RLINIT adc 02056H 00000H
@@RLINIT renge 02056H 00000H
@@RLINIT accero 02056H 00000H
@@RLINIT self_flash
02058H 00000H
@@RLINIT sw 02058H 00000H
02056H 00000H
@@RLINIT sw 02056H 00000H
@@RLINIT task_debug
02058H 00000H
02056H 00000H
@@RLINIT task_misc
02058H 00000H
@@RLINIT task_sys 02058H 00000H
02056H 00000H
@@RLINIT task_sys 02056H 00000H
@@RLINIT pedo_alg_thre_det2
02058H 00000H
@@RLINIT ini_VECT 02058H 00000H
02056H 00000H
@@RLINIT ini_VECT 02056H 00000H
@@RLINIT task_status
02058H 00000H
@@RLINIT @rom 02058H 00000H
@@CODEL 02058H 00000H CSEG
@@CODEL pm 02058H 00000H
@@CODEL i2c_ctr 02058H 00000H
@@CODEL magic 02058H 00000H
@@CODEL i2c_twl 02058H 00000H
@@CODEL led 02058H 00000H
@@CODEL rtc 02058H 00000H
@@CODEL vreg_ctr 02058H 00000H
@@CODEL vreg_twl 02058H 00000H
@@CODEL adc 02058H 00000H
@@CODEL renge 02058H 00000H
@@CODEL accero 02058H 00000H
@@CODEL sw 02058H 00000H
02056H 00000H
@@RLINIT @rom 02056H 00000H
@@CODEL 02056H 00000H CSEG
@@CODEL pm 02056H 00000H
@@CODEL i2c_ctr 02056H 00000H
@@CODEL magic 02056H 00000H
@@CODEL i2c_twl 02056H 00000H
@@CODEL led 02056H 00000H
@@CODEL rtc 02056H 00000H
@@CODEL vreg_ctr 02056H 00000H
@@CODEL vreg_twl 02056H 00000H
@@CODEL adc 02056H 00000H
@@CODEL renge 02056H 00000H
@@CODEL accero 02056H 00000H
@@CODEL sw 02056H 00000H
@@CODEL task_misc
02058H 00000H
@@CODEL task_sys 02058H 00000H
02056H 00000H
@@CODEL task_sys 02056H 00000H
@@CODEL pedo_alg_thre_det2
02058H 00000H
@@CODEL ini_VECT 02058H 00000H
@@LCODEL 02058H 00008H CSEG
@@LCODEL abs 02058H 00008H
* gap * 02060H 000A0H
02056H 00000H
@@CODEL ini_VECT 02056H 00000H
@@LCODEL 02056H 00008H CSEG
@@LCODEL abs 02056H 00008H
* gap * 0205EH 000A2H
MGC_MIMI 02100H 0000AH CSEG AT
MGC_MIMI magic 02100H 0000AH
@@CNST 0210AH 002BAH CSEG
@ -370,53 +370,53 @@ Direc-file:bsr_mcu.dr
@@CNST ini_VECT 023C4H 00000H
@@CNST task_status
023C4H 00000H
ROM_CODE 023C4H 02702H CSEG
ROM_CODE 023C4H 026E0H CSEG
ROM_CODE pm 023C4H 00A5AH
ROM_CODE i2c_ctr 02E1EH 00060H
ROM_CODE i2c_twl 02E7EH 0005EH
ROM_CODE led 02EDCH 0050CH
ROM_CODE rtc 033E8H 000E0H
ROM_CODE vreg_ctr 034C8H 0047CH
ROM_CODE vreg_twl 03944H 00122H
ROM_CODE adc 03A66H 002CCH
ROM_CODE renge 03D32H 00187H
ROM_CODE accero 03EB9H 0013DH
ROM_CODE sw 03FF6H 00113H
ROM_CODE led 02EDCH 00512H
ROM_CODE rtc 033EEH 000E0H
ROM_CODE vreg_ctr 034CEH 0047CH
ROM_CODE vreg_twl 0394AH 00122H
ROM_CODE adc 03A6CH 002BFH
ROM_CODE renge 03D2BH 00187H
ROM_CODE accero 03EB2H 0013DH
ROM_CODE sw 03FEFH 00113H
ROM_CODE task_misc
04109H 001B1H
ROM_CODE task_sys 042BAH 0030EH
04102H 00196H
ROM_CODE task_sys 04298H 0030EH
ROM_CODE pedo_alg_thre_det2
045C8H 004FEH
@@BASE 04AC6H 00502H CSEG BASE
@@BASE loader 04AC6H 00000H
@@BASE pm 04AC6H 0003FH
@@BASE i2c_ctr 04B05H 00198H
@@BASE main 04C9DH 00000H
@@BASE magic 04C9DH 00000H
@@BASE WDT 04C9DH 00000H
@@BASE i2c_mcu 04C9DH 000D9H
@@BASE i2c_twl 04D76H 000CBH
@@BASE led 04E41H 00000H
@@BASE rtc 04E41H 00052H
@@BASE vreg_ctr 04E93H 00000H
@@BASE vreg_twl 04E93H 00000H
@@BASE adc 04E93H 000B3H
@@BASE renge 04F46H 00000H
@@BASE accero 04F46H 0004AH
045A6H 004FEH
@@BASE 04AA4H 00502H CSEG BASE
@@BASE loader 04AA4H 00000H
@@BASE pm 04AA4H 0003FH
@@BASE i2c_ctr 04AE3H 00198H
@@BASE main 04C7BH 00000H
@@BASE magic 04C7BH 00000H
@@BASE WDT 04C7BH 00000H
@@BASE i2c_mcu 04C7BH 000D9H
@@BASE i2c_twl 04D54H 000CBH
@@BASE led 04E1FH 00000H
@@BASE rtc 04E1FH 00052H
@@BASE vreg_ctr 04E71H 00000H
@@BASE vreg_twl 04E71H 00000H
@@BASE adc 04E71H 000B3H
@@BASE renge 04F24H 00000H
@@BASE accero 04F24H 0004AH
@@BASE self_flash
04F90H 00000H
@@BASE sw 04F90H 00000H
04F6EH 00000H
@@BASE sw 04F6EH 00000H
@@BASE task_debug
04F90H 00000H
04F6EH 00000H
@@BASE task_misc
04F90H 00000H
@@BASE task_sys 04F90H 00000H
04F6EH 00000H
@@BASE task_sys 04F6EH 00000H
@@BASE pedo_alg_thre_det2
04F90H 00000H
@@BASE ini_VECT 04F90H 00038H
04F6EH 00000H
@@BASE ini_VECT 04F6EH 00038H
@@BASE task_status
04FC8H 00000H
* gap * 04FC8H 0002EH
04FA6H 00000H
* gap * 04FA6H 00050H
MGC_TAIL 04FF6H 0000AH CSEG AT
MGC_TAIL magic 04FF6H 0000AH
@ -424,7 +424,7 @@ Direc-file:bsr_mcu.dr
BASE ADDRESS=FF900H SIZE=00500H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
@@DATA FF900H 00414H DSEG BASEP
@@DATA FF900H 0041EH DSEG BASEP
@@DATA @cstart FF900H 00002H
@@DATA loader FF902H 00000H
@@DATA pm FF902H 00016H
@ -447,171 +447,171 @@ Direc-file:bsr_mcu.dr
@@DATA task_debug
FFC78H 00000H
@@DATA task_misc
FFC78H 00002H
@@DATA task_sys FFC7AH 00002H
FFC78H 0000CH
@@DATA task_sys FFC84H 00002H
@@DATA pedo_alg_thre_det2
FFC7CH 00096H
@@DATA ini_VECT FFD12H 00000H
FFC86H 00096H
@@DATA ini_VECT FFD1CH 00000H
@@DATA task_status
FFD12H 00002H
@@DATA @rom FFD14H 00000H
@@INIT FFD14H 0003EH DSEG BASEP
@@INIT @cstart FFD14H 00000H
@@INIT loader FFD14H 00000H
@@INIT pm FFD14H 00002H
@@INIT i2c_ctr FFD16H 00002H
@@INIT main FFD18H 00000H
@@INIT magic FFD18H 00000H
@@INIT WDT FFD18H 00000H
@@INIT i2c_mcu FFD18H 00000H
@@INIT i2c_twl FFD18H 00000H
@@INIT led FFD18H 00006H
@@INIT rtc FFD1EH 00000H
@@INIT vreg_ctr FFD1EH 00000H
@@INIT vreg_twl FFD1EH 00000H
@@INIT adc FFD1EH 0000EH
@@INIT renge FFD2CH 00016H
@@INIT accero FFD42H 00000H
FFD1CH 00002H
@@DATA @rom FFD1EH 00000H
@@INIT FFD1EH 0003CH DSEG BASEP
@@INIT @cstart FFD1EH 00000H
@@INIT loader FFD1EH 00000H
@@INIT pm FFD1EH 00002H
@@INIT i2c_ctr FFD20H 00002H
@@INIT main FFD22H 00000H
@@INIT magic FFD22H 00000H
@@INIT WDT FFD22H 00000H
@@INIT i2c_mcu FFD22H 00000H
@@INIT i2c_twl FFD22H 00000H
@@INIT led FFD22H 00006H
@@INIT rtc FFD28H 00000H
@@INIT vreg_ctr FFD28H 00000H
@@INIT vreg_twl FFD28H 00000H
@@INIT adc FFD28H 0000CH
@@INIT renge FFD34H 00016H
@@INIT accero FFD4AH 00000H
@@INIT self_flash
FFD42H 00000H
@@INIT sw FFD42H 00002H
FFD4AH 00000H
@@INIT sw FFD4AH 00002H
@@INIT task_debug
FFD44H 00000H
FFD4CH 00000H
@@INIT task_misc
FFD44H 00000H
@@INIT task_sys FFD44H 00002H
FFD4CH 00000H
@@INIT task_sys FFD4CH 00002H
@@INIT pedo_alg_thre_det2
FFD46H 0000AH
@@INIT ini_VECT FFD50H 00000H
FFD4EH 0000AH
@@INIT ini_VECT FFD58H 00000H
@@INIT task_status
FFD50H 00002H
@@INIT @rom FFD52H 00000H
@@INIS FFD52H 00000H DSEG UNITP
@@INIS @cstart FFD52H 00000H
@@INIS loader FFD52H 00000H
@@INIS pm FFD52H 00000H
@@INIS i2c_ctr FFD52H 00000H
@@INIS main FFD52H 00000H
@@INIS magic FFD52H 00000H
@@INIS WDT FFD52H 00000H
@@INIS i2c_mcu FFD52H 00000H
@@INIS i2c_twl FFD52H 00000H
@@INIS led FFD52H 00000H
@@INIS rtc FFD52H 00000H
@@INIS vreg_ctr FFD52H 00000H
@@INIS vreg_twl FFD52H 00000H
@@INIS adc FFD52H 00000H
@@INIS renge FFD52H 00000H
@@INIS accero FFD52H 00000H
FFD58H 00002H
@@INIT @rom FFD5AH 00000H
@@INIS FFD5AH 00000H DSEG UNITP
@@INIS @cstart FFD5AH 00000H
@@INIS loader FFD5AH 00000H
@@INIS pm FFD5AH 00000H
@@INIS i2c_ctr FFD5AH 00000H
@@INIS main FFD5AH 00000H
@@INIS magic FFD5AH 00000H
@@INIS WDT FFD5AH 00000H
@@INIS i2c_mcu FFD5AH 00000H
@@INIS i2c_twl FFD5AH 00000H
@@INIS led FFD5AH 00000H
@@INIS rtc FFD5AH 00000H
@@INIS vreg_ctr FFD5AH 00000H
@@INIS vreg_twl FFD5AH 00000H
@@INIS adc FFD5AH 00000H
@@INIS renge FFD5AH 00000H
@@INIS accero FFD5AH 00000H
@@INIS self_flash
FFD52H 00000H
@@INIS sw FFD52H 00000H
FFD5AH 00000H
@@INIS sw FFD5AH 00000H
@@INIS task_debug
FFD52H 00000H
FFD5AH 00000H
@@INIS task_misc
FFD52H 00000H
@@INIS task_sys FFD52H 00000H
FFD5AH 00000H
@@INIS task_sys FFD5AH 00000H
@@INIS pedo_alg_thre_det2
FFD52H 00000H
@@INIS ini_VECT FFD52H 00000H
FFD5AH 00000H
@@INIS ini_VECT FFD5AH 00000H
@@INIS task_status
FFD52H 00000H
@@INIS @rom FFD52H 00000H
@@DATS FFD52H 00000H DSEG UNITP
@@DATS @cstart FFD52H 00000H
@@DATS loader FFD52H 00000H
@@DATS pm FFD52H 00000H
@@DATS i2c_ctr FFD52H 00000H
@@DATS main FFD52H 00000H
@@DATS magic FFD52H 00000H
@@DATS WDT FFD52H 00000H
@@DATS i2c_mcu FFD52H 00000H
@@DATS i2c_twl FFD52H 00000H
@@DATS led FFD52H 00000H
@@DATS rtc FFD52H 00000H
@@DATS vreg_ctr FFD52H 00000H
@@DATS vreg_twl FFD52H 00000H
@@DATS adc FFD52H 00000H
@@DATS renge FFD52H 00000H
@@DATS accero FFD52H 00000H
FFD5AH 00000H
@@INIS @rom FFD5AH 00000H
@@DATS FFD5AH 00000H DSEG UNITP
@@DATS @cstart FFD5AH 00000H
@@DATS loader FFD5AH 00000H
@@DATS pm FFD5AH 00000H
@@DATS i2c_ctr FFD5AH 00000H
@@DATS main FFD5AH 00000H
@@DATS magic FFD5AH 00000H
@@DATS WDT FFD5AH 00000H
@@DATS i2c_mcu FFD5AH 00000H
@@DATS i2c_twl FFD5AH 00000H
@@DATS led FFD5AH 00000H
@@DATS rtc FFD5AH 00000H
@@DATS vreg_ctr FFD5AH 00000H
@@DATS vreg_twl FFD5AH 00000H
@@DATS adc FFD5AH 00000H
@@DATS renge FFD5AH 00000H
@@DATS accero FFD5AH 00000H
@@DATS self_flash
FFD52H 00000H
@@DATS sw FFD52H 00000H
FFD5AH 00000H
@@DATS sw FFD5AH 00000H
@@DATS task_debug
FFD52H 00000H
FFD5AH 00000H
@@DATS task_misc
FFD52H 00000H
@@DATS task_sys FFD52H 00000H
FFD5AH 00000H
@@DATS task_sys FFD5AH 00000H
@@DATS pedo_alg_thre_det2
FFD52H 00000H
@@DATS ini_VECT FFD52H 00000H
FFD5AH 00000H
@@DATS ini_VECT FFD5AH 00000H
@@DATS task_status
FFD52H 00000H
@@DATS @rom FFD52H 00000H
FSL_DATA FFD52H 00010H DSEG UNITP
FFD5AH 00000H
@@DATS @rom FFD5AH 00000H
FSL_DATA FFD5AH 00010H DSEG UNITP
FSL_DATA fsl_common
FFD52H 00010H
@@INITL FFD62H 00000H DSEG UNIT64KP
@@INITL loader FFD62H 00000H
@@INITL pm FFD62H 00000H
@@INITL i2c_ctr FFD62H 00000H
@@INITL main FFD62H 00000H
@@INITL magic FFD62H 00000H
@@INITL WDT FFD62H 00000H
@@INITL i2c_mcu FFD62H 00000H
@@INITL i2c_twl FFD62H 00000H
@@INITL led FFD62H 00000H
@@INITL rtc FFD62H 00000H
@@INITL vreg_ctr FFD62H 00000H
@@INITL vreg_twl FFD62H 00000H
@@INITL adc FFD62H 00000H
@@INITL renge FFD62H 00000H
@@INITL accero FFD62H 00000H
FFD5AH 00010H
@@INITL FFD6AH 00000H DSEG UNIT64KP
@@INITL loader FFD6AH 00000H
@@INITL pm FFD6AH 00000H
@@INITL i2c_ctr FFD6AH 00000H
@@INITL main FFD6AH 00000H
@@INITL magic FFD6AH 00000H
@@INITL WDT FFD6AH 00000H
@@INITL i2c_mcu FFD6AH 00000H
@@INITL i2c_twl FFD6AH 00000H
@@INITL led FFD6AH 00000H
@@INITL rtc FFD6AH 00000H
@@INITL vreg_ctr FFD6AH 00000H
@@INITL vreg_twl FFD6AH 00000H
@@INITL adc FFD6AH 00000H
@@INITL renge FFD6AH 00000H
@@INITL accero FFD6AH 00000H
@@INITL self_flash
FFD62H 00000H
@@INITL sw FFD62H 00000H
FFD6AH 00000H
@@INITL sw FFD6AH 00000H
@@INITL task_debug
FFD62H 00000H
FFD6AH 00000H
@@INITL task_misc
FFD62H 00000H
@@INITL task_sys FFD62H 00000H
FFD6AH 00000H
@@INITL task_sys FFD6AH 00000H
@@INITL pedo_alg_thre_det2
FFD62H 00000H
@@INITL ini_VECT FFD62H 00000H
FFD6AH 00000H
@@INITL ini_VECT FFD6AH 00000H
@@INITL task_status
FFD62H 00000H
@@INITL @rom FFD62H 00000H
@@DATAL FFD62H 00000H DSEG UNIT64KP
@@DATAL loader FFD62H 00000H
@@DATAL pm FFD62H 00000H
@@DATAL i2c_ctr FFD62H 00000H
@@DATAL main FFD62H 00000H
@@DATAL magic FFD62H 00000H
@@DATAL WDT FFD62H 00000H
@@DATAL i2c_mcu FFD62H 00000H
@@DATAL i2c_twl FFD62H 00000H
@@DATAL led FFD62H 00000H
@@DATAL rtc FFD62H 00000H
@@DATAL vreg_ctr FFD62H 00000H
@@DATAL vreg_twl FFD62H 00000H
@@DATAL adc FFD62H 00000H
@@DATAL renge FFD62H 00000H
@@DATAL accero FFD62H 00000H
FFD6AH 00000H
@@INITL @rom FFD6AH 00000H
@@DATAL FFD6AH 00000H DSEG UNIT64KP
@@DATAL loader FFD6AH 00000H
@@DATAL pm FFD6AH 00000H
@@DATAL i2c_ctr FFD6AH 00000H
@@DATAL main FFD6AH 00000H
@@DATAL magic FFD6AH 00000H
@@DATAL WDT FFD6AH 00000H
@@DATAL i2c_mcu FFD6AH 00000H
@@DATAL i2c_twl FFD6AH 00000H
@@DATAL led FFD6AH 00000H
@@DATAL rtc FFD6AH 00000H
@@DATAL vreg_ctr FFD6AH 00000H
@@DATAL vreg_twl FFD6AH 00000H
@@DATAL adc FFD6AH 00000H
@@DATAL renge FFD6AH 00000H
@@DATAL accero FFD6AH 00000H
@@DATAL self_flash
FFD62H 00000H
@@DATAL sw FFD62H 00000H
FFD6AH 00000H
@@DATAL sw FFD6AH 00000H
@@DATAL task_debug
FFD62H 00000H
FFD6AH 00000H
@@DATAL task_misc
FFD62H 00000H
@@DATAL task_sys FFD62H 00000H
FFD6AH 00000H
@@DATAL task_sys FFD6AH 00000H
@@DATAL pedo_alg_thre_det2
FFD62H 00000H
@@DATAL ini_VECT FFD62H 00000H
FFD6AH 00000H
@@DATAL ini_VECT FFD6AH 00000H
@@DATAL task_status
FFD62H 00000H
@@DATAL @rom FFD62H 00000H
* gap * FFD62H 0009EH
FFD6AH 00000H
@@DATAL @rom FFD6AH 00000H
* gap * FFD6AH 00096H
MEMORY=RAM2
BASE ADDRESS=FFE20H SIZE=000C0H

View File

@ -39,9 +39,6 @@ typedef struct _system_status_
{
enum pwr_state_ pwr_state;
enum poweron_reason_ poweron_reason;
unsigned char dipsw0:1;
unsigned char dipsw1:1;
unsigned char dipsw2:1;
unsigned char reboot:1;
unsigned char info_fullcolor:1;
unsigned char force_off:1;

View File

@ -10,11 +10,10 @@
//#define _DBG_FORCE_FULLCOLOR_
//#define _PMIC_TEST_
//#define _ENABLE_WDT_TEST_
//#define _DBG_FORCE_JIKKI_
//#define _TAIKENDAI_
#define MCU_VER_MAJOR 0x01
#define MCU_VER_MINOR 0x06
#define MCU_VER_MINOR 0x07
//#define _MODEL_TEG2_

Binary file not shown.

View File

@ -94,7 +94,7 @@ __interrupt void int_iic_ctr( )
if( irq_readed )
{
IRQ0_neg;
irq_readed = 0;
irq_readed = false;
if( !( (( vreg_ctr[VREG_C_IRQ0] & vreg_ctr[VREG_C_IRQ_MASK0 ] ) == 0 )
&& (( vreg_ctr[VREG_C_IRQ1] & vreg_ctr[VREG_C_IRQ_MASK1 ] ) == 0 )
&& (( vreg_ctr[VREG_C_IRQ2] & vreg_ctr[VREG_C_IRQ_MASK2 ] ) == 0 )

View File

@ -91,7 +91,7 @@ static err iic_mcu_wait_free()
DI();
if( !iic_mcu_busy )
{
iic_mcu_busy = 1;
iic_mcu_busy = true;
break;
}
EI();
@ -132,7 +132,7 @@ u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
if( iic_mcu_call_slave( SLA ) != 0 )
{
iic_mcu_result = ERR_NOSLAVE;
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( 0 );
}
@ -160,7 +160,7 @@ u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
iic_mcu_send_sp( );
IICIF10 = 0; // 後を濁さないこと
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( dat );
#endif
}
@ -192,7 +192,7 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
// スタートコンディションとスレーブの呼び出し、レジスタアドレスの送信
if( iic_mcu_call_slave( slave ) != 0 )
{
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( ERR_NOSLAVE );
}
@ -230,7 +230,7 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
iic_mcu_send_sp( );
IICIF10 = 0;
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( ERR_SUCCESS );
}
@ -255,7 +255,7 @@ err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
}
temp = dat;
iic_mcu_wo_dma = 1;
iic_mcu_wo_dma = true;
return ( iic_mcu_write( SLA, adrs, 1, &temp ) );
#else
// 文字の時はDMAとか起動しないでさっさと終わらせる
@ -268,13 +268,13 @@ err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
IICMK10 = 1;
if( iic_mcu_call_slave( SLA ) != ERR_SUCCESS )
{
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( ERR_NOSLAVE );
}
iic_mcu_send_a_byte( adrs );
iic_mcu_send_a_byte( dat );
iic_mcu_send_sp( );
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( ERR_SUCCESS );
#endif
}
@ -311,7 +311,7 @@ err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
IICIF10 = 0;
if( iic_mcu_call_slave( slave ) != ERR_SUCCESS )
{
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( ERR_NOSLAVE );
}
@ -398,7 +398,7 @@ __interrupt void int_dma1( )
SO0 = 0x0404 | TAUS_MASK;
}
IICMK10 = 1;
iic_mcu_busy = 0;
iic_mcu_busy = false;
}
@ -434,8 +434,8 @@ __interrupt void int_iic10( )
SO0 = 0x0404 | TAUS_MASK;
}
iic_mcu_wo_dma = 0;
iic_mcu_busy = 0;
iic_mcu_wo_dma = false;
iic_mcu_busy = false;
}
@ -549,7 +549,7 @@ void iic_mcu_start( )
{
return;
}
iic_mcu_busy = 1;
iic_mcu_busy = true;
DST1 = 0;
NOP( ); // 2clkもしくは、DSTn==0をポーリング
NOP( );
@ -566,7 +566,7 @@ void iic_mcu_start( )
SDR02 = 10 << 9; // ボーレート設定 8M/1/(x+1)/2
SO0 = 0x0404 | TAUS_MASK; // 最初はHH
iic_mcu_wo_dma = 0;
iic_mcu_wo_dma = false;
// バスのリセット
@ -581,8 +581,8 @@ void iic_mcu_start( )
SIR02 = SSR02;
iic_mcu_busy = 0;
iic_mcu_initialized = 1;
iic_mcu_busy = false;
iic_mcu_initialized = true;
}
@ -599,7 +599,7 @@ void iic_mcu_stop( )
iic_mcu_send_re_st( ); // SCL,SDAをLLにする
I2C_PU_off();
SAU0EN = 0;
iic_mcu_initialized = 0;
iic_mcu_initialized = false;
}
@ -629,7 +629,7 @@ err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat )
IICMK10 = 1;
if( iic_mcu_call_slave( IIC_SLA_CODEC ) != ERR_SUCCESS )
{
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( ERR_NOSLAVE );
}
iic_mcu_send_a_byte( adrs );
@ -645,6 +645,6 @@ err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat )
count++;
iic_mcu_send_sp( );
iic_mcu_busy = 0;
iic_mcu_busy = false;
return ( ERR_SUCCESS );
}

View File

@ -138,6 +138,8 @@ void LED_init( )
         
         
*/
INFO_LED_IS_FULLCOLOR_PU = 1; // お知らせLEDを識別 先に上げておく
TAU0EN = 1;
TPS0 = BIT_PRS012 | BIT_PRS002; // マスタークロックはCK01,8M/2 /2^4 = 250kHz
@ -160,19 +162,19 @@ void LED_init( )
TDR00 = LED_BRIGHT_MAX - 1; // 周期 10bit
// お知らせLEDを識別 //
INFO_LED_IS_FULLCOLOR_PU = 1;
system_status.info_fullcolor = 0;
// INFO_LED_IS_FULLCOLOR_PU = 1; // もうちょっと前に上げておかないと…
system_status.info_fullcolor = 1;
if( system_status.model == MODEL_TS_BOARD )
{
#ifdef _DBG_FORCE_FULLCOLOR_
system_status.info_fullcolor = 1;
#ifndef _DBG_FORCE_FULLCOLOR_
system_status.info_fullcolor = 0;
#endif
}
else
{
if( !INFO_LED_IS_FULLCOLOR_n )
if( INFO_LED_IS_FULLCOLOR_n )
{
system_status.info_fullcolor = 1;
system_status.info_fullcolor = 0;
}
}
INFO_LED_IS_FULLCOLOR_PU = 0;
@ -188,7 +190,7 @@ void LED_init( )
vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO;
LED_duty_pow_blu = LED_BRIGHT_MAX;
}
info_led_off = 0;
info_led_off = false;
}
@ -230,7 +232,7 @@ enum LED_ILUM_MODE{
======================================================== */
void tsk_led_pow( )
{
info_led_override = 0;
info_led_override = false;
switch ( vreg_ctr[VREG_C_LED_POW] )
{
case ( LED_POW_ILM_AUTO ):
@ -392,7 +394,7 @@ static void led_pow_bt_empty()
static u8 delay;
static u8 red_blink_poi;
info_led_override = 1;
info_led_override = true;
// 赤点滅
led_fade_to( LED_duty_pow_blu, 0 );
@ -543,7 +545,7 @@ void tsk_led_notify( )
// 通常運転
if( info_led_pattern_updated )
{
info_led_pattern_updated = 0;
info_led_pattern_updated = false;
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP;
frame = 0; // ちゃんと書こう
time_to_next_frame = 0;
@ -626,7 +628,7 @@ void tsk_led_cam( )
return;
}
}
cam_led_update = 0; // TWL のブリンク設定(一発だけ点灯)のため
cam_led_update = false; // TWL のブリンク設定(一発だけ点灯)のため
// ブリンクのように待たせたいとき以外は毎週起動する
// (レジスタの変更にすぐに反応する)

View File

@ -94,35 +94,6 @@ void main( )
// ファームの整合性チェック //
{
#if 0
u8 i;
u8 comp = 0;
u8 comp2 = 0;
u8 comp3 = 0;
u8 temp;
// ローダーと本体は同じバージョンか?
/// 次へのアップデートの途中で終わってないか?
for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 らし
{
comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
comp2 += ( *( u8 * )( MGC_HEAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
}
if( *( u8 * )( MGC_FOOT ) == 0xFF ) // 消去済のまま
{
comp3 += 1;
}
if(! ( (comp == 0) && (comp2 == 0) && (comp3 == 0) ))
{
hdwinit2( );
// ファームリストアを試みる
temp = ( ((comp == 0)? 0:1 ) + ((comp2 == 0)? 0:2 ) + ((comp3 == 0)? 0:4 ) );
firm_restore( temp );
// 帰ってこない。リセットをかける。
}
#else
u8 i;
u8 comp = 0;
u8 temp;
@ -140,14 +111,13 @@ void main( )
comp += 1;
}
if(! ( (comp == 0) ))
if( comp != 0 )
{
hdwinit2( );
// ファームリストアを試みる
firm_restore( );
// 帰ってこない。リセットをかける。
}
#endif
}
WDT_Restart( );
@ -356,7 +326,6 @@ void wait_ms( u8 ms ){
u16 fine;
WDT_Restart();
// まだ適当です!
while( ms != 0 ){
ms--;
fine = 860;

View File

@ -18,10 +18,6 @@
#include "pool.h"
// ========================================================
static void read_dipsw( );
// ========================================================
system_status_ system_status;
uni_pool pool;
@ -57,11 +53,9 @@ void main_loop( void )
vreg_ctr_init( );
read_dipsw( ); // 特定スイッチで何かするか?
clear_hosu_hist(); // 履歴クリア
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */
@ -76,15 +70,3 @@ void main_loop( void )
}
/* ========================================================
======================================================== */
static void read_dipsw( )
{
// ソフトディップスイッチ読み込み
// PU4 |= 0x03; // dip sw 0,1
system_status.dipsw0 = ( DIPSW_0 == 0 ) ? 0 : 1;
system_status.dipsw1 = ( DIPSW_1 == 0 ) ? 0 : 1;
// PU4 &= ~0x03;
}

View File

@ -403,7 +403,7 @@ u8 hosu_read( )
p_record_buffer -= 1;
}
}
record_read_msb_lsb += 1;
record_read_msb_lsb ^= 1;
return( dat );
}
}

View File

@ -159,7 +159,7 @@ task_status_immed tski_PM_LCD_off();
task_status_immed tski_PM_BL_set();
#define PM_Chg_Stop() { BT_TEMP_P = 0; BT_CHG_DISABLE(); while( !BT_IN_CHG_n ){;}; LED_CHARGE = 0; bt_chg_ready = 0; }
#define PM_Chg_Stop() { BT_TEMP_P = 0; BT_CHG_DISABLE(); while( !BT_IN_CHG_n ){;}; LED_CHARGE = 0; bt_chg_ready = false; }
//  これを呼ぶ前に、現在温度を教えておく必要があります。

View File

@ -20,6 +20,9 @@
//#define _renge_test_
#define true 1
#define false 0
//******************************************************************************
u8 renge_flg_interval;
bit renge_task_interval_run_force;
@ -84,9 +87,9 @@ err renge_task_interval_run(){
// インターバル起動
DI();
if(( renge_flg_interval != 0 ) ||
( renge_task_interval_run_force != 0 )) // todo “<><E2809C>
( renge_task_interval_run_force )) // todo “<><E2809C>
{
renge_task_interval_run_force = 0;
renge_task_interval_run_force = false;
if( renge_flg_interval != 0 )
{
renge_flg_interval -= 1;

View File

@ -58,9 +58,9 @@ void RTC_init( void )
}
RWAIT = 0;
rtc_lock = 0;
rtc_dirty = 0;
rtc_alarm_dirty = 0;
rtc_lock = false;
rtc_dirty = false;
rtc_alarm_dirty = false;
}
@ -102,9 +102,9 @@ __interrupt void int_rtc( )
======================================================== */
void rtc_buf_reflesh( )
{
if( rtc_lock == 0 )
if( !rtc_lock )
{
rtc_lock = 1;
rtc_lock = true;
RWAIT = 1;
while( !RWST )
{;
@ -126,9 +126,9 @@ void rtc_buf_reflesh( )
======================================================== */
void set_rtc( u8 adrs, u8 data )
{
if( rtc_dirty == 0 )
if( !rtc_dirty )
{
rtc_dirty = 1;
rtc_dirty = true;
memcpy( rtc_work, &SEC, 7 );
// renge_task_immed_add( tski_rtc_close ); // I2C終了時に行う
}
@ -145,13 +145,13 @@ void rtc_unlock( )
{
// リードロック
// if( rtc_lock != 0 ){
rtc_lock = 0;
rtc_lock = false;
// }
// ライトロック
if( rtc_dirty != 0 )
if( rtc_dirty )
{
rtc_dirty = 0;
rtc_dirty = false;
RWAIT = 1;
while( !RWST )
{;
@ -166,7 +166,7 @@ void rtc_unlock( )
WALE = 0;
ALARMWM = vreg_ctr[VREG_C_RTC_ALARM_MIN];
ALARMWH = vreg_ctr[VREG_C_RTC_ALARM_HOUR];
rtc_dirty = 0;
rtc_alarm_dirty = false;
WALE = 1;
}
}

View File

@ -77,11 +77,9 @@ void tsk_sw( )
{
static u8 task_interval = 0;
switch ( system_status.pwr_state )
if( system_status.pwr_state == ON_TRIG )
{
case ( ON_TRIG ):
SW_pow_count = 0;
break;
SW_pow_count = 0; // カウントクリア
}
if( task_interval-- != 0 )

View File

@ -111,7 +111,7 @@ void tsk_misc( )
======================================================== */
if( twl_ver_read )
{
twl_ver_read = 0;
twl_ver_read = false;
set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ );
}
}
@ -170,7 +170,7 @@ task_status_immed do_command0( )
if( temp_command & REG_BIT_GOING_TO_SLEEP )
{
going_to_sleep = 1;
going_to_sleep = true;
}
if( ( temp_command & ( REG_BIT_OFF_REQ | REG_BIT_RESET1_REQ | REG_BIT_FCRAM_RESET_REQ | REG_BIT_RESET2_REQ )) != 0x00 )
@ -205,7 +205,7 @@ task_status_immed do_command0( )
PM_reset_neg();
RESET2_neg;
twl_ntr_mode = 0;
twl_ntr_mode = false;
// CODEC 不定レジスタ初期化
codec_reg_init();
@ -242,22 +242,33 @@ extern bit bt_chg_ready;
/* ========================================================
 
 
1)
2) PMIC
3)
4)
5)
6) ( rcomp & 0xFF )
7) raw_adc_temperature
8) ( !temp_zone_charge_disable | ( bt_chg_ready << 1 ) )
9)
======================================================== */
task_status_immed tski_mcu_info_read()
{
static u8 infos[10];
if( SPD )
if( SPD ) // stop
{
goto end;
}
if( STD )
if( STD ) // restart
{
SPIE = 1;
WDT_Restart( );
}
if( IICAIF == 0 )
if( IICAIF == 0 ) // I2Cのステートが進むのを待つ
{
return( ERR_CONTINUE );
}
@ -266,11 +277,13 @@ task_status_immed tski_mcu_info_read()
IICAIF = 0;
}
switch( iic_burst_state++ ){
case( 0 ): // 本体種類識別
#ifdef _DBG_FORCE_JIKKI_
IICA = MODEL_JIKKI;
#else
WDT_Restart( );
if( iic_burst_state > 8 )
{
goto end;
}
else if( iic_burst_state == 0 )
{
if( !system_status.captureBox )
{
IICA = (u8)system_status.model;
@ -279,41 +292,20 @@ task_status_immed tski_mcu_info_read()
{
IICA = MODEL_CAPTURE_BOX;
}
#endif
break;
case( 1 ): // IICがなにかエラーでも知らない。00かFFならエラーの可能性が高い
IICA = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
break;
case( 2 ): // 電池メーカーの識別
IICA = battery_manufacturer;
break;
case( 3 ): // ガスゲージバージョン
IICA = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION );
break;
case( 4 ): // LSB
IICA = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION + 1 );
break;
case( 5 ):
IICA = (u8)( _dbg_rcomp & 0xFF );
break;
case( 6 ):
IICA = raw_adc_temperature;
break;
case( 7 ):
IICA = ( !temp_zone_charge_disable | ( bt_chg_ready << 1 ) );
break;
default:
goto end;
// これで勝手に転送が始まるから今のうちにデータの準備をしておく
infos[0] = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
infos[1] = battery_manufacturer;
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION, 2, &infos[2] );
infos[4] = (u8)( _dbg_rcomp & 0xFF );
infos[5] = raw_adc_temperature;
infos[6] = ( !temp_zone_charge_disable | ( bt_chg_ready << 1 ) );
infos[7] = system_status.info_fullcolor;
}
WDT_Restart( );
else
{
IICA = infos[ iic_burst_state -1 ];
}
iic_burst_state++;
return( ERR_CONTINUE );
end:

View File

@ -65,7 +65,7 @@ void tsk_sys( )
if( timeout > 100 )
{
system_status.pwr_state = OFF_TRIG; // スイッチはノイズだった。寝る。
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
return;
}
@ -78,7 +78,7 @@ void tsk_sys( )
system_status.poweron_reason = PWSW;
}
SW_pow_mask = 1;
SW_pow_mask = true;
timeout = 0;
@ -94,13 +94,13 @@ void tsk_sys( )
// 電源投入 //
iic_mcu_start( );
bt_force_update = 0;
bt_force_update = false;
BT_chk(); // 実機やバッテリの判定、電池残量ICの設定
#ifndef _ALLOW_NOBATT_
if( system_status.model == MODEL_JIKKI_NOBATT )
{
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
system_status.pwr_state = OFF_TRIG;
return;
}
@ -114,14 +114,14 @@ void tsk_sys( )
)
{
// 電池が少ないので起動させない(電圧チェックもされてる)
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
system_status.pwr_state = OFF_TRIG;
return;
}
if( PM_sys_pow_on( ) != ERR_SUCCESS )
{ // 電源起動不可エラー
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
system_status.pwr_state = OFF_TRIG;
return;
}
@ -160,7 +160,7 @@ void tsk_sys( )
PIF0 = 0;
system_status.poweron_reason = NONE;
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
MK0 = INT_MSK0_RSV;
MK1 = INT_MSK1_RSV;
@ -217,7 +217,7 @@ void tsk_sys( )
{
PM_VDD_ecoMode();
system_status.pwr_state = SLEEP;
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
}
}
@ -266,7 +266,7 @@ void tsk_sys( )
vreg_ctr[ VREG_C_LED_POW ] = LED_POW_ILM_OFF;
vreg_ctr[ VREG_C_LED_WIFI ] = WIFI_LED_OFF;
vreg_ctr[ VREG_C_LED_TUNE ] = LED_TUNE_ILM_OFF;
info_led_off = 1;
info_led_off = true;
if( LED_duty_pow_blu != 0 )
{
return;
@ -318,7 +318,7 @@ void tsk_sys( )
timeout = 0;
system_status.pwr_state = BT_CHARGE;
SW_pow_mask = 1;
SW_pow_mask = true;
SW_pow_count = 0;
@ -357,7 +357,7 @@ void tsk_sys( )
iic_mcu_stop( );
pm_chk_adapter();
PM_Chg_Stop();
bt_force_update = 1;
bt_force_update = true;
while( RWST )
{;}
@ -380,7 +380,7 @@ void tsk_sys( )
{
// 一度起こしてしまう。ペリフェラルの初期化など流用のため。
// 電源ボタンのタイムアウトで返ってくる
SW_pow_mask = 0;
SW_pow_mask = false;
}
# ifdef _MCU_BSR_
OSMC = 0x01;
@ -421,7 +421,7 @@ static void chk_emergencyExit(){
// リセットが下がってる
/// PMICが異常終了判断をした
system_status.pwr_state = OFF_TRIG;
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
}
else
{
@ -449,7 +449,7 @@ static void chk_emergencyExit(){
{
// 白箱は電源を切りたいらしい
system_status.pwr_state = OFF_TRIG;
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
shirobako_power_control_count = 240;
}
else
@ -484,7 +484,7 @@ static void force_off_check()
if( system_status.force_off )
{
system_status.pwr_state = OFF_TRIG;
renge_task_interval_run_force = 1;
renge_task_interval_run_force = true;
}
}
@ -496,7 +496,7 @@ static void force_off_check()
======================================================== */
void send_getup_to_soc()
{
going_to_sleep = 0;
going_to_sleep = false;
timeout_sleep = 0;
#ifdef _MODEL_CTR_
SLP_ACK = 1;

View File

@ -201,7 +201,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
iic_burst_state += 1;
if( iic_burst_state > 4 ) // パターンを1文字でも書いた
{
info_led_pattern_updated = 1;
info_led_pattern_updated = true;
}
}
@ -247,12 +247,12 @@ void vreg_ctr_write( u8 adrs, u8 data )
break;
case ( VREG_C_RTC_ALARM_MIN ):
rtc_alarm_dirty = 1;
rtc_alarm_dirty = true;
vreg_ctr[ VREG_C_RTC_ALARM_MIN ] = (u8)( data & 0x7F );
break;
case ( VREG_C_RTC_ALARM_HOUR ):
rtc_alarm_dirty = 1;
rtc_alarm_dirty = true;
vreg_ctr[ VREG_C_RTC_ALARM_HOUR ] = (u8)( data & 0x3F );
break;
@ -465,7 +465,7 @@ void vreg_ctr_after_read( u8 adrs, u8 data )
DI();
vreg_ctr[ adrs ] ^= data;
EI();
irq_readed = 1;
irq_readed = true;
break;
case VREG_CX_FREE_DATA:

View File

@ -47,7 +47,7 @@ void vreg_twl_write( u8 adrs, u8 data )
{
case ( REG_TWL_INT_ADRS_VOL ):
{
vol_changed_by_twl = 1;
vol_changed_by_twl = true;
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = data;
renge_task_immed_add( tski_vol_update );
break;
@ -56,7 +56,7 @@ void vreg_twl_write( u8 adrs, u8 data )
case ( REG_TWL_INT_ADRS_MODE ):
if(( data & 0x03 ) == 0 )
{
twl_ntr_mode = 1;
twl_ntr_mode = true;
}
vreg_twl[ REG_TWL_INT_ADRS_MODE ] = ( data & 0x83 ); // [8]vol32 [1:0]nand
break;
@ -65,7 +65,7 @@ void vreg_twl_write( u8 adrs, u8 data )
vreg_twl[ REG_TWL_INT_ADRS_CAM ] = ( data & 0x03 );
if( ( data & 0x03 ) == TWL_CAMLED_BLINK )
{
cam_led_update = 1;
cam_led_update = true;
}
tsk_led_cam(); // todo 大丈夫?
break;
@ -146,7 +146,7 @@ u8 vreg_twl_read( u8 phy_adrs )
case( REG_TWL_INT_ADRS_VER_INFO ):
// set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ ); // 速度的に無理なので
twl_ver_read = 1;
twl_ver_read = true;
return( TWL_REG_VER_INFO );
case( REG_TWL_ADRS_NON_EXIST ):

View File

@ -22,7 +22,7 @@ SubClock=None
[Mapping]
Count=0
[Main]
Geometry=-1205, 80, 1200, 882
Geometry=135, 208, 1200, 882
Window=Max
MDI_MAX=OFF
Button=ON
@ -50,7 +50,7 @@ LoadFilter1=5
Offset1=0
Object1=ON
Symbol1=ON
Erase1=OFF
Erase1=ON
HighSpeed1=OFF
CPU Reset1=ON
Symbol Reset1=ON
@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C
Kanji=SJIS
[Source]
Geometry=15, 24, 1021, 1043
Geometry=151, 98, 1021, 817
Window=Normal
DispStart=377
CaretPos=378,0
DispStart=16
CaretPos=69,0
Mode=Normal
DispFile=
Address1=
@ -140,26 +140,18 @@ SaveStart=
SaveEnd=
Accumulative=ON
[Source1]
Geometry=0, 0, 877, 1043
Geometry=25, 25, 1021, 817
Window=Normal
DispStart=631
CaretPos=1062,0
DispStart=136
CaretPos=46,31
Mode=Normal
DispFile=pm.c
Accumulative=ON
[Source2]
Geometry=477, 23, 877, 1043
Window=Normal
DispStart=445
CaretPos=266,9
Mode=Normal
DispFile=task_sys.c
DispFile=led.c
Accumulative=ON
[Assemble]
Geometry=124, 418, 968, 626
Window=Normal
DispStart=17725
CaretPos=17725,27
DispStart=764
CaretPos=764,27
Address1=
Address2=
Address3=
@ -976,40 +968,57 @@ Count=0
Geometry=1075, 10, 441, 702
Window=Normal
Boundary=18088086
0=+vreg_ctr,P,N,A,-,1
1=.info_led_override,P,N,A,+,1
2=.TDR07,P,S,A,+,1
3=.PM4.2,P,S,A,+,1
4=.P4.2,P,S,A,+,1
5=.PM1.5,P,S,A,+,1
6=.P1.5,P,S,A,+,1
7=.SW_pow_count,P,N,A,+,1
8=+system_status,.,N,A,-,1
9=.info_LED,.,N,A,+,1
10=.time_to_next_frame,P,N,A,+,1
Line=11
0=.infos,P,N,A,+,1
1=.bt_remain_old_ctr,P,N,A,+,1
2=.bt_remain_old_ntr,P,N,A,+,1
3=.bt_remain_old_ntr,P,N,A,+,1
4=.vreg_ctr,P,N,A,+,1
5=.info_led_override,P,N,A,+,1
6=.TDR07,P,S,A,+,1
7=.PM4.2,P,S,A,+,1
8=.P4.2,P,S,A,+,1
9=.PM1.5,P,S,A,+,1
10=.P1.5,P,S,A,+,1
11=.SW_pow_count,P,N,A,+,1
12=.battery_manufacturer,P,N,A,+,1
13=.system_status,.,N,A,+,1
14=.info_LED,.,N,A,+,1
15=.time_to_next_frame,P,N,A,+,1
Line=16
[Quick Watch]
0=P12.0,P,A,1
1=acc_norm,P,A,1
2=chg_led_override,P,A,1
3=temp_pm_extdc,P,A,1
4=pm_extdc_old,P,A,1
5=time_to_next_frame,P,A,1
6=system_status,P,A,1
7=vreg_ctr,P,A,1
8=P4.2,P,A,1
9=PM4.2,P,A,1
10=TDR07,P,A,1
11=info_led_override,P,A,1
12=P1.5,P,A,1
13=PM1.6,P,A,1
14=PM1.5,P,A,1
15=SW_pow_count,P,A,1
0=pm_extdc_old,P,A,1
1=time_to_next_frame,P,A,1
2=system_status,P,A,1
3=vreg_ctr,P,A,1
4=P4.2,P,A,1
5=PM4.2,P,A,1
6=TDR07,P,A,1
7=info_led_override,P,A,1
8=P1.5,P,A,1
9=PM1.6,P,A,1
10=PM1.5,P,A,1
11=SW_pow_count,P,A,1
12=bt_remain_old_ntr,P,A,1
13=bt_remain_old_ctr,P,A,1
14=infos,P,A,1
15=battery_manufacturer,P,A,1
[Software Break]
Geometry=709, 826, 445, 260
Window=Normal
Width=150 30 200 100
Count=0
Name0=Swb00001
Address0=task_misc.c#_tski_mcu_info_read+0x87
Window0=ASM
Status0=ON
Name1=Swb00002
Address1=led.c#_LED_init+0x1
Window1=ASM
Status1=ON
Name2=Swb00003
Address2=led.c#_LED_init+0x54
Window2=ASM
Status2=ON
Count=3
[Reset]
Debugger=ON
Symbol=OFF

View File

@ -4,16 +4,15 @@ FrameX=21
FrameY=37
FrameCX=1299
FrameCY=1044
OpenFile1=led.c,0,504,84,1559,996,20,560,31,0
OpenFile2=pm.h,0,198,198,1442,924,24,139,24,0
OpenFile3=loader.c,0,176,176,1420,902,9,92,9,0
OpenFile4=self_flash.c,0,242,242,1486,968,48,255,48,0
OpenFile5=ProjectWindow
OpenFile1=ProjectWindow
PrjPos=0,2,754,3,253
OpenFile2=jhl_defs.h,0,286,286,1530,1012,0,15,26,0
OpenFile3=renge\renge.c,0,348,332,1592,1058,15,24,22,0
OpenFile4=i2c_mcu.c,0,330,330,1574,1056,24,552,28,0
OpenFile5=batt_params.h,0,352,352,1596,1078,0,97,0,0
OpenFile6=OutputWindow
OutputPos=0,491,1000,330,1535
OpenFile7=pm.c,0,288,42,1532,768,5,488,0,0
OpenFile8=user_define.h,0,128,280,1372,1037,49,11,49,0
OpenFile7=pm.c,0,260,62,1504,788,1,267,0,0
ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow]
ProjectWindowDispType=0

View File

@ -12,7 +12,7 @@ T=4c889612
8=reboot.h
9=magic.h
[pm.c]
T=4c8db696
T=4c8edcae
1=incs.h
2=adc.h
3=led.h
@ -22,11 +22,11 @@ T=4c8db696
7=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
8=fsl_user.h
[i2c_ctr.c]
T=4c3e9a73
T=4c8ed590
1=config.h
2=incs.h
[main.c]
T=4c5a5ef2
T=4c8ed590
1=incs_loader.h
2=WDT.h
3=rtc.h
@ -36,13 +36,13 @@ T=4c5a5ef2
7=adc.h
8=pool.h
[magic.c]
T=4c8dcae0
T=4c8edcae
1=config.h
[WDT.c]
T=4bf0d1e1
1=incs_loader.h
[i2c_mcu.c]
T=4c3c5d1f
T=4c8ed5b8
1=incs_loader.h
2=i2c_mcu.h
[i2c_twl.c]
@ -52,14 +52,14 @@ T=4c8db696
3=i2c_twl_defs.h
4=i2c_twl.h
[led.c]
T=4c871cec
T=4c8ed590
1=incs.h
2=led.h
[rtc.c]
T=4c883032
T=4c8ed590
1=incs.h
[vreg_ctr.c]
T=4c89d17c
T=4c8ed590
1=incs.h
2=vreg_ctr.h
3=rtc.h
@ -70,21 +70,21 @@ T=4c89d17c
8=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
9=fsl_user.h
[vreg_twl.c]
T=4c4fe78d
T=4c8ed590
1=incs.h
2=jhl_defs.h
3=led.h
4=vreg_twl.h
5=vreg_ctr.h
[adc.c]
T=4c89d17c
T=4c8ed8d7
1=incs.h
2=adc.h
3=pm.h
4=led.h
5=voltable.h
[renge\renge.c]
T=4c8db630
T=4c8ed5ae
1=renge\renge.h
2=renge\renge_task_intval.h
3=renge\renge_task_immediate.h
@ -107,7 +107,7 @@ T=4c88907a
6=magic.h
7=pm.h
[sw.c]
T=4c6cdcfe
T=4c8ed8d7
1=incs.h
2=i2c_twl.h
3=i2c_ctr.h
@ -122,7 +122,7 @@ T=4c4698f9
3=pm.h
4=accero.h
[task_misc.c]
T=4c8db696
T=4c8ed590
1=incs.h
2=renge\renge.h
3=pm.h
@ -131,7 +131,7 @@ T=4c8db696
6=i2c_mcu.h
7=led.h
[task_sys.c]
T=4c8db2f7
T=4c8ed590
1=incs.h
2=i2c_twl.h
3=i2c_ctr.h
@ -143,7 +143,7 @@ T=4c8db2f7
9=adc.h
10=self_flash.h
[pedo_alg_thre_det2.c]
T=4c6a6818
T=4c8ed590
1=incs.h
2=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
3=accero.h
@ -173,10 +173,10 @@ T=4c889601
8=i2c_mcu.h
9=WDT.h
[jhl_defs.h]
T=4c075832
T=4c8ed032
1=config.h
[config.h]
T=4c8ddc4c
T=4c8ed8d7
[user_define.h]
T=4c84442a
[bsr_system.h]
@ -206,7 +206,7 @@ T=4bf0d1e0
[i2c_ctr.h]
T=4bf0d1e1
[pm.h]
T=4c8db54c
T=4c8ed590
[rtc.h]
T=4bf0d1e1
[reboot.h]