From 21e0eab5462d4e5d887ca4d87c12effe7f40ee0f Mon Sep 17 00:00:00 2001 From: N2232 Date: Wed, 2 Jun 2010 06:24:49 +0000 Subject: [PATCH] =?UTF-8?q?=E2=96=A00.20=20=E3=83=BB=E5=8B=9D=E6=89=8B?= =?UTF-8?q?=E3=81=AB=E5=8A=A0=E9=80=9F=E5=BA=A6=E3=82=BB=E3=83=B3=E3=82=B5?= =?UTF-8?q?=E3=82=92on=E3=81=AB=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F=20?= =?UTF-8?q?=EF=BC=88=E3=82=B9=E3=83=AA=E3=83=BC=E3=83=97=E3=81=AB=E5=85=A5?= =?UTF-8?q?=E3=82=8D=E3=81=86=E3=81=A8=E3=81=99=E3=82=8B=E3=81=A8=E7=94=BB?= =?UTF-8?q?=E9=9D=A2=E3=81=8C=E3=81=A4=E3=81=84=E3=81=9F=E3=82=8A=E6=B6=88?= =?UTF-8?q?=E3=81=88=E3=81=9F=E3=82=8A=E3=81=99=E3=82=8B=E3=81=AE=E3=82=92?= =?UTF-8?q?=E5=AF=BE=E7=AD=96=EF=BC=89=20=E3=83=BB=E5=8B=95=E4=BD=9C?= =?UTF-8?q?=E4=B8=AD=E3=81=AB=E3=83=90=E3=83=83=E3=83=86=E3=83=AA=E6=8A=9C?= =?UTF-8?q?=E3=81=91=E3=81=A7=E9=9B=BB=E6=BA=90off=E3=81=95=E3=81=9B?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F=E3=80=82?= =?UTF-8?q?=E3=81=9D=E3=82=8C=E3=81=AB=E4=BC=B4=E3=81=84=E5=BC=B7=E5=88=B6?= =?UTF-8?q?=E3=82=AA=E3=83=95=E3=81=95=E3=81=9B=E3=82=8B=E3=82=BF=E3=82=B9?= =?UTF-8?q?=E3=82=AF=E3=82=92=E7=A7=BB=E5=8B=95=20=E3=83=BB=E5=88=9D?= =?UTF-8?q?=E6=9C=9F=E5=80=A4=E3=81=8C=E5=85=85=E9=9B=BB=E8=A8=B1=E5=8F=AF?= =?UTF-8?q?=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F=E3=80=82?= =?UTF-8?q?=E4=B8=8D=E8=A8=B1=E5=8F=AF=E3=81=AB=E5=A4=89=E6=9B=B4=20?= =?UTF-8?q?=E3=83=BB=E3=82=BF=E3=82=B9=E3=82=AF=E3=81=8C=E8=A9=B0=E3=81=BE?= =?UTF-8?q?=E3=81=A3=E3=81=A6WDT=E3=83=AA=E3=82=BB=E3=83=83=E3=83=88?= =?UTF-8?q?=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F=E3=81=AE=E3=81=8B=E3=82=82?= =?UTF-8?q?=E3=81=97=E3=82=8C=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A7=E3=80=81?= =?UTF-8?q?=E3=81=9D=E3=82=8C=E3=81=AE=E5=AF=BE=E7=AD=96=20=EF=BC=88?= =?UTF-8?q?=E4=BD=95=E3=82=82=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=81=AE=E3=81=AB=E3=83=9B=E3=83=BC=E3=83=A0=E3=83=9C=E3=82=BF?= =?UTF-8?q?=E3=83=B3=E3=83=A1=E3=83=8B=E3=83=A5=E3=83=BC=E3=81=AE=E9=96=8B?= =?UTF-8?q?=E3=81=8F=E9=9F=B3=E3=81=8C=E3=81=97=E3=81=A6=E3=83=A9=E3=83=B3?= =?UTF-8?q?=E3=83=81=E3=83=A3=E3=83=BC=E7=94=BB=E9=9D=A2=E3=81=AB=E6=88=BB?= =?UTF-8?q?=E3=82=8B=E3=81=AE=E3=82=92=E5=AF=BE=E7=AD=96=E3=81=97=E3=81=9F?= =?UTF-8?q?=E3=81=A4=E3=82=82=E3=82=8A=EF=BC=89=20=E3=83=BB=E3=82=A2?= =?UTF-8?q?=E3=83=80=E3=83=97=E3=82=BF=E6=8E=A5=E7=B6=9A=E6=99=82=E3=80=81?= =?UTF-8?q?=E6=BA=80=E5=85=85=E9=9B=BB=E3=81=A7=E3=81=82=E3=82=8D=E3=81=86?= =?UTF-8?q?=E3=81=A8=E6=95=B0=E7=A7=92=E5=85=85=E9=9B=BB=E3=83=A9=E3=83=B3?= =?UTF-8?q?=E3=83=97=E3=82=92=E7=82=B9=E7=81=AF=E3=81=95=E3=81=9B=E3=82=8B?= =?UTF-8?q?=20=E3=83=BB=E3=81=8D=E3=81=A1=E3=82=93=E3=81=A8=E3=83=90?= =?UTF-8?q?=E3=83=83=E3=83=86=E3=83=AA=E5=88=A4=E5=AE=9A=E3=82=92=E3=81=97?= =?UTF-8?q?=E3=80=81=E3=83=91=E3=83=A9=E3=83=A1=E3=83=BC=E3=82=BF=E3=82=92?= =?UTF-8?q?=E9=80=81=E3=81=A3=E3=81=A6=E3=81=8B=E3=82=89=E5=85=85=E9=9B=BB?= =?UTF-8?q?=E3=82=92=E9=96=8B=E5=A7=8B=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E4=BF=AE=E6=AD=A3=20=E3=83=BB=E9=9B=BB=E6=BA=90off,?= =?UTF-8?q?=E3=82=A2=E3=83=80=E3=83=97=E3=82=BF=E5=8F=96=E3=82=8A=E5=A4=96?= =?UTF-8?q?=E3=81=97=E6=99=82=E3=80=81=E3=83=90=E3=83=83=E3=83=86=E3=83=AA?= =?UTF-8?q?=E9=9B=BB=E5=9C=A7=E3=81=8C=E8=90=BD=E3=81=A1=E7=9D=80=E3=81=8F?= =?UTF-8?q?=E3=81=AE=E3=82=92=E5=BE=85=E3=81=A3=E3=81=A6=EF=BC=88=E3=81=9F?= =?UTF-8?q?=E3=81=A0=E3=81=AE=E3=82=BF=E3=82=A4=E3=83=9E=E3=83=BC=EF=BC=89?= =?UTF-8?q?=E3=81=8B=E3=82=89MGIC=E3=82=92=E3=82=B9=E3=83=AA=E3=83=BC?= =?UTF-8?q?=E3=83=97=E3=81=AB=E5=85=A5=E3=82=8C=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=20=E3=83=BB=E3=83=95=E3=83=AA=E3=83=BC?= =?UTF-8?q?=E3=83=AC=E3=82=B8=E3=82=B9=E3=82=BF=E3=81=AE=E3=82=B5=E3=82=A4?= =?UTF-8?q?=E3=82=BA=E3=82=92=E8=AA=A4=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F?= =?UTF-8?q?=E3=80=82176=E2=86=92200bytes=20=E3=83=BBRTC=E3=81=AE=E5=88=9D?= =?UTF-8?q?=E6=9C=9F=E5=80=A4=E3=82=922010=E5=85=83=E6=97=A6=E3=80=81?= =?UTF-8?q?=E5=8D=88=E5=89=8D=E9=9B=B6=E6=99=82=E3=81=AB=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@187 013db118-44a6-b54f-8bf7-843cb86687b1 --- trunk/adc.c | 18 ++-- trunk/bsr_system.h | 1 + trunk/config.h | 2 +- trunk/loader.c | 2 +- trunk/main.c | 6 -- trunk/pedo_alg_thre_det2.c | 1 + trunk/pm.c | 173 ++++++++++++++++++++----------------- trunk/pm.h | 3 + trunk/pool.h | 2 +- trunk/renge/renge.c | 16 ++-- trunk/rtc.c | 10 +-- trunk/sw.c | 16 +--- trunk/task_debug.c | 4 +- trunk/task_sys.c | 64 ++++++++++---- trunk/yav_mcu_bsr.plg | 129 ++++++++++++++++++++++++++- trunk/yav_mcu_bsr.pri | 171 +++++++++++++++--------------------- trunk/yav_mcu_bsr.prj | 2 +- trunk/yav_mcu_bsr.prk | 18 ++-- trunk/yav_mcu_bsr.sdb | 26 +++--- 19 files changed, 397 insertions(+), 267 deletions(-) diff --git a/trunk/adc.c b/trunk/adc.c index 32741f0..4e69c66 100644 --- a/trunk/adc.c +++ b/trunk/adc.c @@ -180,6 +180,9 @@ void tsk_adc( ) force_update_vol = 10; } } + + // バッテリ識別 /////////////////////////// + /* 呼ばれません */ } } @@ -277,11 +280,6 @@ case ( ADC_SEL_AMB_BRIT ): // #else adc_raw_vol = getmean3( hist_snd_vol ); #endif - if( adc_raw_vol == 0 ) - { - NOP(); - } - break; case ( ADC_SEL_BATT_TEMP ): @@ -296,15 +294,15 @@ case ( ADC_SEL_AMB_BRIT ): // renge_task_immed_add( BT_temp_update ); } break; - +/* 呼ばれません case ( ADC_SEL_BATT_DET ): - // 呼ばれない break; +*/ } // もっとまともな書き方がありそうだ - if( ADS < ADC_SEL_BATT_TEMP ) - { // 電池は常時監視しないつもり + if( ADS < ADC_SEL_BATT_DET ) + { ADS += 1; // 次のチャンネル ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある } @@ -312,7 +310,7 @@ case ( ADC_SEL_AMB_BRIT ): // { ADCEN = 0; // 止めてしまう adc_updated = 1; - index = ( index == 2 ) ? 0 : ( index + 1 ); + index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス } } diff --git a/trunk/bsr_system.h b/trunk/bsr_system.h index 57c0a08..2b2d456 100644 --- a/trunk/bsr_system.h +++ b/trunk/bsr_system.h @@ -45,6 +45,7 @@ typedef struct unsigned char reboot:1; unsigned char info_fullcolor:1; enum model_ model; + unsigned short cnt_force_off; } system_status_; diff --git a/trunk/config.h b/trunk/config.h index 3459392..fedc263 100644 --- a/trunk/config.h +++ b/trunk/config.h @@ -7,7 +7,7 @@ //#define _FORCE_INFO_LED_FULLCOLOR_ #define MCU_VER_MAJOR 0x00 -#define MCU_VER_MINOR 0x19 +#define MCU_VER_MINOR 0x20 //#define PM_CCIC_TIM diff --git a/trunk/loader.c b/trunk/loader.c index c202f86..df23fd3 100644 --- a/trunk/loader.c +++ b/trunk/loader.c @@ -237,7 +237,7 @@ void hdwinit2( ) P1 = 0b11000000; P2 = 0b00000000; - P4 = 0b00000000; + P4 = 0b00001000; P5 = 0b00000000; P6 = 0b00000000; P7 = 0b01000000; diff --git a/trunk/main.c b/trunk/main.c index 31fc938..71beee0 100644 --- a/trunk/main.c +++ b/trunk/main.c @@ -73,12 +73,6 @@ void main_loop( void ) { // システムtick、または割り込みで廻ります。 WDT_Restart( ); renge_task_interval_run( ); // 内部で、システムtickまたは強制起動します - while( renge_task_interval_run_force != 0 ) - { - renge_task_interval_run( ); - } - WDT_Restart( ); - while( renge_task_immed_run( ) != ERR_SUCCESS ); // ここのループが廻る度に実行されます HALT( ); } } diff --git a/trunk/pedo_alg_thre_det2.c b/trunk/pedo_alg_thre_det2.c index 2670bdd..ac63f55 100644 --- a/trunk/pedo_alg_thre_det2.c +++ b/trunk/pedo_alg_thre_det2.c @@ -425,6 +425,7 @@ u16 get_long_hour() u8 day_hex; u8 hour_hex; + // RWAIT = 1 を確認してから↓に進んで下さい year_hex = bcdtob( YEAR ); month_hex = bcdtob( MONTH ); day_hex = bcdtob( DAY ); diff --git a/trunk/pm.c b/trunk/pm.c index a8369c2..27ebffc 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -20,15 +20,12 @@ // ======================================================== -u8 raw_adc_temperature; - +u8 raw_adc_temperature; BT_VENDER battery_manufacturer = BT_VENDER_NOT_CHECKED; - -st_bt_comp bt_comp; - +st_bt_comp bt_comp; // バッテリパラメータ構造体 u8 reg_shadow; // NTR PMIC レジスタミラー - - +bit bt_chg_ready; // バッテリパラメータ送信済。充電開始許可 +u8 chg_led_override; // アダプタ差したとき、充電するしないに関わらずしばらく点灯させる // ======================================================== @@ -386,7 +383,8 @@ err PM_sys_pow_off( ) =========================================================*/ __interrupt void intp4_extdc( ) { - ; +// chg_led_override = (u8)( 1000 / INTERVAL_TSK_BATT / SYS_INTERVAL_TICK ); + chg_led_override = 4; } @@ -594,7 +592,7 @@ task_status_immed tski_PM_BL_set() void tsk_batt( ) { static u8 task_interval = 0; - static u8 temp_zone_charge_enable = 0; // 温度で充電停止する時にヒステリシスを付けるため + static bit temp_zone_charge_enable; // 温度で充電停止する時にヒステリシスを付けるため static bit pm_extdc_old; if( task_interval-- != 0 ) @@ -607,7 +605,7 @@ void tsk_batt( ) } - // アダプタ? ///////////////////// + // アダプタステータス更新 ///////// if( pm_extdc_old != !PM_EXTDC_n ) { pm_extdc_old = !PM_EXTDC_n; @@ -615,6 +613,7 @@ void tsk_batt( ) { set_bit( 1, vreg_ctr[VREG_C_STATUS], REG_BIT_POW_SUPPLY ); set_irq( VREG_C_IRQ1, REG_BIT_BT_DC_CONNECT ); + chg_led_override = (u8)( 1000 / INTERVAL_TSK_BATT / SYS_INTERVAL_TICK ); } else { @@ -642,8 +641,7 @@ void tsk_batt( ) #ifndef _MODEL_WM0_ // WM0ではCHG_ENABLEピンは /WL_RST に配線されており、充電制御しない - if(( temp_zone_charge_enable == 1 ) && - ( battery_manufacturer < BT_VENDER_OPEN )) + if( temp_zone_charge_enable && bt_chg_ready ) { BT_CHG_ENABLE(); // 温度範囲OKで充電再開 } @@ -667,6 +665,12 @@ void tsk_batt( ) LED_CHARGE = 0; } + if( chg_led_override != 0 ){ // 気がつく人いるかな…? + chg_led_override -= 1; + LED_CHARGE = 1; + } + + // 電池残量 // if( system_status.pwr_state == ON ) { @@ -704,9 +708,9 @@ void BT_chk( ) }chars; }dat_16; - BT_DET_P = 1; // チャージに時間が掛かるので、先に上げておく + BT_DET_P = 1; BT_TEMP_P = 1; - wait_ms(1); + wait_ms(1); // チャージに時間が掛かる { BT_VENDER battery_manufacturer_old = battery_manufacturer; @@ -733,16 +737,26 @@ void BT_chk( ) if( battery_manufacturer != battery_manufacturer_old ) { - // バッテリが変わった // - bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更 + if( battery_manufacturer < BT_VENDER_OPEN ) + { + // バッテリが変わった // + bt_comp = BT_COMP[ battery_manufacturer ]; // バッテリパラメータ変更 - wait_ms( 10 ); - // 0. バッテリ残量IC クイックスタート - dat_16._u16 = swap_endian_16( 0x4000 ); // quick start - iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16 ); + wait_ms( 10 ); + // 0. バッテリ残量IC クイックスタート + dat_16._u16 = swap_endian_16( 0x4000 ); // quick start + iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16 ); + + bt_chg_ready = 1; + } + else + { + // 電池が外された + bt_chg_ready = 0; + } } } - + // 電池温度監視スタート renge_task_immed_add( BT_temp_update ); } @@ -778,7 +792,7 @@ void BT_init( ) // 電池温度測定(TS,白箱判定も兼ねる) // raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP ); - + // 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 ) @@ -943,92 +957,97 @@ task_status_immed BT_temp_update( )  BT_init()が実行されている必要があります。 **********************************************************/ void BT_get_left(){ - static u8 bt_left_state; // バッテリ残量で割り込みのため - static u8 bt_voltage_low_count; // 電圧でシャットダウンさせる u8 temp[2]; + // 電池残量更新 // if( system_status.model == MODEL_TS_BOARD ) { vreg_ctr[ VREG_C_BT_REMAIN ] = 99; } else { - // 電池電圧で強制断が優先される - temp[0] = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL ); - if( iic_mcu_bus_status == ERR_SUCCESS ) + if(( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 ) { - vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0]; - if( vreg_ctr[ VREG_C_BT_VOLTAGE ] > ( 3100 / 16 / 1.25 ) ) + temp[0] = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL ); + if( iic_mcu_bus_status != ERR_SUCCESS ) { - bt_voltage_low_count = 0; - iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp ); - vreg_ctr[ VREG_C_BT_REMAIN ] = temp[0]; - vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp[1]; + // バッテリ残量が取れなくなった + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR; + bt_chg_ready = 0; + vreg_ctr[ VREG_C_BT_REMAIN ] = 0; } else { - bt_voltage_low_count += 1; - if( bt_voltage_low_count >= 4* 10 ) + if( temp[0] < ( 3100 / 16 / 1.25 ) ) { + // 電圧が規定値になってしまったので強制off vreg_ctr[ VREG_C_BT_REMAIN ] = 0; } - - if( bt_voltage_low_count == 4* 10 ) // およそ10sec(そんなに頻繁には更新されないみたい) + else { - set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); - } - else if( bt_voltage_low_count == 12 + 4* ( 10 + 6 )) - { // …時間切れ。強制的に切る - system_status.pwr_state = OFF_TRIG; - renge_task_interval_run_force = 1; + // 電圧はまだ大丈夫、電池残量ICとの通信もOK + vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0]; + iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp ); + vreg_ctr[ VREG_C_BT_REMAIN ] = temp[0]; + vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp[1]; } } } - else - { - // バッテリ残量が取れなくなった! - vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR; - if( vreg_ctr[ VREG_C_BT_REMAIN ] != 0 ) - { - vreg_ctr[ VREG_C_BT_REMAIN ] = 0; - set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); - } - } + // もう特に何もすること無いと思う... } - // 残量で割り込み - switch( bt_left_state ) + + // 残量で割り込み。急激に減ると飛ぶことがある // { - case( 0 ): // 前回、バッテリーは十分にあった - if( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) + static u8 bt_remain_old; + + if( (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) && ( BATT_TH_LO < bt_remain_old ))|| + (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_EMPTY ) && ( BATT_TH_EMPTY < bt_remain_old ))|| + (( vreg_ctr[ VREG_C_BT_REMAIN ] == 0 ) && ( bt_remain_old != 0 )) ) { - bt_left_state = 1; // 突然バッテリ残量が減っても、Lo割り込みを入れる set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); } - break; - - case( 1 ): - if( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_EMPTY ) + if(( vreg_ctr[ VREG_C_BT_REMAIN ] == 0 ) && ( bt_remain_old != 0 )) { - bt_left_state = 2; - set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); + system_status.cnt_force_off = 1; // 強制電源断フラグ } - else if( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_LO ) - { - bt_left_state = 0; - } - break; - - default: - if( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_EMPTY ) - { - bt_left_state = 1; - } - break; + bt_remain_old = vreg_ctr[ VREG_C_BT_REMAIN ]; } // PMIC-NTRに電池残量を教えてあげる iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_BT, ( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? 1 : 0 ); // 1で電池切れ - +} + + + + +static unsigned long bt_relax_timer; +//#define BT_RELAX_TIME_MIN (unsigned long)30 +#define BT_RELAX_TIME_MIN (unsigned long)1 + +/********************************************************** + 電池がリラックスするのを待つ +・PM_sys_power_offの時 +・充電中にアダプタが抜かれたとき +**********************************************************/ +void BT_set_relax_timer() +{ + // RTCを使うと楽かと思ったがそうでもなかった + bt_relax_timer = (unsigned long)( BT_RELAX_TIME_MIN * 60 * 1000 / 2 ); +} + + + +u8 BT_is_relaxed() +{ + if( bt_relax_timer != 0 ) + { + bt_relax_timer -= 1; + return( 0 ); + } + else + { + return( 1 ); + } } diff --git a/trunk/pm.h b/trunk/pm.h index 9a4021b..6bfbbb4 100644 --- a/trunk/pm.h +++ b/trunk/pm.h @@ -132,6 +132,9 @@ void BT_chk(); void BT_init(); void BT_get_left(); +void BT_set_relax_timer(); +u8 BT_is_relaxed(); + task_status_immed BT_temp_update( ); task_status_immed tski_vcom_set( ); diff --git a/trunk/pool.h b/trunk/pool.h index 24580c8..3093b4f 100644 --- a/trunk/pool.h +++ b/trunk/pool.h @@ -4,7 +4,7 @@ #include "pedometer.h" -#define VREG_C_FREE_SIZE 176 +#define VREG_C_FREE_SIZE 200 // 空いてるメモリ typedef struct { diff --git a/trunk/renge/renge.c b/trunk/renge/renge.c index eeca08c..d079981 100644 --- a/trunk/renge/renge.c +++ b/trunk/renge/renge.c @@ -82,8 +82,8 @@ err renge_task_interval_run(){ // インターバル起動 DI(); - if(( renge_flg_interval != 0 ) - || ( renge_task_interval_run_force != 0 )) // todo 統合 + if(( renge_flg_interval != 0 ) || + ( renge_task_interval_run_force != 0 )) // todo 統合 { renge_task_interval_run_force = 0; if( renge_flg_interval != 0 ) @@ -93,14 +93,14 @@ err renge_task_interval_run(){ EI(); for( i = 0; i != TSK_LAST; i += 1 ) { - DBG_LED_on; + DBG_LED_on; tasks[ i ](); - DBG_LED_off; + DBG_LED_off; // 逐次起動タスクがあったら起動しておく renge_task_immed_run(); } } - EI(); + EI(); return( ERR_SUCCESS ); } @@ -176,7 +176,8 @@ err renge_task_immed_add( task_status* new_task ){ err renge_task_immed_run(){ u8 list_id; - while( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) +// while( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) + if( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ ) { DI(); for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id += 1 ){ @@ -266,6 +267,7 @@ err renge_task_immed_run(){ i += 1; } } + } imm_list_sort_fin: // ここまでで完全に前詰めされている @@ -293,7 +295,7 @@ imm_list_sort_fin: #else NOP(); // リンカが怒る #endif - } +// } return( ERR_SUCCESS ); } diff --git a/trunk/rtc.c b/trunk/rtc.c index c608039..340daa2 100644 --- a/trunk/rtc.c +++ b/trunk/rtc.c @@ -31,13 +31,13 @@ void RTC_init( void ) RTCC1 = 0b11000000; /* アラーム割り込み有効&動作開始 */ RTCC2 = 0b10000000; /* インターバル:32k/2^6=2ms、RTCDIV出力なし */ - SEC = 0x00; + HOUR = 0x00; MIN = 0x00; - HOUR = 0x15; + SEC = 0x00; + MONTH = 0x01; DAY = 0x01; - WEEK = 0x00; - MONTH = 0x11; - YEAR = 0x09; + WEEK = 0x05; // Fri + YEAR = 0x10; ALARMWW = 0x7F; diff --git a/trunk/sw.c b/trunk/sw.c index 5086bc6..cdbf993 100644 --- a/trunk/sw.c +++ b/trunk/sw.c @@ -80,13 +80,11 @@ bit SW_HOME_n; ======================================================== */ void tsk_sw( ) { - static u16 cnt_force_off = 0; static u8 task_interval = 0; switch ( system_status.pwr_state ) { case ( ON_TRIG ): - cnt_force_off = 0; SW_pow_count = 0; break; } @@ -122,21 +120,9 @@ void tsk_sw( ) #else set_irq( VREG_C_IRQ0, REG_BIT_SW_HOME_HOLD ); #endif - cnt_force_off = 1; + system_status.cnt_force_off = 1; } - if( cnt_force_off != 0 ) - { - cnt_force_off += 1; - if( cnt_force_off >= ( vreg_ctr[ VREG_C_OFF_DELAY ] * 8 ) ) - { - // タイムアウトによる強制OFF - cnt_force_off = 0; -// vreg_ctr[ VREG_C_LED_POW ] = LED_POW_ILM_ONLY_RED; - system_status.pwr_state = OFF_TRIG; - renge_task_interval_run_force = 1; - } - } count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // ボタン押し時間のカウント #ifdef _SW_HOME_ENABLE_ diff --git a/trunk/task_debug.c b/trunk/task_debug.c index ca5b23b..f4f234e 100644 --- a/trunk/task_debug.c +++ b/trunk/task_debug.c @@ -44,7 +44,6 @@ void tsk_debug2( ) { u8 str[4]; - if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) ) { /* @@ -52,11 +51,12 @@ void tsk_debug2( ) str[2] = vreg_ctr[ VREG_C_FREE1 ]; str[1] = vreg_ctr[ VREG_C_STATUS ]; str[0] = vreg_ctr[ VREG_C_RTC_SEC ]; -*/ + str[3] = vreg_ctr[ VREG_C_SND_VOL ]; str[2] = vreg_ctr[ VREG_C_TUNE ]; str[1] = vreg_ctr[ VREG_C_ACC_CONFIG ]; str[0] = SEC; +*/ // iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_IRQ1 ] ); // iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, boot_ura ); diff --git a/trunk/task_sys.c b/trunk/task_sys.c index 98fd761..0442cc9 100644 --- a/trunk/task_sys.c +++ b/trunk/task_sys.c @@ -23,7 +23,7 @@ extern void nop8(); //========================================================= static void chk_emergencyExit(); - +static void force_off_check(); //========================================================= @@ -56,6 +56,7 @@ void tsk_sys( ) { timeout += 1; } + if( timeout > 100 ) { system_status.pwr_state = OFF_TRIG; // スイッチはノイズだった。寝る。 @@ -81,12 +82,6 @@ void tsk_sys( ) BT_chk(); BT_init(); // 実機やバッテリの判定、電池残量ICの設定 - if( system_status.poweron_reason == EXT_POWER ) - { - system_status.pwr_state = BT_CHARGE; - return; - } - if( system_status.model == MODEL_JIKKI_NOBATT ) { renge_task_interval_run_force = 1; @@ -132,7 +127,6 @@ void tsk_sys( ) break; case ON_TRIG: //------------------------------------------------------- - LED_init( ); PU5 = 0b00000010; // 1:PM_CHARGE @@ -191,10 +185,6 @@ void tsk_sys( ) set_irq( VREG_C_IRQ0, REG_BIT_IRQ_WDT_RESET ); } - // デバッグ目的 - vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x03; - acc_hosu_set(); - break; case ON: //--------------------------------------------- @@ -203,10 +193,13 @@ void tsk_sys( ) chk_emergencyExit(); // SLP監視 - if( SLP_REQ ){ - system_status.pwr_state = SLEEP_TRIG; - renge_task_interval_run_force = 1; - } + if( SLP_REQ ){ + system_status.pwr_state = SLEEP_TRIG; + renge_task_interval_run_force = 1; + } + + // 強制offカウント + force_off_check(); break; case SLEEP_TRIG: //------------------------------------- @@ -228,6 +221,8 @@ void tsk_sys( ) #endif system_status.pwr_state = ON; } + + force_off_check(); break; case OFF_TRIG: //--------------------------------------- @@ -250,6 +245,7 @@ void tsk_sys( ) return; } } + system_status.cnt_force_off = 0; LED_stop( ); IIC_ctr_Stop( ); @@ -289,17 +285,21 @@ void tsk_sys( ) IF2 = 0; PM_sys_pow_off( ); + BT_set_relax_timer(); timeout = 0; system_status.pwr_state = BT_CHARGE; SW_pow_mask = 1; SW_pow_count = 0; + // no break // case BT_CHARGE: - if( !PM_EXTDC_n ) + if( !PM_EXTDC_n || ( BT_is_relaxed() == 0 ) ) { + // アダプタが刺さってるときはこのブロックを繰り返す。 + /// ↓は中で初期化フラグをもってるので呼びまくって良い iic_mcu_start( ); BT_chk( ); @@ -310,6 +310,10 @@ void tsk_sys( ) system_status.poweron_reason = PWSW; system_status.pwr_state = OFF; } + if( !PM_EXTDC_n ) + { + BT_set_relax_timer(); + } } else { @@ -339,6 +343,8 @@ void tsk_sys( ) if( PM_EXTDC_n ) { + // 一度起こしてしまう。ペリフェラルの初期化など流用のため。 + // 電源ボタンのタイムアウトで返ってくる SW_pow_mask = 0; } # ifdef _MCU_BSR_ @@ -429,6 +435,27 @@ static void chk_emergencyExit(){ +/* ======================================================== + ・電源ボタン長押し + ・電池切れ + ・電池抜け + での強制OFF。発動すると解除不能 + ======================================================== */ +static void force_off_check() +{ + if( system_status.cnt_force_off != 0 ) + { + system_status.cnt_force_off += 1; + if( system_status.cnt_force_off >= ( vreg_ctr[ VREG_C_OFF_DELAY ] * 80 /2 ) ) + { + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = 1; + } + } +} + + + /* ======================================================== CPUからのスリープ要求 @@ -461,9 +488,10 @@ __interrupt void intp0_slp( ) /*******************************************************//** - 全く意味ないですが、気分的な物で... + firm_update()を task_status_immed型 を返すようにすればいいのですが... **********************************************************/ task_status_immed tski_firm_update(){ firm_update(); return( ERR_SUCCESS ); } + diff --git a/trunk/yav_mcu_bsr.plg b/trunk/yav_mcu_bsr.plg index 884228b..6f6b824 100644 --- a/trunk/yav_mcu_bsr.plg +++ b/trunk/yav_mcu_bsr.plg @@ -1,8 +1,133 @@ C:\WINDOWS\system32\cmd.exe /c touch magic.c -"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2wt -sainter_asm -zpb -no magic.c +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no loader.c +loader.c(125) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 1 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\loader.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no pm.c +pm.c(60) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(97) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(181) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(189) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(477) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(480) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(922) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(1019) : CC78K0R warning W0401: Conversion may lose significant digits +batt_params.h(117) : CC78K0R warning W0401: Conversion may lose significant digits +batt_params.h(117) : CC78K0R warning W0401: Conversion may lose significant digits +batt_params.h(122) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 11 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\pm.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no i2c_ctr.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\i2c_ctr.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no main.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\main.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no magic.c Compilation complete, 0 error(s) and 0 warning(s) found. "C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\magic.asm Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no WDT.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\WDT.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no i2c_mcu.c +i2c_mcu.c(205) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 1 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\i2c_mcu.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no i2c_twl.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\i2c_twl.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no led.c +led.c(89) : CC78K0R warning W0745: Expected function prototype +led.c(149) : CC78K0R warning W0411: Illegal pointer combination +led.c(164) : CC78K0R warning W0411: Illegal pointer combination +led.c(576) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 4 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\led.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no rtc.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\rtc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no vreg_ctr.c +vreg_ctr.c(146) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(147) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(149) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(151) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(152) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 5 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\vreg_ctr.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no vreg_twl.c +vreg_twl.c(54) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_twl.c(58) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\vreg_twl.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no adc.c +adc.c(112) : CC78K0R warning W0745: Expected function prototype +adc.c(163) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(171) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(172) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(278) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(313) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 6 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\adc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no renge\renge.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\renge.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no accero.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\accero.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no self_flash.c +self_flash.c(200) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 1 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\self_flash.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no sw.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\sw.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_debug.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\task_debug.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_misc.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\task_misc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_sys.c +task_sys.c(173) : CC78K0R warning W0401: Conversion may lose significant digits +task_sys.c(427) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\task_sys.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no pedo_alg_thre_det2.c +pedo_alg_thre_det2.c(58) : CC78K0R warning W0745: Expected function prototype +pedo_alg_thre_det2.c(73) : CC78K0R warning W0401: Conversion may lose significant digits +pedo_alg_thre_det2.c(140) : CC78K0R warning W0401: Conversion may lose significant digits +pedo_alg_thre_det2.c(153) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 4 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\pedo_alg_thre_det2.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no ini_VECT.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\ini_VECT.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_status.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\task_status.asm +Assembly complete, 0 error(s) and 0 warning(s) found. "C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\lk78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -obsr.lmf "..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFFFh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r" -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel Link complete, 0 error(s) and 0 warning(s) found. "C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\oc78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf @@ -13,4 +138,4 @@ intel-HEX to bsr bin converter file converted! -Build Total error(s) : 0 Total warning(s) : 0 +Build Total error(s) : 0 Total warning(s) : 37 diff --git a/trunk/yav_mcu_bsr.pri b/trunk/yav_mcu_bsr.pri index 9b97cb2..8e185a2 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=155, 86, 844, 790 +Geometry=71, 28, 844, 790 Window=Normal -DispStart=67 -CaretPos=68,0 +DispStart=232 +CaretPos=233,0 Mode=Normal DispFile= Address1= @@ -894,7 +894,17 @@ Manager=ON Sort by=Unsort Detail=OFF Last Name= -Count=0 +Name0=bt_ch001 +Status0=W +Access Size0=B +Address Range0=EQ +Address0= - <> +Mask Address0=00000000 +Data Range0=NC +Data0=<00000000> - <00000000> +Mask Data0=FFFFFFFF +Pass0=0001 +Count=1 [Event Link] Geometry=0, 0, 0, 0 Window=Hide @@ -910,7 +920,10 @@ Manager=ON Sort by=Unsort Detail=OFF Last Name= -Count=0 +Name0=bt_ch002 +Element0=bt_ch001 +Set0=OFF +Count=1 [Trace] Geometry=0, 0, 0, 0 Window=Hide @@ -960,116 +973,76 @@ Count=0 Geometry=929, 17, 320, 595 Window=Normal Boundary=18088086 -0=.system_status,.,N,A,+,1 -1=.battery_manufacturer,P,N,A,+,1 -2=.bt_comp,.,N,A,+,1 -3=.raw_adc_temperature,P,N,A,+,1 -4=.PM1.7,P,S,A,+,1 -5=.P1.7,P,S,A,+,1 -6=.bt_comp,.,N,A,+,1 -7=.tasks_immed,P,N,A,+,1 -8=.vreg_ctr[2],P,N,A,+,1 -9=.vreg_twl[3],P,N,A,+,1 -10=.cnt_force_off,P,N,A,+,1 -11=.pool.vreg_c_ext,.,N,A,+,1 -12=.p_record,P,N,A,+,1 -13=.temp_hours,P,N,A,+,1 -14=.temp,D,N,A,+,1 -Line=15 +0=.bt_relax_timer,P,N,A,+,1 +1=.bt_remain_old,P,N,A,+,1 +2=.vreg_ctr,P,N,A,+,1 +3=.temp_zone_charge_enable,P,N,A,+,1 +4=.pif4,P,S,A,+,1 +5=.pmk4,P,S,A,+,1 +6=.chg_led_override,P,N,A,+,1 +7=.p4.3,P,S,A,+,1 +8=.system_status,.,N,A,+,1 +9=.battery_manufacturer,P,N,A,+,1 +10=.bt_comp,.,N,A,+,1 +11=.raw_adc_temperature,P,N,A,+,1 +12=.PM1.7,P,S,A,+,1 +13=.P1.7,P,S,A,+,1 +14=.bt_comp,.,N,A,+,1 +15=.tasks_immed,P,N,A,+,1 +16=.vreg_ctr[2],P,N,A,+,1 +17=.vreg_twl[3],P,N,A,+,1 +18=.cnt_force_off,P,N,A,+,1 +19=.pool.vreg_c_ext,.,N,A,+,1 +20=.p_record,P,N,A,+,1 +21=.temp_hours,P,N,A,+,1 +22=.temp,D,N,A,+,1 +Line=23 [Quick Watch] -0=temp_hours,P,A,1 -1=cnt_force_off,P,A,1 -2=vreg_ctr[36],P,A,1 -3=vreg_ctr[0x24],P,A,1 -4=vreg_twl[3],P,A,1 -5=vreg_ctr[2],P,A,1 -6=tasks_immed,P,A,1 -7=temp,P,A,1 -8=BT_TEMP_P,P,A,1 -9=P1.7,P,A,1 -10=PM1.7,P,A,1 -11=raw_adc_temperature,P,A,1 -12=battery_manufacturer,P,A,1 -13=bt_comp,P,A,1 -14=systemstatus,P,A,1 -15=system_status,P,A,1 +0=battery_manufacturer,P,A,1 +1=bt_comp,P,A,1 +2=systemstatus,P,A,1 +3=system_status,P,A,1 +4=vreg_ctr[11],P,A,1 +5=bt_remain_old,P,A,1 +6=chg_led_override,P,A,1 +7=temp_zone_charge_enable,P,A,1 +8=bt_chg_ready,P,A,1 +9=pmk04,P,A,1 +10=pmk4,P,A,1 +11=pif4,P,A,1 +12=egn0,P,A,1 +13=p4.3,P,A,1 +14=vreg_ctr,P,A,1 +15=bt_relax_timer,P,A,1 [Software Break] Geometry=408, 387, 756, 532 Window=Normal Width=150 30 200 100 -Name0=Swb00015 -Address0=led.c#_tsk_led_cam+0x75 +Name0=Swb00002 +Address0=renge.c#_renge_task_immed_run+0x3d Window0=ASM Status0=ON -Name1=Swb00005 -Address1=vreg_ctr.c#_vreg_ctr_write+0x194 +Name1=Swb00003 +Address1=renge.c#_renge_task_immed_run+0x11c Window1=ASM -Status1=OFF -Name2=Swb00008 -Address2=loader.c#_main+0x92 +Status1=ON +Name2=Swb00005 +Address2=task_sys.c#_force_off_check+0x9 Window2=ASM Status2=ON -Name3=Swb00004 -Address3=vreg_ctr.c#_vreg_ctr_write+0x2be +Name3=Swb00001 +Address3=vreg_ctr.c#_set_irq+0x23 Window3=ASM Status3=ON -Name4=Swb00010 -Address4=loader.c#_main+0x12 +Name4=Swb00007 +Address4=task_sys.c#_tsk_sys+0x225 Window4=ASM Status4=ON -Name5=Swb00002 -Address5=i2c_mcu.c#_iic_mcu_is_ready+0x1a +Name5=Swb00008 +Address5=task_sys.c#_tsk_sys+0x21a Window5=ASM Status5=ON -Name6=Swb00007 -Address6=loader.c#_main+0x2a -Window6=ASM -Status6=ON -Name7=Swb00001 -Address7=i2c_twl.c#_int_iic_twl+0x43 -Window7=ASM -Status7=ON -Name8=Swb00006 -Address8=pm.c#_BT_get_left+0x81 -Window8=ASM -Status8=ON -Name9=Swb00011 -Address9=pm.c#_BT_init+0xa1 -Window9=ASM -Status9=ON -Name10=Swb00003 -Address10=task_sys.c#_tsk_sys+0x25a -Window10=ASM -Status10=ON -Name11=Swb00012 -Address11=task_sys.c#_tsk_sys+0x88 -Window11=ASM -Status11=ON -Name12=Swb00013 -Address12=task_sys.c#_tsk_sys+0x99 -Window12=ASM -Status12=ON -Name13=Swb00014 -Address13=task_sys.c#_tsk_sys+0xa8 -Window13=ASM -Status13=ON -Name14=Swb00016 -Address14=task_sys.c#_tsk_sys+0x79 -Window14=ASM -Status14=ON -Name15=Swb00017 -Address15=task_sys.c#_tsk_sys+0xbe -Window15=ASM -Status15=ON -Name16=Swb00018 -Address16=task_sys.c#_tsk_sys+0x8b -Window16=ASM -Status16=ON -Name17=Swb00009 -Address17=pm.c#_BT_get_left+0x0 -Window17=ASM -Status17=ON -Count=18 +Count=6 [Reset] Debugger=ON Symbol=OFF diff --git a/trunk/yav_mcu_bsr.prj b/trunk/yav_mcu_bsr.prj index 4a43af7..1ba102b 100644 --- a/trunk/yav_mcu_bsr.prj +++ b/trunk/yav_mcu_bsr.prj @@ -758,7 +758,7 @@ Jumpoptimize=1 Librarycallchk=1 Librarycall=1129 Aggressivechk=1 -Relativebranchchk=1 +Relativebranchchk=0 Debugoptchk=0 Outdebugchk=1 Outdebug=1153 diff --git a/trunk/yav_mcu_bsr.prk b/trunk/yav_mcu_bsr.prk index b5a96d7..1ebe4bb 100644 --- a/trunk/yav_mcu_bsr.prk +++ b/trunk/yav_mcu_bsr.prk @@ -1,7 +1,7 @@ [ProjectManager] FrameMax=1 -FrameX=0 -FrameY=54 +FrameX=68 +FrameY=16 FrameCX=1299 FrameCY=1044 OpenFile1=vreg_ctr.h,0,132,132,1376,889,15,156,15,0 @@ -14,14 +14,14 @@ OpenFile7=ProjectWindow PrjPos=0,2,754,3,253 OpenFile8=i2c_twl.c,0,308,308,1552,1065,13,130,0,0 OpenFile9=renge\renge.c,0,352,352,1596,1109,6,191,16,0 -OpenFile10=config.h,0,286,37,1530,794,40,30,40,0 -OpenFile11=..\branches\0.15(sdk0.9_E3_fix_vol_core1.20V)\pm.h,0,193,138,1437,895,5,156,107,0 -OpenFile12=task_sys.c,0,198,198,1442,955,0,83,0,0 -OpenFile13=OutputWindow +OpenFile10=..\branches\0.15(sdk0.9_E3_fix_vol_core1.20V)\pm.h,0,193,138,1437,895,5,156,107,0 +OpenFile11=task_sys.c,0,198,198,1442,955,0,83,0,0 +OpenFile12=pm.h,0,44,44,1288,801,43,74,43,0 +OpenFile13=user_define.h,0,22,22,1266,779,0,1,0,0 +OpenFile14=config.h,0,44,44,1288,801,17,33,40,0 +OpenFile15=pm.c,0,44,44,1023,681,38,595,42,0 +OpenFile16=OutputWindow OutputPos=0,44,989,1000,1587 -OpenFile14=pm.h,0,44,44,1288,801,43,74,43,0 -OpenFile15=user_define.h,0,22,22,1266,779,0,1,0,0 -OpenFile16=config.h,0,44,44,1288,801,0,1,0,0 ActivePRJ=yav_mcu_bsr.prj [ProjectWindow] ProjectWindowDispType=0 diff --git a/trunk/yav_mcu_bsr.sdb b/trunk/yav_mcu_bsr.sdb index 6a9d49f..cd53fd2 100644 --- a/trunk/yav_mcu_bsr.sdb +++ b/trunk/yav_mcu_bsr.sdb @@ -1,7 +1,7 @@ [SdbInfo] Ver=5 [loader.c] -T=4bff42bc +T=4c04abbf 1=incs_loader.h 2=fsl.h 3=fsl_user.h @@ -11,7 +11,7 @@ T=4bff42bc 7=rtc.h 8=reboot.h [pm.c] -T=4c0336e4 +T=4c04d0aa 1=incs.h 2=adc.h 3=led.h @@ -25,7 +25,7 @@ T=4bfdf8cd 1=config.h 2=incs.h [main.c] -T=4bfe231f +T=4c04d673 1=incs_loader.h 2=WDT.h 3=rtc.h @@ -35,7 +35,7 @@ T=4bfe231f 7=adc.h 8=pool.h [magic.c] -T=4c0343a1 +T=4c04d0aa 1=config.h [WDT.c] T=4bf0d1e1 @@ -58,7 +58,7 @@ T=4bfc790f T=4bfddb9c 1=incs.h [vreg_ctr.c] -T=4bfdcc40 +T=4c036041 1=incs.h 2=vreg_ctr.h 3=rtc.h @@ -76,13 +76,13 @@ T=4bfcc957 4=vreg_twl.h 5=vreg_ctr.h [adc.c] -T=4bff5669 +T=4c04ade6 1=incs.h 2=adc.h 3=pm.h 4=led.h [renge\renge.c] -T=4bfdf8cd +T=4c04d6fe 1=renge\renge.h 2=renge\renge_task_intval.h 3=renge\renge_task_immediate.h @@ -103,7 +103,7 @@ T=4bfb28ce 4=i2c_ctr.h 5=pool.h [sw.c] -T=4bfce568 +T=4c04be89 1=incs.h 2=i2c_twl.h 3=i2c_ctr.h @@ -126,7 +126,7 @@ T=4bfb53e4 6=i2c_mcu.h 7=led.h [task_sys.c] -T=4bff4570 +T=4c04be89 1=incs.h 2=i2c_twl.h 3=i2c_ctr.h @@ -138,7 +138,7 @@ T=4bff4570 9=adc.h 10=self_flash.h [pedo_alg_thre_det2.c] -T=4bfd1020 +T=4c03665c 1=incs.h 2=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h 3=accero.h @@ -173,9 +173,9 @@ T=4bf0d1e0 [config.h] T=4c031fb9 [user_define.h] -T=4bfdd9ff +T=4c03603c [bsr_system.h] -T=4bf6321a +T=4c04b188 [renge\renge.h] T=4bfdd9d2 1=renge\renge_defs.h @@ -203,7 +203,7 @@ T=4bf0d1e0 [i2c_ctr.h] T=4bf0d1e1 [pm.h] -T=4c031ee9 +T=4c036933 [rtc.h] T=4bf0d1e1 [reboot.h]