お知らせランプ グラデーション計算などリファクタリング だいぶROM節約。動いている模様。

バッテリパラメータSPFL対応 残念な感じなので書き直す
ext status の9バイト目にspfl等識別を追加

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@334 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
n2232 2011-05-26 08:19:37 +00:00
parent 6396872ddd
commit 9d533dcf48
11 changed files with 736 additions and 634 deletions

View File

@ -1,6 +1,7 @@
#ifndef _bt_params_h_ #ifndef _bt_params_h_
#define _bt_params_h_ #define _bt_params_h_
/* ======================================================== /* ========================================================
======================================================== */ ======================================================== */
@ -102,29 +103,28 @@ const st_bt_comp BT_COMP[] = {
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // dummy(M ) { 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // dummy(M )
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P) { 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P)
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P) { 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P)
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // panasonic { 171, (u8)(-256* 1.00), (u8)(-256* 2.60) } // panasonic
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) } // dummy( P)
}; };
const u16 BT_OCV[] = { const u16 BT_OCV[] = {
{ 0xD800 }, { 0xD800 }, { 0xD800 }, // maxell, dummy, dummy, { 0xD800 }, { 0xD800 }, { 0xD800 }, // maxell, dummy, dummy,
{ 0xDA20 }, { 0xDA20 }, { 0xDA20 }, { 0xDA20 } // dummy, dummy, panaso, dummy { 0xDA20 }, { 0xDA20 }, { 0xDA20 } // dummy, dummy, pana
}; };
const u8 BT_VERIFY_H[] = { const u8 BT_VERIFY_H[] = {
0xEA, 0xEA, 0xEA, // maxell, dummy, dummy, 0xEA, 0xEA, 0xEA, // maxell, dummy, dummy,
0x69, 0x69, 0x69, 0x69 // dummy, dummy, panaso, dummy 0x69, 0x69, 0x69 // dummy, dummy, pana
}; };
const u8 BT_VERIFY_L[] = { const u8 BT_VERIFY_L[] = {
0xE8, 0xE8, 0xE8, // maxell, dummy, dummy, 0xE8, 0xE8, 0xE8, // maxell, dummy, dummy,
0x67, 0x67, 0x67, 0x67 // dummy, dummy, panaso, dummy 0x67, 0x67, 0x67 // dummy, dummy, pana
}; };
const u8 BT_RCOMP_SCALE[] = { const u8 BT_RCOMP_SCALE[] = {
2, 2, 2, // maxell, dummy, dummy, 2, 2, 2, // maxell, dummy, dummy,
1, 1, 1, 1 // dummy, dummy, panaso, dummy 1, 1, 1 // dummy, dummy, panaso
}; };

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@
#define MCU_VER_MAJOR 0x01 #define MCU_VER_MAJOR 0x01
#define MCU_VER_MINOR 0x34 #define MCU_VER_MINOR 0x36
// ↑改訂の時は↓気をつけないと体験台の生産できないからね! // ↑改訂の時は↓気をつけないと体験台の生産できないからね!
#ifdef _TAIKENDAI_SEISAN_SPECIAL_ #ifdef _TAIKENDAI_SEISAN_SPECIAL_
@ -50,8 +50,6 @@
#define _MODEL_CTR_ #define _MODEL_CTR_
// ↑TS board, WM1,1 TS-CTRC, 実機 // ↑TS board, WM1,1 TS-CTRC, 実機
// “ÁŽêŽd—l //
//#define _SW_HOME_ENABLE_
// ---------------------------------- // // ---------------------------------- //
#ifdef _MODEL_TEG2_ #ifdef _MODEL_TEG2_
@ -71,7 +69,6 @@ unsupported!
#ifdef _MODEL_CTR_ #ifdef _MODEL_CTR_
#define _PMIC_CTR_ #define _PMIC_CTR_
#define _MCU_BSR_ #define _MCU_BSR_
#define _SW_HOME_ENABLE_
#endif #endif
#endif #endif

Binary file not shown.

View File

@ -242,10 +242,29 @@ void tsk_led_wifi( )
bit info_led_pattern_updated; bit info_led_pattern_updated;
/* ======================================================== /* ========================================================
LED LED
======================================================== */ ======================================================== */
// グラデーション計算など
void calc_info_led_fade_out( st_LED_dim_status* tgt_led )
{
tgt_led -> to = 0;
tgt_led -> delta = ( 0 - tgt_led -> now ) / 64;
}
void calc_info_led_next_frame( st_LED_dim_status* tgt_led, u8 color )
{
tgt_led -> to = color * 128;
// グラデーションのデルタを計算
tgt_led -> delta = (( tgt_led -> to - tgt_led -> now ) ) / info_LED.info_LED.fade_time;
}
// 本体
void tsk_led_notify( ) void tsk_led_notify( )
{ {
static u8 time_to_next_frame; static u8 time_to_next_frame;
@ -272,12 +291,9 @@ void tsk_led_notify( )
if( info_led_off ) // ←電源off時など強制off if( info_led_off ) // ←電源off時など強制off
{ {
// フェードアウトさせる // フェードアウトさせる
LED_dim_status_info_R.to = 0; calc_info_led_fade_out( &LED_dim_status_info_R );
LED_dim_status_info_G.to = 0; calc_info_led_fade_out( &LED_dim_status_info_G );
LED_dim_status_info_B.to = 0; calc_info_led_fade_out( &LED_dim_status_info_B );
LED_dim_status_info_R.delta = ( 0 - LED_dim_status_info_R.now ) / 64;
LED_dim_status_info_G.delta = ( 0 - LED_dim_status_info_G.now ) / 64;
LED_dim_status_info_B.delta = ( 0 - LED_dim_status_info_B.now ) / 64;
} }
else else
{ {
@ -315,21 +331,17 @@ void tsk_led_notify( )
loops = 0; loops = 0;
} }
LED_dim_status_info_R.to = info_LED.info_LED.red[frame] * 128; // グラデーション計算
LED_dim_status_info_G.to = info_LED.info_LED.grn[frame] * 128; calc_info_led_next_frame( &LED_dim_status_info_R, info_LED.info_LED.red[frame] );
LED_dim_status_info_B.to = info_LED.info_LED.blu[frame] * 128; calc_info_led_next_frame( &LED_dim_status_info_G, info_LED.info_LED.grn[frame] );
calc_info_led_next_frame( &LED_dim_status_info_B, info_LED.info_LED.blu[frame] );
// グラデーションのデルタを計算
LED_dim_status_info_R.delta = (( LED_dim_status_info_R.to - LED_dim_status_info_R.now ) ) / info_LED.info_LED.fade_time;
LED_dim_status_info_G.delta = (( LED_dim_status_info_G.to - LED_dim_status_info_G.now ) ) / info_LED.info_LED.fade_time;
LED_dim_status_info_B.delta = (( LED_dim_status_info_B.to - LED_dim_status_info_B.now ) ) / info_LED.info_LED.fade_time;
} }
time_to_next_frame -= 1; time_to_next_frame -= 1;
} }
} }
led_fade_to2( LED_duty_notify_blu, &LED_dim_status_info_B ); led_fade_to2( LED_duty_notify_blu, &LED_dim_status_info_B );
led_fade_to2( LED_duty_notify_red, &LED_dim_status_info_R ); led_fade_to2( LED_duty_notify_red, &LED_dim_status_info_R );
led_fade_to2( LED_duty_notify_grn, &LED_dim_status_info_G ); led_fade_to2( LED_duty_notify_grn, &LED_dim_status_info_G );
} }

View File

@ -22,17 +22,19 @@
// ======================================================== // ========================================================
u8 raw_adc_temperature; u8 raw_adc_temperature;
BT_VENDER battery_manufacturer = BT_VENDER_NOT_CHECKED; BT_VENDER battery_manufacturer = BT_VENDER_NOT_CHECKED;
st_bt_comp bt_comp; // バッテリパラメータ構造体 static st_bt_comp bt_comp; // バッテリパラメータ構造体
u8 reg_shadow; // NTR PMIC レジスタミラー static u8 reg_shadow; // NTR PMIC レジスタミラー
bit bt_authorized; // バッテリパラメータ送信済。充電開始許可 bit bt_authorized; // バッテリパラメータ送信済。充電開始許可
u8 chg_led_override; // アダプタ差したとき、充電するしないに関わらずしばらく点灯させる u8 chg_led_override; // アダプタ差したとき、充電するしないに関わらずしばらく点灯させる
u16 bt_volt16; static u16 bt_volt16;
bit ntr_pm_bt_low_old; static bit ntr_pm_bt_low_old;
bit BT_CHG_STAT_Change; bit BT_CHG_STAT_Change;
bit BT_IN_CHG_delayed_n; bit BT_IN_CHG_delayed_n;
bit temp_zone_charge_disable; // 温度で充電停止する時にヒステリシスを付けるため
u8 pmic_version; u8 pmic_version;
u8 mgic_version[2]; u8 mgic_version[2];
@ -41,7 +43,8 @@ u8 mgic_version[2];
static void BT_model_detect(); static void BT_model_detect();
static void BT_mgic_quick_start(); static void BT_mgic_quick_start();
static void BT_mgic_init(); static void BT_mgic_init();
static void bt_chk_temparature();
static void bt_get_charge_status();
// ======================================================== // ========================================================
@ -54,6 +57,7 @@ const u8 BT_MANUF_BORDER[] = {
5, 33, 79, 123, 158, 197, 233 5, 33, 79, 123, 158, 197, 233
}; };
/* ======================================================== /* ========================================================
@ -73,11 +77,9 @@ const u8 BT_MANUF_BORDER[] = {
#define INTERVAL_TSK_BATT 60 #define INTERVAL_TSK_BATT 60
// ↑100だと充電エラー時にうまく点滅しないので // ↑100だと充電エラー時にうまく点滅しないので
bit temp_zone_charge_disable; // 温度で充電停止する時にヒステリシスを付けるため
void tsk_batt( ) void tsk_batt( )
{ {
static u8 task_interval = 0; static u8 task_interval = 0;
static u8 heikinka_h,heikinka_l;
if( system_status.pwr_state != OFF_TRIG ) if( system_status.pwr_state != OFF_TRIG )
{ {
@ -91,11 +93,53 @@ void tsk_batt( )
} }
} }
// アダプタステータス更新 ///////// // アダプタステータス更新 //
pm_chk_adapter(); pm_chk_adapter();
// 充電 /////////////////////////// // 充電 //
// 温度付きヒステリシス bt_chk_temparature(); // 温度チェック
if( !temp_zone_charge_disable && bt_authorized && !PM_EXTDC_n )
{
BT_CHG_ENABLE(); // 温度範囲OKで充電再開
}
else
{
BT_CHG_DISABLE(); // 温度危険! 充電停止
}
bt_get_charge_status(); // CCIC制御
LED_CHARGE = ( ! BT_IN_CHG_delayed_n )? 1: 0; // LEDに反映
// アダプタつないだ瞬間、満充電でも数秒わざと点灯させる。給電してることをわからせるため。
if( chg_led_override != 0 ){ // ↑から見ればわかるが、瞬間(数クロック)消える事がある。気がつく人いるかな…?
chg_led_override -= 1;
LED_CHARGE = 1;
}
// レジスタの充電中ビットはLEDに同期する
set_bit( LED_CHARGE, vreg_ctr[VREG_C_STATUS], REG_BIT_BATT_CHARGE ); // set_bitのみ。
// 割り込み
// tsk_miscが引き受ける
// 電池残量 //
if( system_status.pwr_state != ON_CHECK )
{
BT_get_left();
}
}
/* *******************************************************
******************************************************* */
void bt_chk_temparature()
{
static u8 heikinka_h,heikinka_l;
if(( 75 <= raw_adc_temperature ) if(( 75 <= raw_adc_temperature )
&& ( raw_adc_temperature <= 184 )) && ( raw_adc_temperature <= 184 ))
{ {
@ -126,65 +170,39 @@ void tsk_batt( )
heikinka_h = 0; heikinka_h = 0;
heikinka_l = 0; heikinka_l = 0;
} }
}
if( !temp_zone_charge_disable && bt_authorized && !PM_EXTDC_n )
void bt_get_charge_status()
{
// CCICの不具合回避のため、/CHGのネゲートをちょっと丁寧に遅延させる
static u8 anti_chatter;
if( !BT_IN_CHG_n )
{ {
BT_CHG_ENABLE(); // 温度範囲OKで充電再開 // さらにチャタリング除去
if( anti_chatter < 2 ) // 電池無しでアダプタさして、電極をさわさわ
{ // すると充電LEDががさがさするので
anti_chatter++;
}
else
{
BT_IN_CHG_delayed_n = 0; // 充電中
}
} }
else else
{ {
BT_CHG_DISABLE(); // 温度危険! 充電停止 // "丁寧に遅延" todo:もっといい方法?
} if( !BT_CHG_Ena_n && vreg_ctr[ VREG_C_BT_REMAIN ] < 60 )
{
// 充電 // BT_IN_CHG_delayed_n = 0; // 充電中と扱う。充電が終わっているはずがない
// →割り込み。 }
// CCICの不具合回避のため、/CHGのネゲートをちょっと丁寧に遅延させる else
{ {
static u8 anti_chatter; BT_IN_CHG_delayed_n = 1;
anti_chatter = 0;
if( !BT_IN_CHG_n ) }
{
// さらにチャタリング除去
if( anti_chatter < 2 ) // 電池無しでアダプタさして、電極をさわさわ
{ // すると充電LEDががさがさするので
anti_chatter++;
}
else
{
BT_IN_CHG_delayed_n = 0; // 充電中
}
}
else
{
// "丁寧に遅延" todo:もっといい方法?
if( !BT_CHG_Ena_n && vreg_ctr[ VREG_C_BT_REMAIN ] < 60 )
{
BT_IN_CHG_delayed_n = 0; // 充電中と扱う。充電が終わっているはずがない
}
else
{
BT_IN_CHG_delayed_n = 1;
anti_chatter = 0;
}
}
LED_CHARGE = ( ! BT_IN_CHG_delayed_n )? 1: 0; // LEDに反映
}
// アダプタつないだ瞬間、満充電でも数秒わざと点灯させる。給電してることをわからせるため。
if( chg_led_override != 0 ){ // ↑から見ればわかるが、瞬間(数クロック)消える事がある。気がつく人いるかな…?
chg_led_override -= 1;
LED_CHARGE = 1;
}
// レジスタの充電中ビットはLEDに同期する
set_bit( LED_CHARGE, vreg_ctr[VREG_C_STATUS], REG_BIT_BATT_CHARGE ); // set_bitのみ。
// 割り込みはmiscが引き受ける
// 電池残量 //
if( system_status.pwr_state != ON_CHECK )
{
BT_get_left();
} }
} }
@ -331,14 +349,14 @@ void BT_model_detect()
// 電池メーカーの識別 // // 電池メーカーの識別 //
{ {
BT_VENDER i; u8 i;
battery_manufacturer = BT_VENDER_OPEN; battery_manufacturer = BT_VENDER_OPEN; // デフォルト値
for(i=0; i<=7; i++) for(i=0; i<=7; i++)
{ {
if( temp <= BT_MANUF_BORDER[ i ] ) if( temp <= BT_MANUF_BORDER[ i ] )
{ {
battery_manufacturer = i; battery_manufacturer = (BT_VENDER)i;
break; break;
/* /*
BT_VENDER_MAXELL; // = 0 BT_VENDER_MAXELL; // = 0
@ -404,6 +422,7 @@ static void BT_mgic_init()
/* /*
// -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を返す
*/ */
@ -441,15 +460,36 @@ static void BT_mgic_init()
// 5.メーカー別パラメータのロード // 5.メーカー別パラメータのロード
{ {
// 16バイトごとに区切れとのこと // 苦肉の策... 誤判定耐性が下がるわけではないし
iic_mcu_set_wo_dma( ); u8* p_batt_param;
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 16, &BT_PARAM[ battery_manufacturer ] ); BT_VENDER bt_manuf_temp = battery_manufacturer;
iic_mcu_set_wo_dma( ); u8 loop;
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM +16, 16, &BT_PARAM[ battery_manufacturer ][16] );
iic_mcu_set_wo_dma( ); /* 埋蔵金をつかってしまったが ↓の苦肉の策でまるめられてしまう
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM +32, 16, &BT_PARAM[ battery_manufacturer ][32] ); if( battery_manufacturer == 6 )
iic_mcu_set_wo_dma( ); {
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM +48, 16, &BT_PARAM[ battery_manufacturer ][48] ); battery_manufacturer = 5;
}
*/
if( bt_manuf_temp > BT_VENDER_4 )
{
bt_manuf_temp = BT_VENDER_3; // 白箱はどうでもよし
}
if( system_status.family == FAMILY_SPFL )
{
bt_manuf_temp += 1;
}
p_batt_param = BT_PARAM[bt_manuf_temp];
// 16バイトごとに区切れとのこと イズ対策とか言うんだけど、意味あるんか
for( loop = 0; loop < 4; loop++ )
{
iic_mcu_set_wo_dma( );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 16, p_batt_param + loop*16 );
}
} }
// 6. 150ms以上待つ // 6. 150ms以上待つ
@ -583,7 +623,7 @@ void BT_get_left(){
else if( system_status.model == MODEL_SHIROBAKO ) else if( system_status.model == MODEL_SHIROBAKO )
{ {
// 白箱 // // 白箱 //
// 電池残量 // 電池残量
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp_fuel ) != ERR_SUCCESS ) if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, temp_fuel ) != ERR_SUCCESS )
{ {
// エミュレーション機能がおかしい // エミュレーション機能がおかしい
@ -594,8 +634,9 @@ void BT_get_left(){
vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0]; vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0];
vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1]; vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1];
} }
// 電池電圧
//* //*
// 電池電圧
if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL, 2, temp_fuel ) == ERR_SUCCESS ) if( iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VCELL, 2, temp_fuel ) == ERR_SUCCESS )
{ {
vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_fuel[0]; vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_fuel[0];
@ -915,7 +956,6 @@ err PM_BL_set( u8 dat )
// シャットダウンすることがある // シャットダウンすることがある
{ {
wait_ms( 16 + 10 ); wait_ms( 16 + 10 );
// wait_ms( 84 ); ミツミの1stバグ回避
} }
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, blset ); iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, blset );
@ -923,10 +963,12 @@ err PM_BL_set( u8 dat )
// SoCがPWMを出すようレジスタをセットしてから遅延が有るため、ステータスを先に // SoCがPWMを出すようレジスタをセットしてから遅延が有るため、ステータスを先に
// 更新してしまう。 // 更新してしまう。
#endif #endif
// PMICのBLのビットと、MCUのSTATUSレジスタのビット位置が逆なため入れ替え
vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 ) vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 )
| ( (( blset << 6 ) | ( blset << 4 )) & 0b01100000 )); | ( (( blset << 6 ) | ( blset << 4 )) & 0b01100000 ));
// PMICのBLのビットと、MCUのSTATUSレジスタのビット位置が逆なため入れ替え
// 割り込み
/// 複数ビットまとめて行うので、いつもの関数使用不可
{ {
u8 tot; u8 tot;
@ -935,7 +977,7 @@ err PM_BL_set( u8 dat )
vreg_ctr[ VREG_C_IRQ3 ] |= ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ); vreg_ctr[ VREG_C_IRQ3 ] |= ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] );
IRQ0_neg; IRQ0_neg;
tot = 0; tot = 0;
while( !IRQ0 && ( ++tot != 0 ) ){;} // 割り込みを入れ直す while( !IRQ0 && ( ++tot != 0 ) ){;}
IRQ0_ast; IRQ0_ast;
} }
} }
@ -1019,7 +1061,7 @@ err PM_sys_pow_on( )
codec_reg_init(); // CODEC 不定レジスタ初期化(reset2の後でないといけないので) codec_reg_init(); // CODEC 不定レジスタ初期化(reset2の後でないといけないので)
reg_shadow = 0; //  〃 こんなところで... reg_shadow = 0; //  〃 こんなところで...
return ( ERR_SUCCESS ); return ( ERR_SUCCESS );
} }

View File

@ -266,15 +266,18 @@ extern bit bt_authorized;
6) ( rcomp & 0xFF ) 6) ( rcomp & 0xFF )
7) raw_adc_temperature 7) raw_adc_temperature
8) ( !temp_zone_charge_disable | ( bt_authorized << 1 ) ) 8) ( !temp_zone_charge_disable | ( bt_authorized << 1 ) )
9) 9) LEDはフルカラー
10) system_status.family
======================================================== */ ======================================================== */
#define KOUMOKU 9
u8 extinfo_read() u8 extinfo_read()
{ {
u8 infos[10]; u8 infos[ KOUMOKU +1 ];
if( iic_burst_state > 8 ) if( iic_burst_state > KOUMOKU )
{ {
return( 0xAA ); return( 0x73 );
} }
// static でとるほどのものでないので毎回スタックからとってくる // static でとるほどのものでないので毎回スタックからとってくる
@ -289,6 +292,8 @@ u8 extinfo_read()
infos[6] = raw_adc_temperature; infos[6] = raw_adc_temperature;
infos[7] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) ); infos[7] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) );
infos[8] = 1; // system_status.info_fullcolor; infos[8] = 1; // system_status.info_fullcolor;
infos[9] = system_status.family;
// 項目足すときは気をつけてね!! //
iic_burst_state++; iic_burst_state++;
return( infos[ iic_burst_state -1 ] ); return( infos[ iic_burst_state -1 ] );

View File

@ -22,7 +22,7 @@ SubClock=None
[Mapping] [Mapping]
Count=0 Count=0
[Main] [Main]
Geometry=13, 66, 1440, 858 Geometry=154, 154, 1080, 635
Window=Max Window=Max
MDI_MAX=OFF MDI_MAX=OFF
Button=ON Button=ON
@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C Language=C
Kanji=SJIS Kanji=SJIS
[Source] [Source]
Geometry=0, 0, 725, 753 Geometry=344, 62, 733, 655
Window=Normal Window=Normal
DispStart=435 DispStart=40
CaretPos=436,0 CaretPos=81,0
Mode=Normal Mode=Normal
DispFile= DispFile=
Address1= Address1=
@ -140,17 +140,17 @@ SaveStart=
SaveEnd= SaveEnd=
Accumulative=ON Accumulative=ON
[Source1] [Source1]
Geometry=139, 70, 725, 684 Geometry=25, 25, 600, 750
Window=Normal Window=Normal
DispStart=153 DispStart=292
CaretPos=121,9 CaretPos=281,5
Mode=Normal Mode=Normal
DispFile=\\Tsclient\c\78k_data\yav-mcu-basara\trunk\led.c DispFile=\\Tsclient\c\78k_data\yav-mcu-basara\trunk\led.c
Accumulative=ON Accumulative=ON
[Assemble] [Assemble]
Geometry=0, 0, 0, 0 Geometry=0, 0, 0, 0
Window=Hide Window=Hide
DispStart=847434752 DispStart=847627264
CaretPos=0,0 CaretPos=0,0
Address1= Address1=
Address2= Address2=
@ -193,7 +193,7 @@ SaveRange=Screen
SaveStart= SaveStart=
SaveEnd= SaveEnd=
[Memory] [Memory]
Geometry=856, 20, 550, 400 Geometry=0, 0, 0, 0
Window=Hide Window=Hide
Boundary=0 Boundary=0
Format=Hex Format=Hex
@ -202,7 +202,7 @@ Endian=
Ascii=OFF Ascii=OFF
Idtag=OFF Idtag=OFF
Address= Address=
DispStart=00000000 DispStart=FFFFFFFF
CaretPosData=0, 0 CaretPosData=0, 0
CaretPosAscii=0, 0 CaretPosAscii=0, 0
Address1= Address1=
@ -965,16 +965,17 @@ Detail=OFF
Last Name= Last Name=
Count=0 Count=0
[Variable] [Variable]
Geometry=908, 128, 510, 614 Geometry=981, 20, 440, 300
Window=Normal Window=Normal
Boundary=13762700 Boundary=13762700
0=.vreg_ctr,P,N,A,+,1 0=+info_LED.info_LED,.,N,A,-,1
Line=1 1=+LED_dim_status_info_R,.,N,A,-,1
Line=2
[Quick Watch] [Quick Watch]
0=vreg_ctr,P,A,1 0=LED_dim_status_info_G,P,A,1
1=system=status,P,A,1 1=LED_dim_status_info_B,P,A,1
2= 2=LED_dim_status_info_R,P,A,1
3= 3=info_LED.info_LED,P,A,1
4= 4=
5= 5=
6= 6=
@ -988,10 +989,18 @@ Line=1
14= 14=
15= 15=
[Software Break] [Software Break]
Geometry=0, 0, 0, 0 Geometry=75, 75, 500, 200
Window=Hide Window=Normal
Width=150 30 200 100 Width=150 30 200 100
Count=0 Name0=Swb00001
Address0=led.c#_tsk_led_notify+0x84
Window0=ASM
Status0=OFF
Name1=Swb00002
Address1=led.c#_tsk_led_notify+0x47
Window1=ASM
Status1=OFF
Count=2
[Reset] [Reset]
Debugger=ON Debugger=ON
Symbol=OFF Symbol=OFF

View File

@ -696,6 +696,68 @@ Tool1=CC78K0R|W2.13
Tool2=RA78K0R|W1.33 Tool2=RA78K0R|W1.33
Tool3=SK78K0R|V3.10 Tool3=SK78K0R|V3.10
Tool4=ID78K0R-QB|V3.61 Tool4=ID78K0R-QB|V3.61
[SrcFile]
Source1=loader.c
Source2=pm.c
Source3=i2c_ctr.c
Source4=main.c
Source5=magic.c
Source6=WDT.c
Source7=i2c_mcu.c
Source8=i2c_twl.c
Source9=led.c
Source10=rtc.c
Source11=vreg_ctr.c
Source12=vreg_twl.c
Source13=adc.c
Source14=renge\renge.c
Source15=accero.c
Source16=self_flash.c
Source17=sw.c
Source18=task_debug.c
Source19=task_misc.c
Source20=task_sys.c
Source21=pedo_alg_thre_det2.c
Source22=ini_VECT.c
Source23=task_status.c
Source24=led_cam.c
Source25=led_pow.c
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=config.h
Include4=user_define.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=vreg_twl.h
Include11=loader.h
Include12=i2c_mcu.h
Include13=WDT.h
Include14=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
Include15=fsl_user.h
Include16=i2c_ctr.h
Include17=pm.h
Include18=rtc.h
Include19=reboot.h
Include20=magic.h
Include21=incs.h
Include22=i2c_twl.h
Include23=accero.h
Include24=pedometer.h
Include25=sw.h
Include26=adc.h
Include27=led.h
Include28=batt_params.h
Include29=pool.h
Include30=i2c_twl_defs.h
Include31=voltable.h
Include32=renge\renge_task_intval.h
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
Include34=self_flash.h
Include35=pedo_lpf_coeff.h
[Options.LK78K0R 0] [Options.LK78K0R 0]
Version=100 Version=100
O0=bsr_k0r.lmf O0=bsr_k0r.lmf
@ -780,7 +842,7 @@ G=1
E=0 E=0
E0=flash.elk E0=flash.elk
E1=a.elk E1=a.elk
GO=1 GO=0
GOValue=85 GOValue=85
GOStart=FC00 GOStart=FC00
GOSizeValue=1024 GOSizeValue=1024
@ -989,65 +1051,3 @@ DefaultMode2=1
DefaultMode3=1 DefaultMode3=1
DefaultMode4=1 DefaultMode4=1
DefaultMode5=1 DefaultMode5=1
[SrcFile]
Source1=loader.c
Source2=pm.c
Source3=i2c_ctr.c
Source4=main.c
Source5=magic.c
Source6=WDT.c
Source7=i2c_mcu.c
Source8=i2c_twl.c
Source9=led.c
Source10=rtc.c
Source11=vreg_ctr.c
Source12=vreg_twl.c
Source13=adc.c
Source14=renge\renge.c
Source15=accero.c
Source16=self_flash.c
Source17=sw.c
Source18=task_debug.c
Source19=task_misc.c
Source20=task_sys.c
Source21=pedo_alg_thre_det2.c
Source22=ini_VECT.c
Source23=task_status.c
Source24=led_cam.c
Source25=led_pow.c
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=config.h
Include4=user_define.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=vreg_twl.h
Include11=loader.h
Include12=i2c_mcu.h
Include13=WDT.h
Include14=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
Include15=fsl_user.h
Include16=i2c_ctr.h
Include17=pm.h
Include18=rtc.h
Include19=reboot.h
Include20=magic.h
Include21=incs.h
Include22=i2c_twl.h
Include23=accero.h
Include24=pedometer.h
Include25=sw.h
Include26=adc.h
Include27=led.h
Include28=batt_params.h
Include29=pool.h
Include30=i2c_twl_defs.h
Include31=voltable.h
Include32=renge\renge_task_intval.h
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
Include34=self_flash.h
Include35=pedo_lpf_coeff.h

View File

@ -1,14 +1,17 @@
[ProjectManager] [ProjectManager]
FrameMax=1 FrameMax=1
FrameX=304 FrameX=75
FrameY=108 FrameY=75
FrameCX=1440 FrameCX=1440
FrameCY=850 FrameCY=850
OpenFile1=ProjectWindow OpenFile1=batt_params.h,0,596,19,1842,741,0,19,0,0
OpenFile2=led.c,0,100,100,1295,581,2,168,45,0
OpenFile3=ProjectWindow
PrjPos=0,0,706,0,291 PrjPos=0,0,706,0,291
OpenFile2=batt_params.h,0,596,19,1842,741,0,19,0,0 OpenFile4=led_cam.c,0,125,125,1320,606,0,24,0,0
OpenFile3=config.h,0,442,428,1557,1029,63,10,0,0 OpenFile5=led_pow.c,0,150,150,1345,631,0,205,0,0
OpenFile4=OutputWindow OpenFile6=config.h,0,442,428,1557,1029,29,23,29,0
OpenFile7=OutputWindow
OutputPos=0,34,740,376,1323 OutputPos=0,34,740,376,1323
ActivePRJ=yav_mcu_bsr.prj ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow] [ProjectWindow]