mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
お知らせランプ グラデーション計算などリファクタリング だいぶ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:
parent
6396872ddd
commit
9d533dcf48
@ -1,6 +1,7 @@
|
||||
#ifndef _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 )
|
||||
{ 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) } // dummy( P)
|
||||
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) } // panasonic
|
||||
};
|
||||
|
||||
|
||||
const u16 BT_OCV[] = {
|
||||
{ 0xD800 }, { 0xD800 }, { 0xD800 }, // maxell, dummy, dummy,
|
||||
{ 0xDA20 }, { 0xDA20 }, { 0xDA20 }, { 0xDA20 } // dummy, dummy, panaso, dummy
|
||||
{ 0xD800 }, { 0xD800 }, { 0xD800 }, // maxell, dummy, dummy,
|
||||
{ 0xDA20 }, { 0xDA20 }, { 0xDA20 } // dummy, dummy, pana
|
||||
};
|
||||
|
||||
const u8 BT_VERIFY_H[] = {
|
||||
0xEA, 0xEA, 0xEA, // maxell, dummy, dummy,
|
||||
0x69, 0x69, 0x69, 0x69 // dummy, dummy, panaso, dummy
|
||||
0xEA, 0xEA, 0xEA, // maxell, dummy, dummy,
|
||||
0x69, 0x69, 0x69 // dummy, dummy, pana
|
||||
};
|
||||
|
||||
const u8 BT_VERIFY_L[] = {
|
||||
0xE8, 0xE8, 0xE8, // maxell, dummy, dummy,
|
||||
0x67, 0x67, 0x67, 0x67 // dummy, dummy, panaso, dummy
|
||||
0xE8, 0xE8, 0xE8, // maxell, dummy, dummy,
|
||||
0x67, 0x67, 0x67 // dummy, dummy, pana
|
||||
};
|
||||
|
||||
const u8 BT_RCOMP_SCALE[] = {
|
||||
2, 2, 2, // maxell, dummy, dummy,
|
||||
1, 1, 1, 1 // dummy, dummy, panaso, dummy
|
||||
2, 2, 2, // maxell, dummy, dummy,
|
||||
1, 1, 1 // dummy, dummy, panaso
|
||||
};
|
||||
|
||||
|
||||
|
||||
BIN
trunk/bsr.lmf
BIN
trunk/bsr.lmf
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,7 @@
|
||||
|
||||
|
||||
#define MCU_VER_MAJOR 0x01
|
||||
#define MCU_VER_MINOR 0x34
|
||||
#define MCU_VER_MINOR 0x36
|
||||
|
||||
// ↑改訂の時は↓気をつけないと体験台の生産できないからね!
|
||||
#ifdef _TAIKENDAI_SEISAN_SPECIAL_
|
||||
@ -50,8 +50,6 @@
|
||||
#define _MODEL_CTR_
|
||||
// ↑TS board, WM1,1 TS-CTRC, 実機
|
||||
|
||||
// “ÁŽêŽd—l //
|
||||
//#define _SW_HOME_ENABLE_
|
||||
|
||||
// ---------------------------------- //
|
||||
#ifdef _MODEL_TEG2_
|
||||
@ -71,7 +69,6 @@ unsupported!
|
||||
#ifdef _MODEL_CTR_
|
||||
#define _PMIC_CTR_
|
||||
#define _MCU_BSR_
|
||||
#define _SW_HOME_ENABLE_
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
BIN
trunk/hoge.bin
BIN
trunk/hoge.bin
Binary file not shown.
48
trunk/led.c
48
trunk/led.c
@ -242,10 +242,29 @@ void tsk_led_wifi( )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bit info_led_pattern_updated;
|
||||
/* ========================================================
|
||||
お知らせ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( )
|
||||
{
|
||||
static u8 time_to_next_frame;
|
||||
@ -272,12 +291,9 @@ void tsk_led_notify( )
|
||||
if( info_led_off ) // ←電源off時など強制off
|
||||
{
|
||||
// フェードアウトさせる
|
||||
LED_dim_status_info_R.to = 0;
|
||||
LED_dim_status_info_G.to = 0;
|
||||
LED_dim_status_info_B.to = 0;
|
||||
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;
|
||||
calc_info_led_fade_out( &LED_dim_status_info_R );
|
||||
calc_info_led_fade_out( &LED_dim_status_info_G );
|
||||
calc_info_led_fade_out( &LED_dim_status_info_B );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -315,21 +331,17 @@ void tsk_led_notify( )
|
||||
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;
|
||||
LED_dim_status_info_B.to = info_LED.info_LED.blu[frame] * 128;
|
||||
|
||||
// グラデーションのデルタを計算
|
||||
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;
|
||||
|
||||
// グラデーション計算
|
||||
calc_info_led_next_frame( &LED_dim_status_info_R, info_LED.info_LED.red[frame] );
|
||||
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] );
|
||||
|
||||
}
|
||||
time_to_next_frame -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
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_grn, &LED_dim_status_info_G );
|
||||
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_grn, &LED_dim_status_info_G );
|
||||
}
|
||||
|
||||
206
trunk/pm.c
206
trunk/pm.c
@ -22,17 +22,19 @@
|
||||
// ========================================================
|
||||
u8 raw_adc_temperature;
|
||||
BT_VENDER battery_manufacturer = BT_VENDER_NOT_CHECKED;
|
||||
st_bt_comp bt_comp; // バッテリパラメータ構造体
|
||||
u8 reg_shadow; // NTR PMIC レジスタミラー
|
||||
static st_bt_comp bt_comp; // バッテリパラメータ構造体
|
||||
static u8 reg_shadow; // NTR PMIC レジスタミラー
|
||||
bit bt_authorized; // バッテリパラメータ送信済。充電開始許可
|
||||
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_IN_CHG_delayed_n;
|
||||
|
||||
bit temp_zone_charge_disable; // 温度で充電停止する時にヒステリシスを付けるため
|
||||
|
||||
u8 pmic_version;
|
||||
u8 mgic_version[2];
|
||||
|
||||
@ -41,7 +43,8 @@ u8 mgic_version[2];
|
||||
static void BT_model_detect();
|
||||
static void BT_mgic_quick_start();
|
||||
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
|
||||
};
|
||||
|
||||
|
||||
/* ========================================================
|
||||
電池の管理
|
||||
|
||||
@ -73,11 +77,9 @@ const u8 BT_MANUF_BORDER[] = {
|
||||
#define INTERVAL_TSK_BATT 60
|
||||
// ↑100だと充電エラー時にうまく点滅しないので
|
||||
|
||||
bit temp_zone_charge_disable; // 温度で充電停止する時にヒステリシスを付けるため
|
||||
void tsk_batt( )
|
||||
{
|
||||
static u8 task_interval = 0;
|
||||
static u8 heikinka_h,heikinka_l;
|
||||
|
||||
if( system_status.pwr_state != OFF_TRIG )
|
||||
{
|
||||
@ -91,11 +93,53 @@ void tsk_batt( )
|
||||
}
|
||||
}
|
||||
|
||||
// アダプタステータス更新 /////////
|
||||
// アダプタステータス更新 //
|
||||
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 )
|
||||
&& ( raw_adc_temperature <= 184 ))
|
||||
{
|
||||
@ -126,65 +170,39 @@ void tsk_batt( )
|
||||
heikinka_h = 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
|
||||
{
|
||||
BT_CHG_DISABLE(); // 温度危険! 充電停止
|
||||
}
|
||||
|
||||
// 充電 //
|
||||
// →割り込み。
|
||||
// CCICの不具合回避のため、/CHGのネゲートをちょっと丁寧に遅延させる
|
||||
{
|
||||
static u8 anti_chatter;
|
||||
|
||||
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();
|
||||
// "丁寧に遅延" 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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++)
|
||||
{
|
||||
if( temp <= BT_MANUF_BORDER[ i ] )
|
||||
{
|
||||
battery_manufacturer = i;
|
||||
battery_manufacturer = (BT_VENDER)i;
|
||||
break;
|
||||
/*
|
||||
BT_VENDER_MAXELL; // = 0
|
||||
@ -404,6 +422,7 @@ static void BT_mgic_init()
|
||||
|
||||
/*
|
||||
// -1. リセットをかけてみる
|
||||
かけちゃだめ!
|
||||
dat_16._u16 = swap_endian_16( 0x5400 ); // reset
|
||||
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.メーカー別パラメータのロード
|
||||
{
|
||||
// 16バイトごとに区切れとのこと
|
||||
iic_mcu_set_wo_dma( );
|
||||
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 16, &BT_PARAM[ battery_manufacturer ] );
|
||||
iic_mcu_set_wo_dma( );
|
||||
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] );
|
||||
iic_mcu_set_wo_dma( );
|
||||
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM +48, 16, &BT_PARAM[ battery_manufacturer ][48] );
|
||||
// 苦肉の策... 誤判定耐性が下がるわけではないし
|
||||
u8* p_batt_param;
|
||||
BT_VENDER bt_manuf_temp = battery_manufacturer;
|
||||
u8 loop;
|
||||
|
||||
/* 埋蔵金をつかってしまったが ↓の苦肉の策でまるめられてしまう
|
||||
if( battery_manufacturer == 6 )
|
||||
{
|
||||
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以上待つ
|
||||
@ -583,7 +623,7 @@ void BT_get_left(){
|
||||
else if( system_status.model == MODEL_SHIROBAKO )
|
||||
{
|
||||
// 白箱 //
|
||||
// 電池残量
|
||||
// 電池残量
|
||||
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_FINE ] = temp_fuel[1];
|
||||
}
|
||||
// 電池電圧
|
||||
|
||||
//*
|
||||
// 電池電圧
|
||||
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];
|
||||
@ -915,7 +956,6 @@ err PM_BL_set( u8 dat )
|
||||
// シャットダウンすることがある
|
||||
{
|
||||
wait_ms( 16 + 10 );
|
||||
// wait_ms( 84 ); ミツミの1stバグ回避
|
||||
}
|
||||
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を出すようレジスタをセットしてから遅延が有るため、ステータスを先に
|
||||
// 更新してしまう。
|
||||
#endif
|
||||
// PMICのBLのビットと、MCUのSTATUSレジスタのビット位置が逆なため入れ替え
|
||||
vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & 0b10011111 )
|
||||
| ( (( blset << 6 ) | ( blset << 4 )) & 0b01100000 ));
|
||||
// PMICのBLのビットと、MCUのSTATUSレジスタのビット位置が逆なため入れ替え
|
||||
|
||||
// 割り込み
|
||||
/// 複数ビットまとめて行うので、いつもの関数使用不可
|
||||
{
|
||||
u8 tot;
|
||||
|
||||
@ -935,7 +977,7 @@ err PM_BL_set( u8 dat )
|
||||
vreg_ctr[ VREG_C_IRQ3 ] |= ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] );
|
||||
IRQ0_neg;
|
||||
tot = 0;
|
||||
while( !IRQ0 && ( ++tot != 0 ) ){;} // 割り込みを入れ直す
|
||||
while( !IRQ0 && ( ++tot != 0 ) ){;}
|
||||
IRQ0_ast;
|
||||
}
|
||||
}
|
||||
@ -1019,7 +1061,7 @@ err PM_sys_pow_on( )
|
||||
codec_reg_init(); // CODEC 不定レジスタ初期化(reset2の後でないといけないので)
|
||||
reg_shadow = 0; // 〃 こんなところで...
|
||||
|
||||
return ( ERR_SUCCESS );
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -266,15 +266,18 @@ extern bit bt_authorized;
|
||||
6) ( rcomp & 0xFF )
|
||||
7) raw_adc_temperature
|
||||
8) ( !temp_zone_charge_disable | ( bt_authorized << 1 ) )
|
||||
9)
|
||||
9) お知らせLEDはフルカラー?
|
||||
10) system_status.family
|
||||
======================================================== */
|
||||
|
||||
#define KOUMOKU 9
|
||||
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 でとるほどのものでないので毎回スタックからとってくる
|
||||
@ -289,6 +292,8 @@ u8 extinfo_read()
|
||||
infos[6] = raw_adc_temperature;
|
||||
infos[7] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) );
|
||||
infos[8] = 1; // system_status.info_fullcolor;
|
||||
infos[9] = system_status.family;
|
||||
// 項目足すときは気をつけてね!! //
|
||||
|
||||
iic_burst_state++;
|
||||
return( infos[ iic_burst_state -1 ] );
|
||||
|
||||
@ -22,7 +22,7 @@ SubClock=None
|
||||
[Mapping]
|
||||
Count=0
|
||||
[Main]
|
||||
Geometry=13, 66, 1440, 858
|
||||
Geometry=154, 154, 1080, 635
|
||||
Window=Max
|
||||
MDI_MAX=OFF
|
||||
Button=ON
|
||||
@ -78,10 +78,10 @@ Symbol Type=OFF
|
||||
Language=C
|
||||
Kanji=SJIS
|
||||
[Source]
|
||||
Geometry=0, 0, 725, 753
|
||||
Geometry=344, 62, 733, 655
|
||||
Window=Normal
|
||||
DispStart=435
|
||||
CaretPos=436,0
|
||||
DispStart=40
|
||||
CaretPos=81,0
|
||||
Mode=Normal
|
||||
DispFile=
|
||||
Address1=
|
||||
@ -140,17 +140,17 @@ SaveStart=
|
||||
SaveEnd=
|
||||
Accumulative=ON
|
||||
[Source1]
|
||||
Geometry=139, 70, 725, 684
|
||||
Geometry=25, 25, 600, 750
|
||||
Window=Normal
|
||||
DispStart=153
|
||||
CaretPos=121,9
|
||||
DispStart=292
|
||||
CaretPos=281,5
|
||||
Mode=Normal
|
||||
DispFile=\\Tsclient\c\78k_data\yav-mcu-basara\trunk\led.c
|
||||
Accumulative=ON
|
||||
[Assemble]
|
||||
Geometry=0, 0, 0, 0
|
||||
Window=Hide
|
||||
DispStart=847434752
|
||||
DispStart=847627264
|
||||
CaretPos=0,0
|
||||
Address1=
|
||||
Address2=
|
||||
@ -193,7 +193,7 @@ SaveRange=Screen
|
||||
SaveStart=
|
||||
SaveEnd=
|
||||
[Memory]
|
||||
Geometry=856, 20, 550, 400
|
||||
Geometry=0, 0, 0, 0
|
||||
Window=Hide
|
||||
Boundary=0
|
||||
Format=Hex
|
||||
@ -202,7 +202,7 @@ Endian=
|
||||
Ascii=OFF
|
||||
Idtag=OFF
|
||||
Address=
|
||||
DispStart=00000000
|
||||
DispStart=FFFFFFFF
|
||||
CaretPosData=0, 0
|
||||
CaretPosAscii=0, 0
|
||||
Address1=
|
||||
@ -965,16 +965,17 @@ Detail=OFF
|
||||
Last Name=
|
||||
Count=0
|
||||
[Variable]
|
||||
Geometry=908, 128, 510, 614
|
||||
Geometry=981, 20, 440, 300
|
||||
Window=Normal
|
||||
Boundary=13762700
|
||||
0=.vreg_ctr,P,N,A,+,1
|
||||
Line=1
|
||||
0=+info_LED.info_LED,.,N,A,-,1
|
||||
1=+LED_dim_status_info_R,.,N,A,-,1
|
||||
Line=2
|
||||
[Quick Watch]
|
||||
0=vreg_ctr,P,A,1
|
||||
1=system=status,P,A,1
|
||||
2=
|
||||
3=
|
||||
0=LED_dim_status_info_G,P,A,1
|
||||
1=LED_dim_status_info_B,P,A,1
|
||||
2=LED_dim_status_info_R,P,A,1
|
||||
3=info_LED.info_LED,P,A,1
|
||||
4=
|
||||
5=
|
||||
6=
|
||||
@ -988,10 +989,18 @@ Line=1
|
||||
14=
|
||||
15=
|
||||
[Software Break]
|
||||
Geometry=0, 0, 0, 0
|
||||
Window=Hide
|
||||
Geometry=75, 75, 500, 200
|
||||
Window=Normal
|
||||
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]
|
||||
Debugger=ON
|
||||
Symbol=OFF
|
||||
|
||||
@ -696,6 +696,68 @@ Tool1=CC78K0R|W2.13
|
||||
Tool2=RA78K0R|W1.33
|
||||
Tool3=SK78K0R|V3.10
|
||||
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]
|
||||
Version=100
|
||||
O0=bsr_k0r.lmf
|
||||
@ -780,7 +842,7 @@ G=1
|
||||
E=0
|
||||
E0=flash.elk
|
||||
E1=a.elk
|
||||
GO=1
|
||||
GO=0
|
||||
GOValue=85
|
||||
GOStart=FC00
|
||||
GOSizeValue=1024
|
||||
@ -989,65 +1051,3 @@ DefaultMode2=1
|
||||
DefaultMode3=1
|
||||
DefaultMode4=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
|
||||
|
||||
@ -1,14 +1,17 @@
|
||||
[ProjectManager]
|
||||
FrameMax=1
|
||||
FrameX=304
|
||||
FrameY=108
|
||||
FrameX=75
|
||||
FrameY=75
|
||||
FrameCX=1440
|
||||
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
|
||||
OpenFile2=batt_params.h,0,596,19,1842,741,0,19,0,0
|
||||
OpenFile3=config.h,0,442,428,1557,1029,63,10,0,0
|
||||
OpenFile4=OutputWindow
|
||||
OpenFile4=led_cam.c,0,125,125,1320,606,0,24,0,0
|
||||
OpenFile5=led_pow.c,0,150,150,1345,631,0,205,0,0
|
||||
OpenFile6=config.h,0,442,428,1557,1029,29,23,29,0
|
||||
OpenFile7=OutputWindow
|
||||
OutputPos=0,34,740,376,1323
|
||||
ActivePRJ=yav_mcu_bsr.prj
|
||||
[ProjectWindow]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user