mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
競合のため
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@29 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
parent
5588bf8c93
commit
1ad59c1220
@ -25,8 +25,6 @@ system_status_ system_status;
|
||||
|
||||
|
||||
u8 pool[512]; // アップデート時のワークエリア 兼 歩数計データ
|
||||
|
||||
|
||||
/* ========================================================
|
||||
本当のエントリ関数は loader.c にあります
|
||||
======================================================== */
|
||||
@ -84,6 +82,7 @@ void main_loop( void )
|
||||
renge_task_interval_run_force = 0;
|
||||
renge_task_interval_run( );
|
||||
}
|
||||
WDT_Restart( );
|
||||
renge_task_immed_run( ); // ここのループが廻る度に実行されます
|
||||
HALT( );
|
||||
}
|
||||
|
||||
@ -22,10 +22,6 @@ void vreg_ctr_init( )
|
||||
{
|
||||
vreg_ctr[VREG_C_LED_BRIGHT] = 0xFF;
|
||||
|
||||
#ifdef _debug_
|
||||
// vreg_ctr[ VREG_C_LED_TUNE ] = 0x02;
|
||||
#endif
|
||||
|
||||
vreg_ctr[VREG_C_MCU_VER_MAJOR] = MCU_VER_MAJOR;
|
||||
#ifdef _MODEL_WM0_
|
||||
vreg_ctr[VREG_C_MCU_VER_MAJOR] += 0x20;
|
||||
@ -84,11 +80,11 @@ void vreg_ctr_write( u8 adrs, u8 data )
|
||||
case ( VREG_C_IRQ_MASK1 ):
|
||||
case ( VREG_C_IRQ_MASK2 ):
|
||||
case ( VREG_C_IRQ_MASK3 ):
|
||||
case ( VREG_C_IRQ_MASK4 ):
|
||||
vreg_ctr[adrs] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_COMMAND0 ):
|
||||
case ( VREG_C_COMMAND1 ):
|
||||
vreg_ctr[adrs] = data;
|
||||
if( data != 0 )
|
||||
{
|
||||
@ -96,19 +92,21 @@ void vreg_ctr_write( u8 adrs, u8 data )
|
||||
}
|
||||
break;
|
||||
|
||||
case ( VREG_C_COMMAND2 ):
|
||||
case ( VREG_C_COMMAND1 ):
|
||||
vreg_ctr[adrs] = data;
|
||||
if( data != 0 )
|
||||
{
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] = ( ( vreg_ctr[VREG_C_COMMAND2] & REG_BIT_TWL_CMD_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND2] & REG_BIT_TWL_CMD_RESET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req
|
||||
// renge_task_immed_add( do_command1 );
|
||||
/// 持ってきました
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] = ( ( vreg_ctr[VREG_C_COMMAND1] & REG_BIT_TWL_CMD_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND1] & REG_BIT_TWL_CMD_RESET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req
|
||||
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND2] & REG_BIT_TWL_CMD_OFF ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND1] & REG_BIT_TWL_CMD_OFF ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req
|
||||
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND2] & REG_BIT_TWL_CMD_BT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND2] & REG_BIT_TWL_CMD_BT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND1] & REG_BIT_TWL_CMD_BT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND1] & REG_BIT_TWL_CMD_BT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty
|
||||
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND2] & REG_BIT_TWL_CMD_VOL_CHANGE ) != 0 ) ? REG_BIT_TWL_IRQ_VOL_CHANGE : 0x00; //vol_changed
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( vreg_ctr[VREG_C_COMMAND1] & REG_BIT_TWL_CMD_VOL_CHANGE ) != 0 ) ? REG_BIT_TWL_IRQ_VOL_CHANGE : 0x00; //vol_changed
|
||||
}
|
||||
break;
|
||||
|
||||
@ -124,30 +122,36 @@ void vreg_ctr_write( u8 adrs, u8 data )
|
||||
break;
|
||||
|
||||
case ( VREG_C_LED_POW ):
|
||||
vreg_ctr[adrs] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_LED_WIFI ):
|
||||
vreg_ctr[adrs] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_LED_CAM ):
|
||||
vreg_ctr[adrs] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_LED_TUNE ):
|
||||
vreg_ctr[adrs] = data;
|
||||
vreg_ctr[adrs] = data & 0x0F;
|
||||
break;
|
||||
|
||||
/// 非同期で動いているためここでは書かない。
|
||||
// 予約するだけでstopで書く
|
||||
case ( VREG_C_RTC_SEC ):
|
||||
case ( VREG_C_RTC_MIN ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x7F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_HOUR ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x3F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_YOBI ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x07 );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_DAY ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x3F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_MONTH ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x1F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_YEAR ):
|
||||
// ここでは書かない。セットするだけでstopで書く
|
||||
/// 非同期で動いているため。
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data );
|
||||
break;
|
||||
|
||||
@ -234,16 +238,7 @@ u8 vreg_ctr_read( u8 adrs )
|
||||
{
|
||||
return( vreg_ctr[ VREG_C_MCU_STATUS ] | ( ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x03 ) << 6 ) );
|
||||
}
|
||||
#ifdef _debug_
|
||||
if( adrs >= VREG_C_ENDMARK_ )
|
||||
{
|
||||
return( 0xEE );
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
return ( vreg_ctr[adrs] );
|
||||
}
|
||||
return ( vreg_ctr[adrs] );
|
||||
}
|
||||
|
||||
|
||||
@ -260,6 +255,7 @@ void vreg_ctr_after_read( u8 adrs )
|
||||
case VREG_C_IRQ1:
|
||||
case VREG_C_IRQ2:
|
||||
case VREG_C_IRQ3:
|
||||
case VREG_C_IRQ4:
|
||||
vreg_ctr[ adrs ] = 0;
|
||||
irq_readed = 1;
|
||||
break;
|
||||
@ -267,11 +263,6 @@ void vreg_ctr_after_read( u8 adrs )
|
||||
default:
|
||||
break;
|
||||
}
|
||||
else if( adrs == VREG_C_IRQ4 )
|
||||
{
|
||||
vreg_ctr[VREG_C_IRQ4] = 0;
|
||||
irq_readed = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -279,9 +270,6 @@ void vreg_ctr_after_read( u8 adrs )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
割り込みを入れる
|
||||
割り込みマスクが必要と言うことでこんな事をする羽目になりました
|
||||
|
||||
Loading…
Reference in New Issue
Block a user