diff --git a/trunk/bsr_system.h b/trunk/bsr_system.h index 2631114..32aff94 100644 --- a/trunk/bsr_system.h +++ b/trunk/bsr_system.h @@ -17,9 +17,7 @@ enum pwr_state_ enum poweron_reason_ { NONE = 0, - PWSW, - RTC_ALARM, - EXT_POWER + PWSW }; @@ -43,6 +41,7 @@ typedef struct _system_status_ unsigned char info_fullcolor:1; unsigned char force_off:1; unsigned char captureBox:1; // キャプチャ箱 SDKには実機と返す + unsigned char taikendai:1; enum model_ model; }system_status_; diff --git a/trunk/config.h b/trunk/config.h index de4f9f3..09e3aaa 100644 --- a/trunk/config.h +++ b/trunk/config.h @@ -10,10 +10,10 @@ //#define _DBG_FORCE_FULLCOLOR_ //#define _PMIC_TEST_ //#define _ENABLE_WDT_TEST_ -//#define _TAIKENDAI_ +#define _FORCE_TAIKENDAI_ #define MCU_VER_MAJOR 0x01 -#define MCU_VER_MINOR 0x09 +#define MCU_VER_MINOR 10 #define _firm_format_v3_ diff --git a/trunk/hoge.bin b/trunk/hoge.bin index 0f38753..69d2c33 100644 Binary files a/trunk/hoge.bin and b/trunk/hoge.bin differ diff --git a/trunk/led.c b/trunk/led.c index 3bed32a..857ccc5 100644 --- a/trunk/led.c +++ b/trunk/led.c @@ -9,6 +9,7 @@ #include "led.h" + // ======================================================== // TPS0 #define BIT_PRS012 ( 1 << 2 ) diff --git a/trunk/loader.c b/trunk/loader.c index 5acdd72..5bafdfc 100644 --- a/trunk/loader.c +++ b/trunk/loader.c @@ -135,6 +135,21 @@ void main( ) } } + // 試遊台判定 + // デバッガつないでると上手に判定できないことがあります。 +#ifndef _FORCE_TAIKENDAI_ + if( !P4.1 ) +#else + if(1) +#endif + { + system_status.taikendai = 1; + } + else + { + system_status.taikendai = 0; + } + // 通常運転 main_loop( ); } diff --git a/trunk/main.c b/trunk/main.c index d9b8d0e..c3c05c1 100644 --- a/trunk/main.c +++ b/trunk/main.c @@ -29,7 +29,6 @@ uni_pool pool; ======================================================== */ void main_loop( void ) { - // 電池投入時、ファームアップデート後のみ RTC_init( ); // 内部でリブートか判定しています diff --git a/trunk/renge/renge.c b/trunk/renge/renge.c index 8d44de2..1c5eedc 100644 --- a/trunk/renge/renge.c +++ b/trunk/renge/renge.c @@ -137,7 +137,7 @@ void renge_task_immed_init(){ 逐次実行タスクの登録 割り込み禁止 36us → **************************************/ -err renge_task_immed_add( task_status_immed* new_task ){ +err renge_task_immed_add( task_status_immed (*new_task)() ){ u8 i; // リストの空きの先頭に登録 diff --git a/trunk/renge/renge.h b/trunk/renge/renge.h index bd7c5ae..b029eb9 100644 --- a/trunk/renge/renge.h +++ b/trunk/renge/renge.h @@ -14,7 +14,7 @@ void renge_init(); void renge_task_immed_init(); err renge_task_immed_run(); -err renge_task_immed_add( task_status_immed* ); +err renge_task_immed_add( task_status_immed (*p_task_func)() ); // static err renge_task_immed_del( u8 ); diff --git a/trunk/rtc.c b/trunk/rtc.c index 19332dd..0b89d3c 100644 --- a/trunk/rtc.c +++ b/trunk/rtc.c @@ -78,18 +78,7 @@ __interrupt void int_rtc( ) && ( vreg_ctr[VREG_C_RTC_ALARM_MONTH] == MONTH ) && ( vreg_ctr[VREG_C_RTC_ALARM_YEAR] == YEAR ) ) { - if( ( vreg_ctr[VREG_C_IRQ_MASK1] & REG_BIT_RTC_ALARM ) == 0 ) - { - vreg_ctr[VREG_C_IRQ1] |= REG_BIT_RTC_ALARM; - IRQ0_ast; - // マスクをしてあったら、電源を入れません - if(( system_status.pwr_state == BT_CHARGE ) || - ( system_status.pwr_state == OFF )) - { - system_status.poweron_reason = RTC_ALARM; - system_status.pwr_state = OFF; - } - } + set_irq( VREG_C_IRQ1, REG_BIT_RTC_ALARM ); } RWAIT = 0; } diff --git a/trunk/rtc.h b/trunk/rtc.h index cd1a0f7..f189a89 100644 --- a/trunk/rtc.h +++ b/trunk/rtc.h @@ -4,7 +4,7 @@ void RTC_init( void ); void rtc_buf_reflesh( ); -void set_rtc( ); +void set_rtc( u8 adrs, u8 data ); //task_status_immed tski_rtc_close(); void rtc_unlock( ); diff --git a/trunk/task_sys.c b/trunk/task_sys.c index 0d4f052..4b42945 100644 --- a/trunk/task_sys.c +++ b/trunk/task_sys.c @@ -243,12 +243,14 @@ void tsk_sys( ) // 強制offカウント force_off_check(); -#ifdef _TAIKENDAI_ - if( PM_EXTDC_n ) + if( system_status.taikendai ) { - system_status.pwr_state = OFF_TRIG; + if( PM_EXTDC_n ) + { + system_status.pwr_state = OFF_TRIG; + } } -#endif + break; case SLEEP: //------------------------------------------ @@ -263,12 +265,13 @@ void tsk_sys( ) force_off_check(); -#ifdef _TAIKENDAI_ - if( PM_EXTDC_n ) + if( system_status.taikendai ) { - system_status.pwr_state = OFF_TRIG; + if( PM_EXTDC_n ) + { + system_status.pwr_state = OFF_TRIG; + } } -#endif break; case OFF_TRIG: //--------------------------------------- @@ -369,12 +372,14 @@ void tsk_sys( ) { iic_mcu_stop( ); } -#ifdef _TAIKENDAI_ + + if( system_status.taikendai ) + { // 電源投入 wait_ms(46); system_status.poweron_reason = PWSW; system_status.pwr_state = OFF; -#endif + } } else { @@ -428,9 +433,12 @@ void tsk_sys( ) # endif RTCIMK = 0; system_status.pwr_state = OFF; -#ifdef _TAIKENDAI_ - system_status.pwr_state = OFF_TRIG; -#endif + + if( system_status.taikendai ) + { + system_status.pwr_state = OFF_TRIG; + } + } return; diff --git a/trunk/yav_mcu_bsr.prj b/trunk/yav_mcu_bsr.prj index 145c625..05d3d2a 100644 --- a/trunk/yav_mcu_bsr.prj +++ b/trunk/yav_mcu_bsr.prj @@ -1,12 +1,12 @@ [ProjectManager] Version=6.00 -Path=D:\MyDocuments\workspace\mcufirm_RED\trunk\ +Path=C:\78k_data\yav-mcu-basara\trunk\ Title=yav-mcu Series=78K0R.PM Device=uPD79F0104 DeviceVer=E1.00b DebugMode=1 -Target=D:\MyDocuments\workspace\mcufirm_RED\trunk\bsr.lmf +Target=C:\78k_data\yav-mcu-basara\trunk\bsr.lmf [BuildMode0] BuildModeName=Debug Build TargetFile=0 @@ -15,13 +15,13 @@ BuildModeName=Release Build TargetFile=0 [Tools] MakeFile=yav_mcu_bsr.mak -Debugger=D:\Program Files\NEC Electronics Tools\ID78K0R-QB\E3.60f\BIN\IDK0R32G.EXE +Debugger=C:\Program Files\NEC Electronics Tools\ID78K0R-QB\E3.60f\BIN\IDK0R32G.EXE DebOption= DebCpuReset=1 DebSymReset=1 MuitiLoad=0 LoadPrjNum=0 -CheckVersion=CC78K0R|W2.12;RA78K0R|W1.33 +CheckVersion=CC78K0R|W2.10;RA78K0R|W1.31 [Option.IDK0R32G] File=yav_mcu_bsr.pri [BuildMode2] @@ -713,6 +713,37 @@ VfiFileBoot0= VfiFileBoot1=boot.vfi VF78K0Rchk=0 VF78K0Rvs= +[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.LK78K0R 0] Version=100 O0=bsr_k0r.lmf @@ -830,7 +861,7 @@ ZB= Etcetera0= Etcetera1=boot.lmf CommandFile=0 -OFILE=D:\MyDocuments\workspace\mcufirm_RED\trunk\bsr.lmf +OFILE=C:\78k_data\yav-mcu-basara\trunk\bsr.lmf [Options.LK78K0R 3] Version=100 O0=bsr_bsr.lmf @@ -964,37 +995,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.78K0R] BuildMode=2 BuildMode2=K0R_dbg @@ -1007,10 +1007,9 @@ DefaultMode4=1 DefaultMode5=1 [ToolSet] ToolSetName=(変更)78K0R Software Package V1.10 -Tool1=CC78K0R|W2.12 -Tool2=RA78K0R|W1.33 -Tool3=SK78K0R|V3.10 -Tool4=ID78K0R-QB|E3.60f +Tool1=CC78K0R|W2.10 +Tool2=RA78K0R|W1.31 +Tool3=ID78K0R-QB|E3.60f [IncFile] Include1=incs_loader.h Include2=jhl_defs.h @@ -1045,5 +1044,5 @@ Include30=pool.h Include31=pedo_lpf_coeff.h Include32=voltable.h Include33=magic.h -Include34=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h -Include35=..\..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.12\inc78k0r\math.h +Include34=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h +Include35=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h diff --git a/trunk/yav_mcu_bsr.prk b/trunk/yav_mcu_bsr.prk index 086e671..05a7676 100644 --- a/trunk/yav_mcu_bsr.prk +++ b/trunk/yav_mcu_bsr.prk @@ -5,19 +5,18 @@ FrameY=115 FrameCX=1200 FrameCY=854 OpenFile1=jhl_defs.h,0,286,286,1530,1012,0,15,26,0 -OpenFile2=i2c_mcu.c,0,330,330,1574,1056,24,552,28,0 -OpenFile3=ProjectWindow +OpenFile2=ProjectWindow PrjPos=0,0,1039,0,345 -OpenFile4=self_flash.c,0,352,352,1596,1078,0,142,5,0 -OpenFile5=ini_VECT.c,0,330,330,1574,1056,6,93,6,0 -OpenFile6=config.h,0,220,220,1464,946,29,16,29,0 -OpenFile7=magic.c,0,242,242,1486,968,0,11,0,0 -OpenFile8=renge\renge.c,0,348,332,1592,1058,31,143,54,0 -OpenFile9=loader.c,0,264,264,1508,990,5,195,25,0 -OpenFile10=batt_params.h,0,352,352,1596,1078,0,83,0,0 -OpenFile11=pm.c,0,286,286,1530,1012,0,1078,0,0 -OpenFile12=vreg_ctr.c,0,308,308,1552,1034,9,148,64,0 -OpenFile13=OutputWindow +OpenFile3=self_flash.c,0,352,352,1596,1078,0,142,5,0 +OpenFile4=ini_VECT.c,0,330,330,1574,1056,6,93,6,0 +OpenFile5=config.h,0,220,220,1464,946,29,16,29,0 +OpenFile6=renge\renge.c,0,348,332,1592,1058,31,143,54,0 +OpenFile7=vreg_ctr.c,0,330,330,1574,1056,0,123,0,0 +OpenFile8=loader.c,0,264,264,1508,990,0,122,95,0 +OpenFile9=pm.c,0,352,352,1596,1078,0,853,0,0 +OpenFile10=i2c_mcu.c,0,330,330,1574,1056,0,205,28,0 +OpenFile11=led.c,0,0,0,1244,726,68,109,68,0 +OpenFile12=OutputWindow OutputPos=0,3,734,347,1591 ActivePRJ=yav_mcu_bsr.prj [ProjectWindow]