diff --git a/trunk/loader.c b/trunk/loader.c index e00293e..22f30ff 100644 --- a/trunk/loader.c +++ b/trunk/loader.c @@ -208,7 +208,7 @@ void hdwinit2( ) PU4 = 0b00000000; // 外部でプルアップしてほしいtool0,1) PU5 = 0b00000011; PU7 = 0b00011001; - PU12 = 0b00000100; + PU12 = 0b00000000; PU14 = 0b00000000; #ifdef _MCU_BSR_ diff --git a/trunk/main.c b/trunk/main.c index 5bf7e44..2d0998a 100644 --- a/trunk/main.c +++ b/trunk/main.c @@ -73,7 +73,7 @@ void main_loop( void ) RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */ // メインループ // - while( 1 ) + while( 1 ) { // システムtick、または割り込みで廻ります。 WDT_Restart( ); renge_task_interval_run( ); // 内部で、システムtickまたは強制起動します diff --git a/trunk/rtc.c b/trunk/rtc.c index f701dd3..7d3a4a0 100644 --- a/trunk/rtc.c +++ b/trunk/rtc.c @@ -82,7 +82,8 @@ __interrupt void int_rtc( ) vreg_ctr[VREG_C_IRQ1] |= REG_BIT_RTC_ALARM; IRQ0_ast; // マスクをしてあったら、電源を入れません - if( system_status.pwr_state == BT_CHARGE ) + if(( system_status.pwr_state == BT_CHARGE ) || + ( system_status.pwr_state == OFF )) { system_status.poweron_reason = RTC_ALARM; } diff --git a/trunk/sw.c b/trunk/sw.c index 5ea857d..5e4ef7a 100644 --- a/trunk/sw.c +++ b/trunk/sw.c @@ -16,7 +16,7 @@ //========================================================= #define INTERVAL_TSK_SW 16 -#define CLICK_THRESHOLD 2 +#define CLICK_THRESHOLD 1 #define HOLD_THREASHOLD (u8)( 600 / INTERVAL_TSK_SW ) @@ -114,12 +114,8 @@ void tsk_sw( ) cnt_force_off += 1; if( cnt_force_off >= 13 ) { // …返事がない。強制的に切る。 - vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_OFF; - if( ( LED_duty_pow_H == 0 ) && ( LED_duty_pow_L == 0 ) ) - { system_status.pwr_state = OFF_TRIG; renge_task_interval_run_force = 1; - } } } else @@ -130,7 +126,7 @@ void tsk_sw( ) // HOME スイッチ // if( SW_HOME_n ) { - if( ( CLICK_THRESHOLD < SW_home_count ) && ( SW_home_count < HOLD_THREASHOLD ) ) + if( ( CLICK_THRESHOLD < SW_home_count ) && ( SW_home_count <= HOLD_THREASHOLD ) ) { set_irq( VREG_C_IRQ0, REG_BIT_SW_HOME_CLICK ); } diff --git a/trunk/task_sys.c b/trunk/task_sys.c index fe73a4c..267c8cb 100644 --- a/trunk/task_sys.c +++ b/trunk/task_sys.c @@ -44,7 +44,8 @@ void tsk_sys( ) { default: // スイッチで電源on - if( ( SW_pow_count != 0 ) || ( SW_wifi_count != 0 ) ) + + if( SW_pow_count != 0 ) { timeout = 0; } @@ -58,7 +59,8 @@ void tsk_sys( ) renge_task_interval_run_force = 1; return; } - if( ( SW_pow_count < 3 ) && ( SW_wifi_count < 3 ) ) + + if( SW_pow_count < 3 ) { // もう少しスイッチの様子を見る return; @@ -181,10 +183,16 @@ void tsk_sys( ) break; case OFF_TRIG: //--------------------------------------- + // LED消灯を待つ + vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_OFF; + if(( LED_duty_pow_H != 0 ) || ( LED_duty_pow_L != 0 )) + { + return; + } + LED_stop( ); IIC_ctr_Stop( ); IIC_twl_Stop( ); - iic_mcu_stop( ); RTC_32k_off(); vreg_ctr[VREG_C_IRQ0] = 0; @@ -250,8 +258,9 @@ void tsk_sys( ) // 省電力へ移行 BT_TEMP_P = 0; while( RWST ) - {; - } + {;} + + iic_mcu_stop( ); // 割り込み待ちで寝る // RTCIMK = 1; diff --git a/trunk/yav_mcu_bsr.pri b/trunk/yav_mcu_bsr.pri index f454f83..8faef9c 100644 --- a/trunk/yav_mcu_bsr.pri +++ b/trunk/yav_mcu_bsr.pri @@ -78,10 +78,10 @@ Symbol Type=OFF Language=C Kanji=SJIS [Source] -Geometry=235, 74, 1025, 1014 +Geometry=202, 65, 1025, 1014 Window=Normal -DispStart=33 -CaretPos=89,0 +DispStart=103 +CaretPos=104,0 Mode=Normal DispFile= Address1= @@ -139,27 +139,11 @@ SaveRange=Screen SaveStart= SaveEnd= Accumulative=ON -[Source1] -Geometry=34, 50, 1025, 1014 -Window=Normal -DispStart=73 -CaretPos=94,0 -Mode=Normal -DispFile=vreg_ctr.c -Accumulative=ON -[Source2] -Geometry=135, 144, 1025, 1014 -Window=Normal -DispStart=111 -CaretPos=200,0 -Mode=Normal -DispFile=task_misc.c -Accumulative=ON [Assemble] Geometry=605, 2, 600, 400 Window=Normal -DispStart=687 -CaretPos=687,27 +DispStart=12558 +CaretPos=12558,27 Address1= Address2= Address3= @@ -272,8 +256,8 @@ Window=Normal Boundary=13762687 Mode=Proper [Sfr] -Geometry=0, 0, 0, 0 -Window=Hide +Geometry=-3, -6, 457, 827 +Window=Normal Address1= Address2= Address3= @@ -290,13 +274,13 @@ Address13= Address14= Address15= Address16= -Boundary=0, 0 -Mode=Hex +Boundary=239, 52 +Mode=Bin Attribute=Show Sort=Unsort Pickup=OFF SelectSort=Address -Last Name= +Last Name=P0 Line=429 L1=P0 L2=P1 @@ -871,80 +855,54 @@ Detail=OFF Last Name= Count=0 [Variable] -Geometry=1225, 6, 354, 1082 +Geometry=1225, 6, 354, 910 Window=Normal Boundary=13762700 -0=.P0.0,P,S,A,+,1 -1=.p3.0,P,S,A,+,1 -2=.P0.1,P,S,A,+,1 -3=.rtcen,P,S,A,+,1 -4=.rtcif,P,S,A,+,1 -5=.RTCIMK,P,S,A,+,1 -6=.tasks,P,N,A,+,1 -7=.new_task,.,N,A,+,1 -8=.SEC,P,S,A,+,1 -9=.wdte,P,S,A,+,1 -10=.system_status,.,N,A,+,1 -11=.last_task_id,P,N,A,+,1 -12=.i,P,N,A,+,1 -13=.j,P,N,A,+,1 -14=.list_id,P,N,A,+,1 -15=.renge_flg_interval,P,N,A,+,1 -16=+vreg_twl,P,N,A,-,1 -17=+vreg_ctr,P,N,A,-,1 -18=.tasks_immed,P,N,A,+,1 -19=.reg_shadow,P,N,A,+,1 -Line=20 +0=.P7,B,S,A,+,1 +1=.p5,B,S,A,+,1 +Line=2 [Quick Watch] -0=list_id,P,A,1 -1=p[14,P,A,1 -2=p14,P,A,1 -3=p3.0,P,A,1 -4=new_task,P,A,1 -5=tasks,P,A,1 -6=RTCIMK,P,A,1 -7=rtcen,P,A,1 -8=renge_flg_interval,P,A,1 -9=rtccmk,P,A,1 -10=rtciimk,P,A,1 -11=wdte,P,A,1 -12=SEC,P,A,1 -13=rtcif,P,A,1 -14=vreg_ctr,P,A,1 -15=vreg_twl,P,A,1 +0=rtcen,P,A,1 +1=renge_flg_interval,P,A,1 +2=rtccmk,P,A,1 +3=rtciimk,P,A,1 +4=wdte,P,A,1 +5=SEC,P,A,1 +6=rtcif,P,A,1 +7=vreg_ctr,P,A,1 +8=vreg_twl,P,A,1 +9=pm0,P,A,1 +10=data,P,A,1 +11=P5.3,P,A,1 +12=p4.3,P,A,1 +13=pu0,P,A,1 +14=p5,B,A,1 +15=P7,B,A,1 [Software Break] Geometry=1204, 674, 500, 428 Window=Normal Width=150 30 200 100 -Name0=Swb00001 -Address0=task_misc.c#_do_command+0x15 +Name0=Swb00003 +Address0=renge.c#_renge_task_immed_add+0x3c Window0=ASM Status0=ON -Name1=Swb00002 -Address1=task_misc.c#_do_command+0x37 +Name1=Swb00004 +Address1=renge.c#_renge_task_immed_add+0x34 Window1=ASM Status1=ON -Name2=Swb00003 -Address2=task_misc.c#_do_command+0x4a +Name2=Swb00001 +Address2=task_misc.c#_do_command0+0x15 Window2=ASM Status2=ON Name3=Swb00005 -Address3=task_misc.c#_do_command+0x8 +Address3=task_misc.c#_do_command0+0x0 Window3=ASM Status3=ON -Name4=Swb00004 -Address4=vreg_twl.c#_vreg_twl_write+0x43 +Name4=Swb00002 +Address4=task_sys.c#_tsk_sys+0x193 Window4=ASM Status4=ON -Name5=Swb00007 -Address5=vreg_ctr.c#_vreg_ctr_write+0x10d -Window5=ASM -Status5=ON -Name6=Swb00006 -Address6=vreg_ctr.c#_vreg_ctr_write+0x11c -Window6=ASM -Status6=ON -Count=7 +Count=5 [Reset] Debugger=ON Symbol=OFF diff --git a/trunk/yav_mcu_bsr.prk b/trunk/yav_mcu_bsr.prk index 33d247e..ef174a5 100644 --- a/trunk/yav_mcu_bsr.prk +++ b/trunk/yav_mcu_bsr.prk @@ -1,6 +1,6 @@ [ProjectManager] FrameMax=1 -FrameX=-1187 +FrameX=0 FrameY=33 FrameCX=1299 FrameCY=1043 @@ -20,7 +20,7 @@ OpenFile12=adc.c,0,220,220,1199,856,0,73,0,0 OpenFile13=accero.c,0,272,165,1516,922,0,114,13,0 OpenFile14=main.c,0,66,66,1034,691,0,70,0,0 OpenFile15=renge\renge.c,0,285,287,1264,923,15,225,0,0 -OpenFile16=task_misc.c,0,88,88,1056,713,0,147,0,0 +OpenFile16=task_misc.c,0,88,88,1056,713,5,159,5,0 OpenFile17=OutputWindow OutputPos=0,79,487,55,1164 ActivePRJ=yav_mcu_bsr.prj diff --git a/trunk/yav_mcu_bsr.sdb b/trunk/yav_mcu_bsr.sdb index 46748b0..ea64fad 100644 --- a/trunk/yav_mcu_bsr.sdb +++ b/trunk/yav_mcu_bsr.sdb @@ -11,18 +11,18 @@ T=4b3081f8 7=rtc.h 8=reboot.h [pm.c] -T=4b333a0b +T=4b34233a 1=incs.h 2=adc.h 3=led.h 4=pm.h 5=renge\renge.h [i2c_ctr.c] -T=4b2611c9 +T=4b346598 1=incs.h 2=accero.h [main.c] -T=4b3321f7 +T=4b3421b2 1=incs_loader.h 2=WDT.h 3=rtc.h @@ -31,7 +31,7 @@ T=4b3321f7 6=led.h 7=adc.h [magic.c] -T=4b333500 +T=4b3465a1 1=config.h [WDT.c] T=4afd21ca @@ -52,10 +52,10 @@ T=4b307b06 1=incs.h 2=led.h [rtc.c] -T=4b305de2 +T=4b34233a 1=incs.h [vreg_ctr.c] -T=4b309cbf +T=4b34616d 1=incs.h 2=vreg_ctr.h 3=rtc.h @@ -78,7 +78,7 @@ T=4b308310 3=pm.h 4=led.h [renge\renge.c] -T=4b333374 +T=4b34616d 1=renge\renge_defs.h 2=renge\renge_task_intval.h 3=renge\renge_task_immediate.h @@ -115,13 +115,13 @@ T=4b3056a4 3=pm.h 4=accero.h [task_misc.c] -T=4b333a0b +T=4b34648e 1=incs.h 2=renge\renge.h 3=pm.h 4=accero.h [task_sys.c] -T=4b20b95f +T=4b345ee5 1=incs.h 2=i2c_twl.h 3=i2c_ctr.h @@ -145,7 +145,7 @@ T=4b25f1a9 T=4b023fdb 1=config.h [user_define.h] -T=4b333a0b +T=4b343e4b [config.h] T=4b306830 [bsr_system.h] @@ -157,7 +157,7 @@ T=4b32c168 [renge\renge_defs.h] T=4b32f836 [renge\renge_task_immediate.h] -T=4b32f91f +T=4b345ef0 1=renge\renge_defs.h [vreg_ctr.h] T=4b277ab7