diff --git a/snake_trunk/config.h b/snake_trunk/config.h index fdb91aa..8b38512 100644 --- a/snake_trunk/config.h +++ b/snake_trunk/config.h @@ -7,7 +7,11 @@ */ #define MCU_VER_MAJOR 0x02 -#define MCU_VER_MINOR 0x2E +#define MCU_VER_MINOR 0x2F + + +// ビルドスイッチ +#define _MCU_ARR // snake,closer // デバッグ向けスイッチ diff --git a/snake_trunk/loader.c b/snake_trunk/loader.c index 89e4638..78c6468 100644 --- a/snake_trunk/loader.c +++ b/snake_trunk/loader.c @@ -200,15 +200,17 @@ void chk_platform_type() // ●CTRファミリ // system_status.family = (enum family_)( DEV_DET >> 1 ); /// あぁ... -#ifdef _DBG_FORCE_xxx +#ifdef _DBG_FORCE_FLOWER // 強制的に機種設定をしてデバッグしたいとき // system_status.family = FAMILY_FLOWER; #endif +#ifdef _MCU_ARR if( system_status.family == FAMILY_SPFL ) { - system_status.family == FAMILY_CLOSER; + system_status.family = FAMILY_CLOSER; } +#endif if( system_status.family == FAMILY_CTR ) { diff --git a/snake_trunk/pm.c b/snake_trunk/pm.c index 014c1de..1ec093d 100644 --- a/snake_trunk/pm.c +++ b/snake_trunk/pm.c @@ -51,7 +51,6 @@ extern const bt_param_ bt_param[]; bit pm_extdc_old; // 前回アダプタチェックしたとき刺さっていたか? u8 pmreg_v_core; // SoCのコア電圧設定。SNAKE(LAGER)で変更があるため。 -u8 pmreg_v_vdd; // SNAKEでは2.8Vを起動しないようにするため // 充電停止温度関係 static u8 raw_temp_lh; @@ -1040,13 +1039,11 @@ void set_vdd_voltages( enum family_ family ) { // SNAKE pmreg_v_core = PM_REG_BIT_VDD1P_1R00; - pmreg_v_vdd = PM_REG_BIT_VDD_SNK; } else { // NORMAL pmreg_v_core = PM_REG_BIT_VDD1P_1R15; - pmreg_v_vdd = PM_REG_BIT_VDD_CTR; } } @@ -1089,6 +1086,13 @@ err PM_sys_pow_on( ) pmic_version = read_pmic( PM_REG_ADRS_VER ); read_mgic_2B( BT_GAUGE_REG_VERSION, mgic_version ); + return ( ERR_SUCCESS ); +} + + + +void reset_release() +{ // リセット解除など。システム起動! PM_reset_neg(); FCRAM_RST_neg; @@ -1096,8 +1100,6 @@ err PM_sys_pow_on( ) codec_reg_init(); // CODEC 不定レジスタ初期化(reset2の後でないといけないので) ntr_pm_reg_shadow = 0; //  〃 こんなところで... - - return ( ERR_SUCCESS ); } diff --git a/snake_trunk/pm.h b/snake_trunk/pm.h index 673c036..b6cb8bc 100644 --- a/snake_trunk/pm.h +++ b/snake_trunk/pm.h @@ -96,14 +96,12 @@ enum NTR_PM_BT_STATUS{ - // 0x03 pw cnt3 #define PM_REG_BIT_LDSW ( 1 << 0 ) #define PM_REG_BIT_nRST1 ( 1 << 1 ) // 0x01 pw cnt1 #define PM_REG_BIT_VDD_CTR 0x0F -#define PM_REG_BIT_VDD_SNK 0x0B // 2.8V不要 #define PM_REG_BIT_VDD50A ( 1 << 4 ) // 0x02 pw cnt2 @@ -145,7 +143,6 @@ extern u8 mgic_version[]; extern u8 pm_reg_bit_vddlcd; // アモルファス対応(電源シーケンスが違う) extern u8 pmreg_v_core; // SoCのコア電圧設定。SNAKE(LAGER)で変更があるため。 -extern u8 pmreg_v_vdd; // SNAKEでは2.8V不要 //========================================================= err PM_sys_pow_on( ); @@ -157,7 +154,6 @@ err PM_LCD_on( ); void PM_LCD_off( ); err PM_BL_set( u8 ); - void BT_chk(); void BT_get_left(); void pm_chk_adapter(); @@ -166,6 +162,8 @@ void codec_reg_init(); void set_vdd_voltages( enum family_ family ); +void reset_release(); + task_status_immed tski_BT_temp_update( ); task_status_immed tski_vcom_set( ); task_status_immed tski_PM_LCD_on(); @@ -191,8 +189,8 @@ u8 read_pmic( u8 reg ); // システム電源 // -#define PM_VDD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, pmreg_v_vdd )) -#define PM_VDD50A_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, ( pmreg_v_vdd | PM_REG_BIT_VDD50A ))) +#define PM_VDD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, PM_REG_BIT_VDD_CTR )) +#define PM_VDD50A_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, ( PM_REG_BIT_VDD_CTR | PM_REG_BIT_VDD50A ))) #define PM_VDD_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, 0 )) #define PM_off() PM_VDD_off() diff --git a/snake_trunk/sw.c b/snake_trunk/sw.c index d0cd54f..be26b65 100644 --- a/snake_trunk/sw.c +++ b/snake_trunk/sw.c @@ -184,6 +184,7 @@ void tsk_sw( ) } } + // 実機・体験台共通 count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // ボタン押し時間のカウント // HOME sw // @@ -204,6 +205,9 @@ void tsk_sw( ) sw_wifi_mukan_time = TIME_MUKAN; } } - } + break; + default: + break; + }// switch() } diff --git a/snake_trunk/task_sys.c b/snake_trunk/task_sys.c index 5267452..457ab56 100644 --- a/snake_trunk/task_sys.c +++ b/snake_trunk/task_sys.c @@ -157,7 +157,7 @@ void tsk_sys( ) PM_ACCEL_INT1 = 1; PM_ACC_VALID = 1; - if( PM_sys_pow_on( ) != ERR_SUCCESS ) // リセット解除もしてきます + if( PM_sys_pow_on( ) != ERR_SUCCESS ) { // 電源起動不可エラー renge_task_interval_run_force = true; system_status.pwr_state = OFF_TRIG; @@ -170,6 +170,8 @@ void tsk_sys( ) PU7 = bits8(0,0,0,1, 1,1,0,1); // 4:SW_WIFI 3:SW_PWSW 2:PM_IRQ 0:PM_EXTDC_n PU_SW_HOME_n_JIKKI = 1; // SW_HOME + reset_release(); + if( system_status.poweron_reason == RSN_PWSW || system_status.poweron_reason == RSN_TRIAL ) {