📄 clockaclock_main.c
字号:
if(API_MusicGetThreadState() == TS_PLAY || API_MusicGetThreadState() == TS_PAUSE)
{
API_MusicGetCurrentSongIndex(¤t_song_no);
API_SysWriteValue2B(RAM_SHARING_ADR,B_SONG_FILE_L,current_song_no);
API_MusicGetFrame(&frame_no);
API_SysWriteValue4B(RAM_SHARING_ADR,FRAME_NO_LL,frame_no);
}
API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_USB_ON_LINE);
API_SysWriteValue(RAM_SHARING_ADR,LAST_TASK,TASKID_CLOCKACLOCK);
API_OsSetCurrentTask(TASKID_USBAPP);
}
return;
//break;
case PHOTOSHOW_ACTION_ALARM:
{
uint32 frame_no;
uint16 current_song_no;
if(API_MusicGetThreadState() == TS_PLAY || API_MusicGetThreadState() == TS_PAUSE)
{
API_MusicGetCurrentSongIndex(¤t_song_no);
API_SysWriteValue2B(RAM_SHARING_ADR,B_SONG_FILE_L,current_song_no);
API_MusicGetFrame(&frame_no);
API_SysWriteValue4B(RAM_SHARING_ADR,FRAME_NO_LL,frame_no);
}
API_SysWriteValue(RAM_SHARING_ADR,LAST_TASK,TASKID_CLOCKACLOCK);
API_OsSetCurrentTask(TASKID_ALARMOCCUR);
return;
//break;
}
}
photo_action = PHOTOSHOW_ACTION_NONE;
photo_state = PHO_STATE_STOP;
break;
default:
break;
}
API_OsPendEvent(EVID_PHOTO_RESPONSE);
}
if(API_OsCheckEventOccur(EVID_BT_2HZ))
{
uint8 sec,min;
sec = API_TimeGetSecond();
min = API_TimeGetMinute();
API_OsReleaseEvent(EVID_BT_2HZ);
//update A_Clock
if(sec_bak != sec)
{
if(min_bak != min)
{
API_TimeUpdateAnalogClock(9,26,NAND_A_CLK_ADR,COLOR_CLK_BG,API_TimeGetHour(),min_bak,sec_bak,ALOG_RECOVERY_SEC);
API_TimeUpdateAnalogClock(9,26,NAND_A_CLK_ADR,COLOR_CLK_BG,API_TimeGetHour(),min,sec,ALOG_DRAW_ALL);
min_bak = min;
}
else
{
API_TimeUpdateAnalogClock(9,26,NAND_A_CLK_ADR,COLOR_CLK_BG,API_TimeGetHour(),min_bak,sec_bak,ALOG_RECOVERY_SEC);
API_TimeUpdateAnalogClock(9,26,NAND_A_CLK_ADR,COLOR_CLK_BG,API_TimeGetHour(),min,sec,ALOG_DRAW_SEC);
}
sec_bak = sec;
}
//slide show counter
if(slide_show_enable && counter_2HZ_enable)
{
counter_2HZ++;
if( counter_2HZ == slide_time_array[slide_time])
{
counter_2HZ_enable = FALSE;
if(slide_seq)
_PhotoShow_play_random();
else
_PhoShow_play_next();
}
}
//show battery charger
if(API_SysReadValue(RAM_SHARING_ADR,VBUS_STATE) == VBUS_SRC_ADAPTER)
{
if(slide_bat_lv_idx == 5)
slide_bat_lv_idx = cur_bat_lv_icon_idx;
API_LcmPutSysImage(IMG_BATTERY_0+slide_bat_lv_idx,POS_MUSBRO_BATTERY_X,POS_MUSBRO_BATTERY_Y);
slide_bat_lv_idx++;
}
API_OsPendEvent(EVID_BT_2HZ);
}
if(API_OsCheckEventOccur(EVID_UPDATE_DAY))
{
API_OsReleaseEvent(EVID_UPDATE_DAY);
_digi_clock_date();
API_OsPendEvent(EVID_UPDATE_DAY);
}
if(API_OsCheckEventOccur(EVID_UPDATE_SD))
{
API_OsReleaseEvent(EVID_UPDATE_SD);
if(API_PhotoGetThreadState() == TS_PLAY)
{
API_PhotoAbort();
photo_action = PHOTOSHOW_ACTION_SD;
photo_state = PHO_STATE_STOP;
}
else
{
API_OsSetCurrentTask(TASKID_CHANGESOURCE);
return;
}
API_OsPendEvent(EVID_UPDATE_SD);
}
if(API_OsCheckEventOccur(EVID_ALARM_OCCUR))
{
API_OsReleaseEvent(EVID_ALARM_OCCUR);
if(API_PhotoGetThreadState() == TS_PLAY)
{
API_PhotoAbort();
photo_action = PHOTOSHOW_ACTION_ALARM;
photo_state = PHO_STATE_STOP;
}
else
{
uint32 frame_no;
uint16 current_song_no;
if(API_MusicGetThreadState() == TS_PLAY || API_MusicGetThreadState() == TS_PAUSE)
{
API_MusicGetCurrentSongIndex(¤t_song_no);
API_SysWriteValue2B(RAM_SHARING_ADR,B_SONG_FILE_L,current_song_no);
API_MusicGetFrame(&frame_no);
API_SysWriteValue4B(RAM_SHARING_ADR,FRAME_NO_LL,frame_no);
}
API_SysWriteValue(RAM_SHARING_ADR,LAST_TASK,TASKID_CLOCKACLOCK);
API_OsSetCurrentTask(TASKID_ALARMOCCUR);
return;
}
API_OsPendEvent(EVID_ALARM_OCCUR);
}
if (API_OsCheckEventOccur(EVID_VBUS_PLUGIN))
{
API_OsReleaseEvent(EVID_VBUS_PLUGIN);
if(API_SysGetUSBSource() == VBUS_SRC_USB_ON_LINE)
{
if(API_PhotoGetThreadState() == TS_PLAY)
{
API_PhotoAbort();
photo_action = PHOTOSHOW_ACTION_USB;
photo_state = PHO_STATE_STOP;
}
else
{
uint32 frame_no;
uint16 current_song_no;
if(API_MusicGetThreadState() == TS_PLAY || API_MusicGetThreadState() == TS_PAUSE)
{
API_MusicGetCurrentSongIndex(¤t_song_no);
API_SysWriteValue2B(RAM_SHARING_ADR,B_SONG_FILE_L,current_song_no);
API_MusicGetFrame(&frame_no);
API_SysWriteValue4B(RAM_SHARING_ADR,FRAME_NO_LL,frame_no);
}
API_SysWriteValue(RAM_SHARING_ADR,LAST_TASK,TASKID_CLOCKACLOCK);
API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_USB_ON_LINE);
API_OsSetCurrentTask(TASKID_USBAPP);
}
}
else
{
API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_ADAPTER);
}
API_OsPendEvent(EVID_VBUS_PLUGIN);
}
if(API_OsCheckEventOccur(EVID_VBUS_PLUGOUT))
{
API_OsReleaseEvent(EVID_VBUS_PLUGOUT);
API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_NONE);
_show_battery();
API_OsPendEvent(EVID_VBUS_PLUGOUT);
}
if(API_OsCheckEventOccur(EVID_UPDATE_BATVOL))
{
uint8 bat_lv;
API_OsReleaseEvent(EVID_UPDATE_BATVOL);
bat_lv = API_SysGetVolLv();
if(bat_lv < BATTERY_LV0)
{
API_OsSetCurrentTask(TASKID_POWEROFF);
}
else
{
uint8 bat_lv_icon_idx;
//get current voltage icon
bat_lv_icon_idx = _get_battery_icon_index();
if(API_SysReadValue(RAM_SHARING_ADR,VBUS_STATE) == VBUS_SRC_ADAPTER)
cur_bat_lv_icon_idx = bat_lv_icon_idx;
else if(API_SysReadValue(RAM_SHARING_ADR,VBUS_STATE) == VBUS_SRC_NONE)
API_LcmPutSysImage(IMG_BATTERY_0+bat_lv_icon_idx,POS_MUSBRO_BATTERY_X,POS_MUSBRO_BATTERY_Y);
}
API_OsPendEvent(EVID_UPDATE_BATVOL);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -