・(実機)電池を交換したときの対処

・歩数計ONの時、電源ボタン長押しでの強制オフが、指定地より長くなるのを修正。(簡易的)
 歩数計など、高負荷の場合、インターバル起動のタスクを想定回数起動できないことがあった。フラグではなくカウンタにして続けて2回実行などで何とか追いつくように変更



git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@181 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
N2232 2010-05-28 08:26:38 +00:00
parent 2bcb8aae68
commit 821f464cc4
17 changed files with 366 additions and 302 deletions

View File

@ -287,7 +287,14 @@ case ( ADC_SEL_AMB_BRIT ): //
case ( ADC_SEL_BATT_TEMP ): case ( ADC_SEL_BATT_TEMP ):
hist_bt_temp[index] = adc_data; hist_bt_temp[index] = adc_data;
raw_adc_temperature = getmean3( hist_bt_temp ); raw_adc_temperature = getmean3( hist_bt_temp );
renge_task_immed_add( BT_temp_update ); if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 ) &&
(( system_status.pwr_state == ON ) ||
( system_status.pwr_state == SLEEP )
)
)
{
renge_task_immed_add( BT_temp_update );
}
break; break;
case ( ADC_SEL_BATT_DET ): case ( ADC_SEL_BATT_DET ):
@ -295,11 +302,9 @@ case ( ADC_SEL_AMB_BRIT ): //
break; break;
} }
// もっとまともな書き方がありそうだ // もっとまともな書き方がありそうだ
// if( ADS == ADC_SEL_BATT_DET ){ if( ADS < ADC_SEL_BATT_TEMP )
if( ADS != ADC_SEL_BATT_TEMP ) { // 電池は常時監視しないつもり
{ // 電池判別は電源投入の一回のみ
ADS += 1; // 次のチャンネル ADS += 1; // 次のチャンネル
ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある
} }
@ -333,6 +338,7 @@ u8 get_adc( u8 ch )
ADCS = 1; // AD開始。 /// ここまで↑ に、1us以上開ける ADCS = 1; // AD開始。 /// ここまで↑ に、1us以上開ける
ADIF = 0;
while( ADIF == 0 ){;} while( ADIF == 0 ){;}
temp = ADCRH; temp = ADCRH;
ADCEN = 0; ADCEN = 0;

View File

@ -19,29 +19,57 @@ const u8 BT_PARAM[][64] = {
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0, 0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00 0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
}, },
{ // ID = 1 120 ohm { // ID = 1 120 ohm (ダミーでマクセル)
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
}, },
{ // ID = 2 360 hom { // ID = 2 360 hom (ダミーでマクセル)
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xAD, 0x30, 0xAE, 0x70, 0xB0, 0x00, 0xB3, 0x00,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xB4, 0x70, 0xB5, 0xA0, 0xB7, 0x80, 0xBA, 0x00,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0xBB, 0x90, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0xF0,
0xC3, 0x00, 0xC5, 0xC0, 0xC8, 0x00, 0xCA, 0xC0,
0x04, 0x00, 0x12, 0x00, 0x0C, 0x10, 0x24, 0x00,
0x10, 0xD0, 0x1B, 0xF0, 0x0A, 0xF0, 0x08, 0xE0,
0x0C, 0xF0, 0x08, 0xC0, 0x08, 0xB0, 0x07, 0xF0,
0x0B, 0x00, 0x05, 0xD0, 0x02, 0x00, 0x09, 0x00
}, },
{ // ID = 3 750 ohm { // ID = 3 750 ohm ダミーでパナ
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xB0, 0x80, 0xB3, 0xA0, 0xB5, 0x00, 0xB5, 0x30,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0xB5, 0xC0, 0xB6, 0xA0, 0xB7, 0x90, 0xB9, 0x70,
0xBC, 0x10, 0xC6, 0x90, 0xCA, 0x00, 0xD0, 0x90,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x0D, 0x40,
0x15, 0x00, 0x08, 0xF0, 0x80, 0x00, 0x00, 0x20,
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
}, },
{ // ID = 4 1.3kohm { // ID = 4 1.3kohm (ダミーでパナ)
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xB0, 0x80, 0xB3, 0xA0, 0xB5, 0x00, 0xB5, 0x30,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0xB5, 0xC0, 0xB6, 0xA0, 0xB7, 0x90, 0xB9, 0x70,
0xBC, 0x10, 0xC6, 0x90, 0xCA, 0x00, 0xD0, 0x90,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x0D, 0x40,
0x15, 0x00, 0x08, 0xF0, 0x80, 0x00, 0x00, 0x20,
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
}, },
{ // ID = 5 2.7kohm パナ { // ID = 5 2.7kohm パナ
0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30, 0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
@ -56,11 +84,18 @@ const u8 BT_PARAM[][64] = {
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0, 0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70 0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
}, },
{ // ID = 6 8.2kohm { // ID = 6 8.2kohm (ダミーでパナ)
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x80, 0x30, 0x83, 0x90, 0x92, 0x00, 0xAE, 0x30,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xB0, 0x80, 0xB3, 0xA0, 0xB5, 0x00, 0xB5, 0x30,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0xB5, 0xC0, 0xB6, 0xA0, 0xB7, 0x90, 0xB9, 0x70,
0xBC, 0x10, 0xC6, 0x90, 0xCA, 0x00, 0xD0, 0x90,
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x0D, 0x40,
0x15, 0x00, 0x08, 0xF0, 0x80, 0x00, 0x00, 0x20,
0x1F, 0x80, 0x1D, 0x60, 0x0D, 0x50, 0x08, 0xF0,
0x08, 0xA0, 0x04, 0xF0, 0x07, 0x70, 0x07, 0x70
} }
// ID = 7 白箱 // ID = 7 白箱
/// パラメータ無し /// パラメータ無し

View File

@ -1,13 +1,13 @@
#ifndef __config__ #ifndef __config__
#define __config__ #define __config__
//#define _debug_led_ #define _debug_led_
//#define _FORCE_OFF_1SEC_ //#define _FORCE_OFF_1SEC_
//#define _ALLOW_NOBATT_ //#define _ALLOW_NOBATT_
//#define _FORCE_INFO_LED_FULLCOLOR_ //#define _FORCE_INFO_LED_FULLCOLOR_
#define MCU_VER_MAJOR 0x00 #define MCU_VER_MAJOR 0x00
#define MCU_VER_MINOR 0x16 #define MCU_VER_MINOR 0x18
//#define PM_CCIC_TIM //#define PM_CCIC_TIM

View File

@ -307,7 +307,7 @@ err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
// スタートコンディションとスレーブの呼び出し... // スタートコンディションとスレーブの呼び出し...
IICMK10 = 1; IICMK10 = 1;
IICIF10 = 0; IICIF10 = 0;
if( iic_mcu_call_slave( slave ) != 0 ) if( iic_mcu_call_slave( slave ) != ERR_SUCCESS )
{ {
iic_mcu_busy = 0; iic_mcu_busy = 0;
return ( ERR_NOSLAVE ); return ( ERR_NOSLAVE );

View File

@ -152,7 +152,7 @@ void hdwinit( void )
{ // スタートアップルーチンが勝手に呼びます { // スタートアップルーチンが勝手に呼びます
DI( ); /* マスタ割り込み禁止 */ DI( ); /* マスタ割り込み禁止 */
CMC = 0b00010110; /* X1発振せず(入力ポート)、XT1使用、推奨の推奨で超低電力発振 */ CMC = 0b00010000; /* X1発振せず(入力ポート)、XT1使用、超低電力発振は不安定に付き通常で */
CSC = 0b10000000; /* X1発振なし、XT1発振あり、高速内蔵発振動作 */ CSC = 0b10000000; /* X1発振なし、XT1発振あり、高速内蔵発振動作 */
#ifdef _MCU_BSR_ #ifdef _MCU_BSR_
OSMC = 0x01; /* 隠しレジスタ */ OSMC = 0x01; /* 隠しレジスタ */
@ -235,7 +235,7 @@ void hdwinit2( )
PM3 = 0b11110000; // P31,32は簡易I2C PM3 = 0b11110000; // P31,32は簡易I2C
PM14 = 0b11111100; // debugger[1] とりあえず出力 PM14 = 0b11111100; // debugger[1] とりあえず出力
P1 = 0b10000000; P1 = 0b11000000;
P2 = 0b00000000; P2 = 0b00000000;
P4 = 0b00000000; P4 = 0b00000000;
P5 = 0b00000000; P5 = 0b00000000;

View File

@ -41,6 +41,8 @@ void main_loop( void )
iic_mcu_start( ); iic_mcu_start( );
EI( ); EI( );
BT_chk( ); // 実機やバッテリの判定、電池残量ICの設定
system_status.pwr_state = OFF_TRIG; system_status.pwr_state = OFF_TRIG;
if( system_status.reboot ) if( system_status.reboot )
{ {
@ -51,11 +53,6 @@ void main_loop( void )
if( PM_chk_LDSW() != 0 ) if( PM_chk_LDSW() != 0 )
#endif #endif
{ {
// 電源投入...の準備 //
BT_DET_P = 1; // チャージに時間が掛かるので、先に上げておく
BT_TEMP_P = 1;
iic_mcu_start( );
BT_init( ); // 実機やバッテリの判定、電池残量ICの設定
system_status.pwr_state = ON_TRIG; system_status.pwr_state = ON_TRIG;
} }
} }
@ -70,6 +67,7 @@ void main_loop( void )
RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */ RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */
// メインループ // // メインループ //
while( 1 ) while( 1 )
{ // システムtick、または割り込みで廻ります。 { // システムtick、または割り込みで廻ります。

View File

@ -168,8 +168,8 @@ err PM_BL_set( u8 dat )
intset |= REG_BIT_BL_L_OFF; intset |= REG_BIT_BL_L_OFF;
} }
// if( blset != 0 ) // BLを付ける場合はウェイトを挟まないとPWMが来ておらず if( blset != 0 ) // BLを付ける場合はウェイトを挟まないとPWMが来ておらず
/// シャットダウンすることがある // シャットダウンすることがある
{ {
wait_ms( 16 + 10 ); wait_ms( 16 + 10 );
// wait_ms( 84 ); ミツミの1stバグ回避 // wait_ms( 84 ); ミツミの1stバグ回避
@ -640,18 +640,18 @@ void tsk_batt( )
// temp_zone_charge_enable そのまま // temp_zone_charge_enable そのまま
} }
if(( temp_zone_charge_enable == 1 )
&& ( battery_manufacturer <= BT_VENDER_6 ))
{
#ifndef _MODEL_WM0_ #ifndef _MODEL_WM0_
// CHG_ENABLEピンは /WL_RST に配線されているので // WM0ではCHG_ENABLEピンは /WL_RST に配線されており、充電制御しない
if(( temp_zone_charge_enable == 1 ) &&
( battery_manufacturer < BT_VENDER_OPEN ))
{
BT_CHG_ENABLE(); // 温度範囲OKで充電再開 BT_CHG_ENABLE(); // 温度範囲OKで充電再開
} }
else else
{ {
BT_CHG_DISABLE(); // 温度危険! 充電停止 BT_CHG_DISABLE(); // 温度危険! 充電停止
#endif
} }
#endif
// 充電 // // 充電 //
@ -672,8 +672,6 @@ void tsk_batt( )
{ {
BT_get_left(); BT_get_left();
} }
return;
} }
@ -694,6 +692,65 @@ void tsk_batt( )
***********************************************************/ ***********************************************************/
#define swap_endian_16( x ) (unsigned int)(( x << 8 ) | ( x >> 8 )) #define swap_endian_16( x ) (unsigned int)(( x << 8 ) | ( x >> 8 ))
void BT_chk( )
{
u8 temp;
union{
u16 _u16; // endian 注意
struct{
u8 lsb;
u8 msb;
}chars;
}dat_16;
BT_DET_P = 1; // チャージに時間が掛かるので、先に上げておく
BT_TEMP_P = 1;
wait_ms(1);
{
BT_VENDER battery_manufacturer_old = battery_manufacturer;
// 電池メーカーの識別
temp = get_adc( ADC_SEL_BATT_DET );
BT_DET_P = 0;
if( temp > 233 )
battery_manufacturer = BT_VENDER_OPEN;
else if( temp > 197 )
battery_manufacturer = BT_VENDER_6;
else if( temp > 158 )
battery_manufacturer = BT_VENDER_PANA;
else if( temp > 123 )
battery_manufacturer = BT_VENDER_4;
else if( temp > 79 )
battery_manufacturer = BT_VENDER_3;
else if( temp > 33 )
battery_manufacturer = BT_VENDER_2;
else if( temp > 5 )
battery_manufacturer = BT_VENDER_1;
else
battery_manufacturer = BT_VENDER_MAXELL;
if( battery_manufacturer != battery_manufacturer_old )
{
// バッテリが変わった //
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 );
}
}
// 電池温度監視スタート
renge_task_immed_add( BT_temp_update );
}
void BT_init( ) void BT_init( )
{ {
u8 temp; u8 temp;
@ -707,49 +764,21 @@ void BT_init( )
}dat_16; }dat_16;
// BT_DET_P = 1; // チャージに時間が掛かるので、先に上げておく // PMIC バージョン読み出し
// BT_TEMP_P = 1; // temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
// vreg_ctr[ VREG_C_PM_INFO ] = temp;
// 電池温度測定(TS,白箱判定も兼ねる) // /// デバッグ用は別にまとめた
while( ADCEN != 0 )
{
NOP();
}
raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP );
// 電池メーカーの識別
temp = get_adc( ADC_SEL_BATT_DET );
BT_DET_P = 0;
if( temp > 233 )
battery_manufacturer = BT_VENDER_OPEN;
else if( temp > 197 )
battery_manufacturer = BT_VENDER_6;
else if( temp > 158 )
battery_manufacturer = BT_VENDER_PANA;
else if( temp > 123 )
battery_manufacturer = BT_VENDER_4;
else if( temp > 79 )
battery_manufacturer = BT_VENDER_3;
else if( temp > 33 )
battery_manufacturer = BT_VENDER_2;
else if( temp > 5 )
battery_manufacturer = BT_VENDER_1;
else
battery_manufacturer = BT_VENDER_MAXELL;
/* /*
// -1. なんかおかしい… リセットをかけてみる // -1. リセットをかけてみる
dat_16._u16 = swap_endian_16( 0x5400 ); // reset dat_16._u16 = swap_endian_16( 0x5400 ); // reset
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_COMMAND, 2, &dat_16 ); // こいつはNACKを返す iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_COMMAND, 2, &dat_16 ); // こいつはNACKを返す
*/ */
/* // 電池温度測定(TS,白箱判定も兼ねる) //
// 0. バッテリ残量IC クイックスタート raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP );
dat_16._u16 = swap_endian_16( 0x4000 ); // quick start
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16 )
*/
// 1. ロック解除 // 1. ロック解除
dat_16._u16 = swap_endian_16( 0x4A57 ); // unlock key dat_16._u16 = swap_endian_16( 0x4A57 ); // unlock key
if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 ) == ERR_SUCCESS ) if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 ) == ERR_SUCCESS )
@ -815,8 +844,6 @@ void BT_init( )
{ {
iic_mcu_set_wo_dma( ); iic_mcu_set_wo_dma( );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 64, &BT_PARAM[ battery_manufacturer ] ); iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 64, &BT_PARAM[ battery_manufacturer ] );
bt_comp = BT_COMP[ battery_manufacturer ];
} }
// 6. 150ms以上待つ // 6. 150ms以上待つ
@ -833,7 +860,7 @@ void BT_init( )
temp = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC ); temp = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC );
if(( temp >= 0x74 ) && ( temp <= 0x75 )) if(( temp >= 0x74 ) && ( temp <= 0x75 ))
{ {
// カスタムモデル書き込みOK // カスタムモデル書き込みOK
}else{ }else{
// 失敗だったらリトライするのか? // 失敗だったらリトライするのか?
@ -849,16 +876,6 @@ void BT_init( )
// おしまい // // おしまい //
BT_temp_update( ); // 温度のtemp。 残量ICに行きます BT_temp_update( ); // 温度のtemp。 残量ICに行きます
} }
// どの機体で走ってても不可を同じくらいにするため、ADCタスクを登録
// 電池温度監視スタート
raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP ); // 温度のtemp。
renge_task_immed_add( BT_temp_update );
// PMIC バージョン読み出し
// temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
// vreg_ctr[ VREG_C_PM_INFO ] = temp;
/// デバッグ用は別にまとめた
} }
@ -873,10 +890,8 @@ extern u16 _dbg_rcomp;
======================================================== */ ======================================================== */
task_status_immed BT_temp_update( ) task_status_immed BT_temp_update( )
{ {
static u8 count = 0; // たまにしか書きに行かない
static u8 rawdat_old; static u8 rawdat_old;
static s16 temperature; static s8 temperature;
s16 newrcomp; s16 newrcomp;
/* /*
@ -885,16 +900,14 @@ task_status_immed BT_temp_update( )
T[] = 81.48 - 111.97 x ratio T[] = 81.48 - 111.97 x ratio
TDK T = 81.406 - 111.81 x ratio TDK T = 81.406 - 111.81 x ratio
*/ */
if( rawdat_old != raw_adc_temperature ){ if( rawdat_old != raw_adc_temperature )
{
rawdat_old = raw_adc_temperature;
// temperature = 81.45 - 111.9 * raw_adc_temperature/256.0; // temperature = 81.45 - 111.9 * raw_adc_temperature/256.0;
// それぞれ256倍してある // それぞれ256倍してある
temperature = ( 20851 - 112 * raw_adc_temperature + (256/2) ) /256; temperature = ( 20851 - 112 * raw_adc_temperature + (256/2) ) /256;
vreg_ctr[VREG_C_BT_TEMP] = (u8)temperature; vreg_ctr[VREG_C_BT_TEMP] = (u8)temperature;
}
// 時々書きにゆく
if( count == 0 )
{
newrcomp = 0; newrcomp = 0;
if( temperature > 20 ) if( temperature > 20 )
{ {
@ -909,14 +922,15 @@ task_status_immed BT_temp_update( )
newrcomp = newrcomp; newrcomp = newrcomp;
_dbg_rcomp = newrcomp; _dbg_rcomp = newrcomp;
if( iic_mcu_write if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 2, &newrcomp ) == ERR_SUCCESS )
( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 2, &newrcomp ) == ERR_SUCCESS )
{ {
rawdat_old = raw_adc_temperature; rawdat_old = raw_adc_temperature;
} }
else
{
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
}
} }
count += 1;
return ( ERR_SUCCESS ); return ( ERR_SUCCESS );
} }
@ -937,7 +951,6 @@ void BT_get_left(){
temp[0] = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL ); temp[0] = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL );
if( iic_mcu_bus_status == ERR_SUCCESS ) if( iic_mcu_bus_status == ERR_SUCCESS )
{ {
vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_GASGAUGE_ERR;
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0]; vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0];
if( vreg_ctr[ VREG_C_BT_VOLTAGE ] > ( 3100 / 16 / 1.25 ) ) if( vreg_ctr[ VREG_C_BT_VOLTAGE ] > ( 3100 / 16 / 1.25 ) )
{ {
@ -967,8 +980,13 @@ void BT_get_left(){
} }
else else
{ {
// バッテリ残量が取れなくなった!
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR; vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
vreg_ctr[ VREG_C_BT_REMAIN ] = 99; if( vreg_ctr[ VREG_C_BT_REMAIN ] != 0 )
{
vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN );
}
} }
// 残量で割り込み // 残量で割り込み

View File

@ -128,7 +128,8 @@ void PM_LCD_off( );
err PM_BL_set( u8 ); err PM_BL_set( u8 );
void BT_init( ); void BT_chk();
void BT_init();
void BT_get_left(); void BT_get_left();

View File

@ -17,10 +17,10 @@
#include "..\config.h" #include "..\config.h"
#include "..\user_define.h" #include "..\user_define.h"
//#define _renge_test_ #define _renge_test_
//****************************************************************************** //******************************************************************************
bit renge_flg_interval; u8 renge_flg_interval;
bit renge_task_interval_run_force; bit renge_task_interval_run_force;
bit renge_task_immediate_not_empty; bit renge_task_immediate_not_empty;
@ -81,18 +81,26 @@ err renge_task_interval_run(){
u8 i; u8 i;
// インターバル起動 // インターバル起動
if(( renge_flg_interval == 1 ) DI();
if(( renge_flg_interval != 0 )
|| ( renge_task_interval_run_force != 0 )) // todo 統合 || ( renge_task_interval_run_force != 0 )) // todo 統合
{ {
renge_task_interval_run_force = 0; renge_task_interval_run_force = 0;
renge_flg_interval = 0; if( renge_flg_interval != 0 )
{
renge_flg_interval -= 1;
}
EI();
for( i = 0; i != TSK_LAST; i += 1 ) for( i = 0; i != TSK_LAST; i += 1 )
{ {
DBG_LED_on;
tasks[ i ](); tasks[ i ]();
DBG_LED_off;
// 逐次起動タスクがあったら起動しておく // 逐次起動タスクがあったら起動しておく
renge_task_immed_run(); renge_task_immed_run();
} }
} }
EI();
return( ERR_SUCCESS ); return( ERR_SUCCESS );
} }

View File

@ -25,7 +25,7 @@ void wait_ms( u8 );
//****************************************************************************** //******************************************************************************
err renge_task_interval_run(); err renge_task_interval_run();
extern bit renge_task_interval_run_force; extern bit renge_task_interval_run_force;
extern bit renge_flg_interval; extern u8 renge_flg_interval;
extern u8 system_time; extern u8 system_time;

View File

@ -176,5 +176,5 @@ void rtc_unlock( )
======================================================== */ ======================================================== */
__interrupt void int_rtc_int( ) __interrupt void int_rtc_int( )
{ {
renge_flg_interval = 1; renge_flg_interval += 1; // インクリメント/デクリメント命令を使うので DI()不要
} }

View File

@ -16,6 +16,11 @@
#include "self_flash.h" #include "self_flash.h"
//=========================================================
extern void nop8();
//========================================================= //=========================================================
static void chk_emergencyExit(); static void chk_emergencyExit();
@ -34,7 +39,6 @@ extern bit info_led_off;
void tsk_sys( ) void tsk_sys( )
{ {
static u8 timeout = 0; static u8 timeout = 0;
static u8 bt_status_old;
switch ( system_status.pwr_state ) switch ( system_status.pwr_state )
{ {
@ -73,10 +77,9 @@ void tsk_sys( )
timeout = 0; timeout = 0;
// 電源投入 // // 電源投入 //
BT_DET_P = 1; // チャージに時間が掛かるので、先に上げておく
BT_TEMP_P = 1;
iic_mcu_start( ); iic_mcu_start( );
BT_init( ); // 実機やバッテリの判定、電池残量ICの設定 BT_chk();
BT_init(); // 実機やバッテリの判定、電池残量ICの設定
if( system_status.poweron_reason == EXT_POWER ) if( system_status.poweron_reason == EXT_POWER )
{ {
@ -92,7 +95,7 @@ void tsk_sys( )
} }
// 残量チェック // 残量チェック
BT_get_left(); // 先に、BT_init()が実行されている必要があります。(大丈夫) BT_get_left(); // 先に、BT_init()が実行されている必要があります。
if( vreg_ctr[VREG_C_BT_REMAIN] < 1 ) if( vreg_ctr[VREG_C_BT_REMAIN] < 1 )
{ {
renge_task_interval_run_force = 1; renge_task_interval_run_force = 1;
@ -187,6 +190,11 @@ void tsk_sys( )
{ {
set_irq( VREG_C_IRQ0, REG_BIT_IRQ_WDT_RESET ); set_irq( VREG_C_IRQ0, REG_BIT_IRQ_WDT_RESET );
} }
// デバッグ目的
vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x03;
acc_hosu_set();
break; break;
case ON: //--------------------------------------------- case ON: //---------------------------------------------
@ -209,21 +217,17 @@ void tsk_sys( )
case SLEEP: //------------------------------------------ case SLEEP: //------------------------------------------
chk_emergencyExit(); chk_emergencyExit();
// スリープから復帰 // スリープから復帰
if( !SLP_REQ ){ if( !SLP_REQ ){
PM_VDD_normMode(); PM_VDD_normMode();
wait_ms( 5 ); // tdly_sw wait_ms( 5 ); // tdly_sw
#ifdef _MODEL_CTR_ #ifdef _MODEL_CTR_
SLP_ACK = 1; SLP_ACK = 1;
NOP(); // 適当ウェイト nop8(); // 適当ウェイト
NOP(); SLP_ACK = 0;
NOP();
NOP();
SLP_ACK = 0;
#endif #endif
system_status.pwr_state = ON; system_status.pwr_state = ON;
} }
break; break;
case OFF_TRIG: //--------------------------------------- case OFF_TRIG: //---------------------------------------
@ -296,11 +300,8 @@ void tsk_sys( )
case BT_CHARGE: case BT_CHARGE:
if( !PM_EXTDC_n ) if( !PM_EXTDC_n )
{ {
if( !bt_status_old ){ iic_mcu_start( );
iic_mcu_start( ); BT_chk( );
BT_init( ); // 実機やバッテリの判定、電池残量ICの設定
}
bt_status_old = 1;
// アダプタ有り:充電温度監視 // アダプタ有り:充電温度監視
if( SW_pow_count >= 10 ) // 電源スイッチが押されるのを待つ if( SW_pow_count >= 10 ) // 電源スイッチが押されるのを待つ
@ -312,7 +313,6 @@ void tsk_sys( )
} }
else else
{ {
bt_status_old = 0;
// 省電力へ移行 // 省電力へ移行
system_status.poweron_reason = NONE; system_status.poweron_reason = NONE;
@ -347,8 +347,6 @@ void tsk_sys( )
# endif # endif
RTCIMK = 0; RTCIMK = 0;
system_status.pwr_state = OFF; system_status.pwr_state = OFF;
BT_DET_P = 1; // チャージに時間が掛かるので、先に上げておく
BT_TEMP_P = 1;
} }
return; return;

View File

@ -1,27 +1,28 @@
C:\WINDOWS\system32\cmd.exe /c touch magic.c 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 -w2 -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 -qvjl2wt -sainter_asm -zpb -no pm.c
magic.c(13) : CC78K0R warning W0871: Data aligned after 'MGC_HEAD'in 'MGC_MIMI section' pm.c(63) : CC78K0R warning W0401: Conversion may lose significant digits
magic.c(16) : CC78K0R warning W0871: Data aligned after 'MGC_TAIL'in 'MGC_TAIL section' pm.c(100) : CC78K0R warning W0401: Conversion may lose significant digits
magic.c(10) : CC78K0R warning W0871: Data aligned after 'MGC_LOAD'in 'MGC_LOAD section' pm.c(184) : CC78K0R warning W0401: Conversion may lose significant digits
Compilation complete, 0 error(s) and 3 warning(s) found. pm.c(192) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(479) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(482) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(908) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(1025) : 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 -qvjl2wt -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 "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. 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 -qvjl2wt -sainter_asm -zpb -w2 -no adc.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 task_sys.c
adc.c(93) : CC78K0R warning W0760: Double and long double are treated as IEEE 754 single format task_sys.c(179) : CC78K0R warning W0401: Conversion may lose significant digits
adc.c(112) : CC78K0R warning W0745: Expected function prototype task_sys.c(421) : CC78K0R warning W0401: Conversion may lose significant digits
adc.c(110) : CC78K0R warning W0309: Unused 'temp' Compilation complete, 0 error(s) and 2 warning(s) found.
adc.c(163) : CC78K0R warning W0401: Conversion may lose significant digits "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
adc.c(171) : CC78K0R warning W0401: Conversion may lose significant digits
adc.c(172) : CC78K0R warning W0401: Conversion may lose significant digits
adc.c(83) : CC78K0R warning W0309: Unused 'old_tune'
adc.c(84) : CC78K0R warning W0309: Unused 'sndvol_codec'
adc.c(85) : CC78K0R warning W0309: Unused 'bt_temp_old'
adc.c(275) : CC78K0R warning W0401: Conversion may lose significant digits
adc.c(310) : CC78K0R warning W0401: Conversion may lose significant digits
adc.c(243) : CC78K0R warning W0714: Too many register variables
adc.c(342) : CC78K0R warning W0851: Data aligned in '@@DATA section'
Compilation complete, 0 error(s) and 13 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. 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 "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. Link complete, 0 error(s) and 0 warning(s) found.
@ -33,4 +34,4 @@ intel-HEX to bsr bin converter
file converted! file converted!
Build Total error(s) : 0 Total warning(s) : 16 Build Total error(s) : 0 Total warning(s) : 13

View File

@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C Language=C
Kanji=SJIS Kanji=SJIS
[Source] [Source]
Geometry=17, 71, 873, 815 Geometry=155, 86, 844, 790
Window=Normal Window=Normal
DispStart=39 DispStart=44
CaretPos=80,0 CaretPos=83,0
Mode=Normal Mode=Normal
DispFile= DispFile=
Address1= Address1=
@ -140,18 +140,18 @@ SaveStart=
SaveEnd= SaveEnd=
Accumulative=ON Accumulative=ON
[Source1] [Source1]
Geometry=0, 0, 873, 815 Geometry=0, 0, 844, 790
Window=Normal Window=Normal
DispStart=554 DispStart=811
CaretPos=1,0 CaretPos=749,0
Mode=Normal Mode=Normal
DispFile=led.c DispFile=pm.c
Accumulative=ON Accumulative=ON
[Assemble] [Assemble]
Geometry=19, 497, 600, 400 Geometry=282, 92, 968, 626
Window=Normal Window=Hide
DispStart=693 DispStart=864531456
CaretPos=693,27 CaretPos=0,0
Address1= Address1=
Address2= Address2=
Address3= Address3=
@ -193,18 +193,18 @@ SaveRange=Screen
SaveStart= SaveStart=
SaveEnd= SaveEnd=
[Memory] [Memory]
Geometry=373, 24, 550, 682 Geometry=218, 29, 968, 626
Window=Normal Window=Hide
Boundary=163 Boundary=0
Format=Hex Format=Hex
Mode=Byte Mode=Byte
Endian=Little Endian=
Ascii=OFF Ascii=OFF
Idtag=OFF Idtag=OFF
Address= Address=
DispStart=00004F70 DispStart=00004F70
CaretPosData=0, 1271 CaretPosData=0, 0
CaretPosAscii=3, 1271 CaretPosAscii=0, 0
Address1= Address1=
Address2= Address2=
Address3= Address3=
@ -265,7 +265,7 @@ Boundary=0
Mode=Proper Mode=Proper
[Sfr] [Sfr]
Geometry=613, 51, 596, 915 Geometry=613, 51, 596, 915
Window=Normal Window=Hide
Address1= Address1=
Address2= Address2=
Address3= Address3=
@ -282,8 +282,8 @@ Address13=
Address14= Address14=
Address15= Address15=
Address16= Address16=
Boundary=202, 89 Boundary=0, 0
Mode=Bin Mode=Hex
Attribute=Show Attribute=Show
Sort=Unsort Sort=Unsort
Pickup=OFF Pickup=OFF
@ -822,9 +822,9 @@ L529=IICWL1
L530=IICWH1 L530=IICWH1
L531=SVA1 L531=SVA1
[Local Variable] [Local Variable]
Geometry=860, 559, 400, 244 Geometry=908, 594, 353, 335
Window=Normal Window=Normal
Boundary=13041851 Boundary=11403429
Mode=Proper Mode=Proper
[Trace View] [Trace View]
Geometry=0, 0, 0, 0 Geometry=0, 0, 0, 0
@ -874,8 +874,8 @@ SaveRange=Screen
SaveStart= SaveStart=
SaveEnd= SaveEnd=
[Register] [Register]
Geometry=1338, 10, 250, 519 Geometry=975, 515, 272, 397
Window=Normal Window=Hide
Mode=Hex Mode=Hex
Boundary=174 Boundary=174
Pickup=OFF Pickup=OFF
@ -887,7 +887,7 @@ RP2=1
RP3=1 RP3=1
PC=1 PC=1
SP=1 SP=1
PSW=1 PSW=5
ES=1 ES=1
CS=1 CS=1
[Event Manager] [Event Manager]
@ -965,90 +965,94 @@ Detail=OFF
Last Name= Last Name=
Count=0 Count=0
[Variable] [Variable]
Geometry=827, 13, 440, 653 Geometry=929, 17, 320, 595
Window=Normal Window=Normal
Boundary=18088086 Boundary=18088086
0=.tdr07,P,S,A,+,1 0=.battery_manufacturer,P,N,A,+,1
1=.tdr03,P,S,A,+,1 1=.bt_comp,.,N,A,+,1
2=.tdr06,P,S,A,+,1 2=.raw_adc_temperature,P,N,A,+,1
3=.TOE0,B,S,A,+,1 3=.PM1.7,P,S,A,+,1
4=.vreg_twl,P,N,A,+,1 4=.P1.7,P,S,A,+,1
5=.p7.0,P,S,A,+,1 5=.bt_comp,.,N,A,+,1
6=.p5.1,P,S,A,+,1 6=.tasks_immed,P,N,A,+,1
7=.pu7.0,P,S,A,+,1 7=.vreg_ctr[2],P,N,A,+,1
8=.pm7.0,P,S,A,+,1 8=.vreg_twl[3],P,N,A,+,1
9=.pu5.1,P,S,A,+,1 9=.cnt_force_off,P,N,A,+,1
10=.pm5.1,P,S,A,+,1 10=.pool.vreg_c_ext,.,N,A,+,1
11=.P20.5,P,S,A,+,1 11=.p_record,P,N,A,+,1
12=.vreg_ctr,P,N,A,+,1 12=.temp_hours,P,N,A,+,1
13=.temperature,D,N,A,+,1 13=.temp,D,N,A,+,1
14=.raw_adc_temperature,D,N,A,+,1 Line=14
15=.info_LED,.,N,A,+,1
16=.list_id,P,N,A,+,1
17=.TDR02,P,S,A,+,1
18=.P4.2,P,S,A,+,1
19=.pool,.,N,A,+,1
20=.p_LED_duty_WiFi,.,N,A,+,1
21=.system_status,.,N,A,+,1
22=.psw,P,R,A,+,1
23=.vreg_ctr,P,N,A,+,1
24=.tasks_immed,P,N,A,+,1
25=.rcomp,D,N,A,+,1
26=.temp_co_dn,D,N,A,+,1
27=.raw_adc_temperature,P,N,A,+,1
28=.temperature,D,N,A,+,1
29=.temp_co_up,D,N,A,+,1
Line=30
[Quick Watch] [Quick Watch]
0=temperature,P,A,1 0=p_record,P,A,1
1=raw_adc_temperature,P,A,1 1=pool.vreg_c_ext,P,A,1
2=pu70,P,A,1 2=temp_hours,P,A,1
3=pm7.0,P,A,1 3=cnt_force_off,P,A,1
4=pu7.0,P,A,1 4=vreg_ctr[36],P,A,1
5=p7.0,P,A,1 5=vreg_ctr[0x24],P,A,1
6=p5.1,P,A,1 6=vreg_twl[3],P,A,1
7=pu5.1,P,A,1 7=vreg_ctr[2],P,A,1
8=pm5.1,P,A,1 8=tasks_immed,P,A,1
9=vreg_twl,P,A,1 9=temp,P,A,1
10=vreg_ctr,P,A,1 10=BT_TEMP_P,P,A,1
11=P20.5,P,A,1 11=P1.7,P,A,1
12=tdr07,P,A,1 12=PM1.7,P,A,1
13=tdr03,P,A,1 13=raw_adc_temperature,P,A,1
14=tdr06,P,A,1 14=battery_manufacturer,P,A,1
15=TOE0,P,A,1 15=bt_comp,P,A,1
[Software Break] [Software Break]
Geometry=805, 623, 500, 296 Geometry=408, 387, 756, 532
Window=Normal Window=Normal
Width=150 30 200 100 Width=150 30 200 100
Name0=Swb00001 Name0=Swb00015
Address0=vreg_ctr.c#_vreg_ctr_read+0x3c Address0=led.c#_tsk_led_cam+0x75
Window0=ASM Window0=ASM
Status0=ON Status0=ON
Name1=Swb00015 Name1=Swb00005
Address1=led.c#_tsk_led_cam+0x76 Address1=vreg_ctr.c#_vreg_ctr_write+0x194
Window1=ASM Window1=ASM
Status1=ON Status1=OFF
Name2=Swb00005 Name2=Swb00008
Address2=vreg_ctr.c#_vreg_ctr_write+0x1a2 Address2=loader.c#_main+0x92
Window2=ASM Window2=ASM
Status2=OFF Status2=ON
Name3=Swb00006 Name3=Swb00004
Address3=vreg_twl.c#_vreg_twl_write+0x27 Address3=vreg_ctr.c#_vreg_ctr_write+0x2be
Window3=ASM Window3=ASM
Status3=ON Status3=ON
Name4=Swb00002 Name4=Swb00003
Address4=task_status.c#_tsk_status+0x84 Address4=task_sys.c#_tsk_sys+0x13c
Window4=ASM Window4=ASM
Status4=ON Status4=ON
Name5=Swb00003 Name5=Swb00010
Address5=main.c#_main_loop+0x0 Address5=loader.c#_main+0x12
Window5=ASM Window5=ASM
Status5=ON Status5=ON
Name6=Swb00004 Name6=Swb00002
Address6=led.c#_tsk_led_notify+0x118 Address6=i2c_mcu.c#_iic_mcu_is_ready+0x1a
Window6=ASM Window6=ASM
Status6=ON Status6=ON
Count=7 Name7=Swb00007
Address7=loader.c#_main+0x2a
Window7=ASM
Status7=ON
Name8=Swb00001
Address8=i2c_twl.c#_int_iic_twl+0x43
Window8=ASM
Status8=ON
Name9=Swb00006
Address9=pm.c#_BT_get_left+0x82
Window9=ASM
Status9=ON
Name10=Swb00009
Address10=pm.c#_BT_chk+0x7d
Window10=ASM
Status10=ON
Name11=Swb00011
Address11=pm.c#_BT_init+0xa1
Window11=ASM
Status11=ON
Count=12
[Reset] [Reset]
Debugger=ON Debugger=ON
Symbol=OFF Symbol=OFF

View File

@ -789,7 +789,7 @@ Intunexpand=1
Kanjicode=1210 Kanjicode=1210
Verbose=0 Verbose=0
CommandFile=0 CommandFile=0
Warninglevel=2 Warninglevel=1
Startupchk=1 Startupchk=1
Fixation=0 Fixation=0
FarROMization=0 FarROMization=0

View File

@ -4,24 +4,19 @@ FrameX=0
FrameY=54 FrameY=54
FrameCX=1299 FrameCX=1299
FrameCY=1044 FrameCY=1044
OpenFile1=renge\renge.h,0,502,637,1746,1394,29,16,29,0 OpenFile1=vreg_ctr.h,2,132,132,1376,889,15,156,15,0
OpenFile2=jhl_defs.h,0,250,539,1494,1265,0,10,8,0 OpenFile2=magic.c,0,154,154,1398,911,20,16,28,0
OpenFile3=renge\\renge_defs.h,0,293,307,1537,1033,18,37,18,0 OpenFile3=led.c,0,289,306,1533,1063,57,620,57,0
OpenFile4=pm.h,0,254,446,1244,1062,0,115,0,0 OpenFile4=loader.c,0,169,287,1413,1044,0,37,25,0
OpenFile5=vreg_ctr.h,0,632,184,1876,910,8,40,25,0 OpenFile5=pedo_alg_thre_det2.c,0,242,242,1486,999,25,108,25,0
OpenFile6=ProjectWindow OpenFile6=sw.c,0,264,264,1508,1021,30,125,0,0
OpenFile7=ProjectWindow
PrjPos=0,2,754,3,253 PrjPos=0,2,754,3,253
OpenFile7=magic.c,0,323,248,1567,974,0,17,0,0 OpenFile8=i2c_twl.c,0,308,308,1552,1065,13,130,0,0
OpenFile8=vreg_twl.c,0,286,286,1530,1012,2,65,2,0 OpenFile9=renge\renge.c,0,352,352,1596,1109,6,191,16,0
OpenFile9=adc.c,0,286,286,1530,1012,0,173,0,0 OpenFile10=OutputWindow
OpenFile10=sw.c,0,574,367,1818,1093,0,57,43,0 OutputPos=0,44,989,1000,1587
OpenFile11=loader.c,0,296,307,1286,923,0,126,20,0 OpenFile11=config.h,0,220,220,1464,977,29,19,29,0
OpenFile12=config.h,0,316,50,1560,776,29,10,29,0
OpenFile13=led.c,0,315,193,1559,919,0,541,0,0
OpenFile14=task_sys.c,0,330,330,1574,1056,13,236,12,0
OpenFile15=OutputWindow
OutputPos=0,573,1039,440,1498
OpenFile16=batt_params.h,0,0,0,1244,757,0,92,0,0
ActivePRJ=yav_mcu_bsr.prj ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow] [ProjectWindow]
ProjectWindowDispType=0 ProjectWindowDispType=0

View File

@ -1,7 +1,7 @@
[SdbInfo] [SdbInfo]
Ver=5 Ver=5
[loader.c] [loader.c]
T=4bf64019 T=4bff42bc
1=incs_loader.h 1=incs_loader.h
2=fsl.h 2=fsl.h
3=fsl_user.h 3=fsl_user.h
@ -11,7 +11,7 @@ T=4bf64019
7=rtc.h 7=rtc.h
8=reboot.h 8=reboot.h
[pm.c] [pm.c]
T=4bfb814e T=4bff4570
1=incs.h 1=incs.h
2=adc.h 2=adc.h
3=led.h 3=led.h
@ -21,11 +21,11 @@ T=4bfb814e
7=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h 7=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
8=fsl_user.h 8=fsl_user.h
[i2c_ctr.c] [i2c_ctr.c]
T=4bf615a7 T=4bfdf8cd
1=config.h 1=config.h
2=incs.h 2=incs.h
[main.c] [main.c]
T=4bf636cb T=4bfe231f
1=incs_loader.h 1=incs_loader.h
2=WDT.h 2=WDT.h
3=rtc.h 3=rtc.h
@ -35,30 +35,30 @@ T=4bf636cb
7=adc.h 7=adc.h
8=pool.h 8=pool.h
[magic.c] [magic.c]
T=4bfb98f5 T=4bff42ea
1=config.h 1=config.h
[WDT.c] [WDT.c]
T=4bf0d1e1 T=4bf0d1e1
1=incs_loader.h 1=incs_loader.h
[i2c_mcu.c] [i2c_mcu.c]
T=4bf64703 T=4bfe1c36
1=incs_loader.h 1=incs_loader.h
2=i2c_mcu.h 2=i2c_mcu.h
[i2c_twl.c] [i2c_twl.c]
T=4bf67bea T=4bfd0d14
1=config.h 1=config.h
2=incs.h 2=incs.h
3=i2c_twl_defs.h 3=i2c_twl_defs.h
4=i2c_twl.h 4=i2c_twl.h
[led.c] [led.c]
T=4bfb76c5 T=4bfc790f
1=incs.h 1=incs.h
2=led.h 2=led.h
[rtc.c] [rtc.c]
T=4bf0d1e1 T=4bfddb9c
1=incs.h 1=incs.h
[vreg_ctr.c] [vreg_ctr.c]
T=4bfa4164 T=4bfdcc40
1=incs.h 1=incs.h
2=vreg_ctr.h 2=vreg_ctr.h
3=rtc.h 3=rtc.h
@ -69,20 +69,20 @@ T=4bfa4164
8=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h 8=..\..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
9=fsl_user.h 9=fsl_user.h
[vreg_twl.c] [vreg_twl.c]
T=4bfb7246 T=4bfcc957
1=incs.h 1=incs.h
2=jhl_defs.h 2=jhl_defs.h
3=led.h 3=led.h
4=vreg_twl.h 4=vreg_twl.h
5=vreg_ctr.h 5=vreg_ctr.h
[adc.c] [adc.c]
T=4bfa2806 T=4bff22ec
1=incs.h 1=incs.h
2=adc.h 2=adc.h
3=pm.h 3=pm.h
4=led.h 4=led.h
[renge\renge.c] [renge\renge.c]
T=4bf4e91e T=4bfdf8cd
1=renge\renge.h 1=renge\renge.h
2=renge\renge_task_intval.h 2=renge\renge_task_intval.h
3=renge\renge_task_immediate.h 3=renge\renge_task_immediate.h
@ -91,7 +91,7 @@ T=4bf4e91e
6=user_define.h 6=user_define.h
7=bsr_system.h 7=bsr_system.h
[accero.c] [accero.c]
T=4bfa4024 T=4bfd0c27
1=config.h 1=config.h
2=incs.h 2=incs.h
3=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h 3=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
@ -103,7 +103,7 @@ T=4bfb28ce
4=i2c_ctr.h 4=i2c_ctr.h
5=pool.h 5=pool.h
[sw.c] [sw.c]
T=4bf66789 T=4bfce568
1=incs.h 1=incs.h
2=i2c_twl.h 2=i2c_twl.h
3=i2c_ctr.h 3=i2c_ctr.h
@ -126,7 +126,7 @@ T=4bfb53e4
6=i2c_mcu.h 6=i2c_mcu.h
7=led.h 7=led.h
[task_sys.c] [task_sys.c]
T=4bfb734f T=4bff4570
1=incs.h 1=incs.h
2=i2c_twl.h 2=i2c_twl.h
3=i2c_ctr.h 3=i2c_ctr.h
@ -138,7 +138,7 @@ T=4bfb734f
9=adc.h 9=adc.h
10=self_flash.h 10=self_flash.h
[pedo_alg_thre_det2.c] [pedo_alg_thre_det2.c]
T=4bf0d1e1 T=4bfd1020
1=incs.h 1=incs.h
2=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h 2=..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
3=accero.h 3=accero.h
@ -149,7 +149,7 @@ T=4bf0d1e1
T=4bf0d1e1 T=4bf0d1e1
1=config.h 1=config.h
[task_status.c] [task_status.c]
T=4bfa418a T=4bfccea7
1=incs.h 1=incs.h
2=renge\renge.h 2=renge\renge.h
3=pm.h 3=pm.h
@ -171,13 +171,13 @@ T=4bf0d1e1
T=4bf0d1e0 T=4bf0d1e0
1=config.h 1=config.h
[config.h] [config.h]
T=4bfb80cc T=4bfe1c85
[user_define.h] [user_define.h]
T=4bf6321a T=4bfdd9ff
[bsr_system.h] [bsr_system.h]
T=4bf6321a T=4bf6321a
[renge\renge.h] [renge\renge.h]
T=4bf0d1e0 T=4bfdd9d2
1=renge\renge_defs.h 1=renge\renge_defs.h
2=renge\renge_task_immediate.h 2=renge\renge_task_immediate.h
[renge\renge_defs.h] [renge\renge_defs.h]
@ -186,7 +186,7 @@ T=4bf0d1e0
T=4bf0d1e0 T=4bf0d1e0
1=renge\renge_defs.h 1=renge\renge_defs.h
[vreg_ctr.h] [vreg_ctr.h]
T=4bfb98ea T=4bfc6650
1=config.h 1=config.h
[vreg_twl.h] [vreg_twl.h]
T=4bfa0ef0 T=4bfa0ef0
@ -203,7 +203,7 @@ T=4bf0d1e0
[i2c_ctr.h] [i2c_ctr.h]
T=4bf0d1e1 T=4bf0d1e1
[pm.h] [pm.h]
T=4bf65407 T=4bfe231f
[rtc.h] [rtc.h]
T=4bf0d1e1 T=4bf0d1e1
[reboot.h] [reboot.h]
@ -228,14 +228,14 @@ T=4bf0d1e1
1=jhl_defs.h 1=jhl_defs.h
2=pedometer.h 2=pedometer.h
[pedometer.h] [pedometer.h]
T=4bf0d1e0 T=4bfd1372
[adc.h] [adc.h]
T=4bf0d1e1 T=4bf0d1e1
1=jhl_defs.h 1=jhl_defs.h
[led.h] [led.h]
T=4bfb6dbf T=4bfb6dbf
[batt_params.h] [batt_params.h]
T=4bfb5cf6 T=4bff23c6
[i2c_twl_defs.h] [i2c_twl_defs.h]
T=4bf0d1e1 T=4bf0d1e1
[renge\renge_task_intval.h] [renge\renge_task_intval.h]
@ -244,7 +244,7 @@ T=4bf0d1e0
[i2c_twl.h] [i2c_twl.h]
T=4bf4e29e T=4bf4e29e
[sw.h] [sw.h]
T=4bf6321a T=4bfcbc5b
1=config.h 1=config.h
[self_flash.h] [self_flash.h]
T=4bf0d1e0 T=4bf0d1e0