⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clockdclock_main.c

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 C
📖 第 1 页 / 共 2 页
字号:
                
                                 if(API_MusicGetThreadState() == TS_PLAY || API_MusicGetThreadState() == TS_PAUSE)
                                 {
                                   API_MusicGetCurrentSongIndex(&current_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_CLOCKDCLOCK);
                                   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(&current_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_CLOCKDCLOCK);
                                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))
        {       
                API_OsReleaseEvent(EVID_BT_2HZ);


                //show DOT
                dot_flag = !dot_flag ;
                if(dot_flag)
                 API_LcmPutSysImage(IMG_DIGITAL_DOT,POS_CLKDCLK_DOT_X,POS_CLKDCLK_DOT_Y);
                else
                 API_LcmPutSysImage(IMG_DIGITAL_NO_DOT,POS_CLKDCLK_DOT_X,POS_CLKDCLK_DOT_Y);

                //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_MIN))
        {       
                API_OsReleaseEvent(EVID_UPDATE_MIN);
                _digi_clock_time_min();
                API_OsPendEvent(EVID_UPDATE_MIN);
        }

        if(API_OsCheckEventOccur(EVID_UPDATE_HOUR))
        {       
                API_OsReleaseEvent(EVID_UPDATE_HOUR);
                _digi_clock_time_hour();
                API_OsPendEvent(EVID_UPDATE_HOUR);
        }

        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(&current_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_CLOCKDCLOCK);
          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(&current_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_CLOCKDCLOCK);
                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 + -