バッテリパラメータ、SNAKE PANA 修正版(13'4/22)

フリーレジスタ、SoCがサイズ以上に書かないように、一応。

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@538 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
n2232 2013-05-24 01:51:05 +00:00
parent 19690adebb
commit e59f6cf429
5 changed files with 43 additions and 29 deletions

View File

@ -102,22 +102,22 @@ const bt_param_ bt_param[ /*_BT_PARAM_NUM_*/ ] = //
{ 0xF5, 0xF3 } // compare max, min { 0xF5, 0xF3 } // compare max, min
}, },
// bt_PARAM_SNAKE_PANA // bt_PARAM_SNAKE_PANA '13 0422 再調整版
{ {
{ {
0x9D, 0xA0, 0xA8, 0xF0, 0xAD, 0x90, 0xAF, 0x00, 0x9D, 0x80, 0xA3, 0x60, 0xA9, 0x50, 0xAD, 0x90,
0xB3, 0x00, 0xB3, 0xE0, 0xB4, 0xA0, 0xB5, 0x40, 0xAF, 0x60, 0xB1, 0x60, 0xB3, 0x70, 0xB4, 0xE0,
0xB6, 0x30, 0xB7, 0xE0, 0xB8, 0xC0, 0xBE, 0x70, 0xB6, 0x20, 0xB7, 0xF0, 0xB9, 0xA0, 0xBC, 0xB0,
0xC1, 0x40, 0xC4, 0x20, 0xC9, 0xA0, 0xD0, 0x30, 0xBF, 0xB0, 0xC5, 0xB0, 0xCB, 0x90, 0xD1, 0x50,
0x01, 0x10, 0x06, 0x00, 0x2C, 0x20, 0x0D, 0xA0, 0x00, 0xC0, 0x03, 0x40, 0x06, 0x80, 0x18, 0x20,
0x37, 0x00, 0x37, 0x30, 0x47, 0xF0, 0x28, 0xF0, 0x16, 0xA0, 0x16, 0x20, 0x30, 0x00, 0x34, 0xA0,
0x25, 0xF0, 0x37, 0x30, 0x10, 0xF0, 0x14, 0xF0, 0x27, 0xC0, 0x23, 0x40, 0x11, 0xC0, 0x0F, 0xE0,
0x0F, 0x70, 0x0D, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0F, 0xE0, 0x0E, 0xE0, 0x0C, 0x20, 0x0C, 0x20
}, },
2, 2,
{ 106, (-256* 0.925), (-256* 2.3) }, { 89, (-256* 0.9), (-256* 2.5) },
0xDA30, // = 55856 56144, // 0xDB50
{ 0xE9, 0xE7 }, { 232, 230 },
} }

View File

@ -7,10 +7,10 @@
*/ */
#define MCU_VER_MAJOR 0x02 #define MCU_VER_MAJOR 0x02
#define MCU_VER_MINOR 0x25 #define MCU_VER_MINOR 0x2F
/* /*
2.33 2.34
*/ */
// ビルドスイッチ // ビルドスイッチ

View File

@ -36,7 +36,7 @@
extern void nop8(); extern void nop8();
static void chk_emergencyExit(); static err chk_emergencyExit();
static void force_off_check(); static void force_off_check();
static void send_getup_to_soc(); static void send_getup_to_soc();
static void chk_sleep(); static void chk_sleep();
@ -260,8 +260,13 @@ void tsk_sys( )
break; break;
case ON: //--------------------------------------------- case ON: //---------------------------------------------
chk_emergencyExit(); // PMICによる強制電源断チェック if( chk_emergencyExit() == ERR_ERR )
{
// PMICによる強制電源断チェック
// デバッガがreset1をアサートすることもある。そのときは全部リセット // デバッガがreset1をアサートすることもある。そのときは全部リセット
system_status.pwr_state = OFF_TRIG;
renge_task_interval_run_force = true;
}
chk_sleep(); // SLP監視。system_status.pwr_state いじります。行儀悪い chk_sleep(); // SLP監視。system_status.pwr_state いじります。行儀悪い
@ -280,7 +285,12 @@ void tsk_sys( )
break; break;
case SLEEP: //------------------------------------------ case SLEEP: //------------------------------------------
chk_emergencyExit(); if( chk_emergencyExit() == ERR_ERR )
{
system_status.pwr_state = OFF_TRIG;
renge_task_interval_run_force = true;
}
chk_awake(); // スリープから復帰 chk_awake(); // スリープから復帰
force_off_check(); force_off_check();
@ -622,7 +632,6 @@ static void irqs_finalize()
IF1 = 0; IF1 = 0;
IF2 = 0; IF2 = 0;
} }
}
@ -648,13 +657,13 @@ static err leds_closed()
PMICが電源異常で止めたか確認 PMICが電源異常で止めたか確認
***********************************************/ ***********************************************/
static void chk_emergencyExit(){ static err chk_emergencyExit(){
static u8 shirobako_power_control_count; static u8 shirobako_power_control_count;
// wifi モジュールキャリブレーションモードでreset1を自分から下げてるときはチェックをパス // wifi モジュールキャリブレーションモードでreset1を自分から下げてるときはチェックをパス
if( is_wifi_calib_resets_ast ) if( is_wifi_calib_resets_ast )
{ {
return; return ERR_SUCCESS;
} }
if( shirobako_power_control_count == 0 ) if( shirobako_power_control_count == 0 )
@ -665,8 +674,7 @@ static void chk_emergencyExit(){
{ {
// リセットが下がってる // リセットが下がってる
/// PMICが異常終了判断をした /// PMICが異常終了判断をした
system_status.pwr_state = OFF_TRIG; return ERR_ERR;
renge_task_interval_run_force = true;
} }
else else
{ {
@ -694,9 +702,8 @@ static void chk_emergencyExit(){
{ {
#ifndef _RVD_ #ifndef _RVD_
// 白箱は電源を切りたいらしい // 白箱は電源を切りたいらしい
system_status.pwr_state = OFF_TRIG;
renge_task_interval_run_force = true;
shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL; shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL;
return ERR_ERR;
#endif #endif
} }
else else
@ -717,6 +724,7 @@ static void chk_emergencyExit(){
} }
} }
} }
return ERR_SUCCESS;
} }

View File

@ -177,6 +177,10 @@ void vreg_ctr_write( u8 adrs, u8 data )
pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ] = data; pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ] = data;
vreg_free_adrs ++; vreg_free_adrs ++;
} }
else
{
dbg_NOP();
}
break; break;
case VREG_CX_FREE_ADRS: case VREG_CX_FREE_ADRS:
@ -510,8 +514,15 @@ u8 vreg_ctr_read( u8 adrs )
} }
else if( adrs == VREG_CX_FREE_DATA ) else if( adrs == VREG_CX_FREE_DATA )
{ {
if( vreg_free_adrs >= VREG_C_FREE_SIZE )
{
temp = 0x00;
}
else
{
temp = pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ]; temp = pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ];
// vreg_free_adrs ++; // ここで加算してしまうとインデックスがずれる // vreg_free_adrs ++; // ここで加算してしまうとインデックスがずれる
}
return( temp ); return( temp );
} }
else if( adrs == VREG_CX_INFO ) else if( adrs == VREG_CX_INFO )

View File

@ -133,11 +133,6 @@
// VREG_C_LED_NOTIFY_FLAG // VREG_C_LED_NOTIFY_FLAG
#define REG_BIT_IN_LOOP ( 1 << 0 ) #define REG_BIT_IN_LOOP ( 1 << 0 )
// RBR control (0x57)
#define REG_BIT_FLIGHT ( 1 << 1 )
#define REG_BIT_RESET_n ( 1 << 0 )
// HAL bitfields 0 // HAL bitfields 0
#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 ) #define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 )
#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 ) #define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 )