mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
2.33 異常終了時、アモルファスLCD電源を切り忘れていた。
read_pmic() が、通信異常時に不定値を返していた。そもそも通信異常が無い前提のコードだが、0xff を返すようにしておく。 git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@577 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
parent
ac85094962
commit
f5d3581e4a
Binary file not shown.
Binary file not shown.
@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
#define MCU_VER_MAJOR 0x02
|
||||
#define MCU_VER_MINOR 0x32
|
||||
#define MCU_VER_MINOR 0x33
|
||||
|
||||
|
||||
// ビルドスイッチ
|
||||
|
||||
@ -143,6 +143,10 @@ u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
|
||||
u8 dat;
|
||||
|
||||
iic_mcu_result = iic_mcu_read( SLA, adrs, 1, &dat );
|
||||
if( iic_mcu_result != I2C_ERR_OK )
|
||||
{
|
||||
dat = 0xff;
|
||||
}
|
||||
|
||||
return ( dat );
|
||||
}
|
||||
|
||||
@ -875,7 +875,8 @@ err PM_LCD_on( )
|
||||
|
||||
void PM_LCD_off()
|
||||
{
|
||||
// BLついてたら消す。// チェックするのは割り込みの関係
|
||||
// BLついてたら消す。
|
||||
// チェックするのは割り込みの関係
|
||||
if( ( read_pmic( PM_REG_ADRS_BL ) & 0x03 ) != 0 )
|
||||
{
|
||||
u8 tot;
|
||||
@ -895,8 +896,8 @@ void PM_LCD_off()
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 50msとか待つし、確認しましょうかね…
|
||||
// LCD 電源落とす
|
||||
// 50ms も wait あるので点いてるか確認する
|
||||
if( read_pmic( PM_REG_ADRS_VDD_LCD ) != 0 )
|
||||
{
|
||||
PM_TCOM_off();
|
||||
@ -907,7 +908,7 @@ void PM_LCD_off()
|
||||
if( system_status.LCD_is_CGS == false )
|
||||
{
|
||||
// アモルファスならポート操作
|
||||
SPFL_LCD_AMOL_HV_CONT = 0; // 他のファミリでもL縛りなので弊害なし
|
||||
SPFL_LCD_AMOL_HV_CONT = 0; // 他のファミリでもL縛りなので弊害なしだが。
|
||||
wait_ms( 10 ); // アモルファス15Vを切ったときのウェイト。
|
||||
}
|
||||
|
||||
@ -915,7 +916,7 @@ void PM_LCD_off()
|
||||
vreg_ctr[VREG_C_STATUS] &= ~REG_BIT_LCD_POW;
|
||||
}
|
||||
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_OFF ); // 無条件に発生。マスク無ければ。
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_OFF ); // 無条件に発生。(マスクは有効)
|
||||
}
|
||||
|
||||
|
||||
@ -1110,16 +1111,12 @@ void reset_release()
|
||||
***********************************************/
|
||||
void PM_sys_pow_off( )
|
||||
{
|
||||
// if( RESET1_n )
|
||||
if( PM_chk_LDSW() )
|
||||
{
|
||||
// 異常終了でないとき
|
||||
PM_BL_set( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF );
|
||||
PM_LCD_off(); // TCOM,VCS OFF も消してきます。
|
||||
wait_ms( 20 );
|
||||
// 一応 LCD 関係消すのを試みる。
|
||||
PM_BL_set( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF );
|
||||
PM_LCD_off(); // 消えてれば何もしない
|
||||
wait_ms( 20 );
|
||||
|
||||
PM_reset_ast();
|
||||
}
|
||||
PM_reset_ast();
|
||||
|
||||
RESET2_ast;
|
||||
FCRAM_RST_ast;
|
||||
@ -1128,7 +1125,6 @@ void PM_sys_pow_off( )
|
||||
|
||||
PM_off( );
|
||||
PM_LDSW_off( );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -406,6 +406,8 @@ void tsk_sys( )
|
||||
|
||||
system_status.poweron_reason = NONE;
|
||||
pwsw_timeout = 0;
|
||||
SPFL_LCD_AMOL_HV_CONT = 0; // 異常終了時、アモルファスLCD用電源を切り忘れてしまう
|
||||
|
||||
|
||||
if( !PM_EXTDC_n
|
||||
|| chg_led_override != 0 ) // これがゼロになるまで待つ
|
||||
|
||||
Loading…
Reference in New Issue
Block a user