競合のため

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:
fujita_ryohei 2009-11-18 06:45:18 +00:00
parent 5588bf8c93
commit 1ad59c1220
2 changed files with 31 additions and 44 deletions

View File

@ -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( );
}

View File

@ -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 )
/******************************************************************************