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

📄 usb_ap_main.c

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 C
📖 第 1 页 / 共 2 页
字号:
//********************************************************************
// Name:     MusicAPI.c
// 
// Copyright (C) Sitronix TECHNOLOGY INC.
// All rights reserved by Sitronix TECHNOLOGY INC.
//
// Project:    ST3110
// Author:      Terry Wu
// Begin Date:  2008/01/01
// Last update: 2008/04/01
// $Header: $
// Description:
//   music function
//   
//   
//********************************************************************



#include <intr6502.h>
#include "sys.h"
#include "MusicPlayer.h"
#include "img_position.h"
#include "ST3110_img_define.h"
#include "usbap.h"

#pragma codeseg(APP)

#ifdef  BL_ADJUST
extern uint8 bl_frequency;  //0: 1K   1:20K        
extern uint8 bl_level;         //0~31
#endif


extern uint8 selection,language,resume_flag,bg_music_state,state;
extern void _usb_main_menu(uint8 selection);
extern void _usb_connect_pc(void);
void _usb_disconnect_pc(uint8 resume_flag, uint8 state);
void _return_last_task(uint8 state);

uint8 _load_path(uint32 ram_path_adr);

void APP_MAIN(void)
{       
        if(API_OsCheckEventOccur(EVID_KEY_DOWN_60MS))
        {
         API_OsReleaseEvent(EVID_KEY_DOWN_60MS);
         switch(API_OsGetKeyId())
         {
/*
          case KEYID_AB:
                API_SysMixerOutputSelection(MIXER_MIC);
                API_VoiceRecordStart("test.wav",2,0,FF_ID_WAV);
                break;
          case KEYID_SETTING:
                API_SysMixerOutputSelection(MIXER_DAC);
                API_VoiceRecordStop();
                break;
*/
          case KEYID_PLAY:
                if(selection == USB_ITEM_PC)
                {
                 _usb_connect_pc();
                 state = USB_ITEM_PC;
                 resume_flag = FALSE;
                 return;
                }
                else
                {
                 //API_OsSetCurrentTask(API_SysReadValue(RAM_SHARING_ADR,LAST_TASK));
                 API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_ADAPTER);
                 _usb_disconnect_pc(resume_flag,state);
                 
                }
                break;
          case KEYID_UP:
                if(selection == USB_ITEM_CHARGE)
                {
                 selection = USB_ITEM_PC;
                 _usb_main_menu(selection);
                 //API_OsPendEvent(EVID_KEY_DOWN_60MS);
                }
                break;
          case KEYID_DOWN:
                if(selection == USB_ITEM_PC)
                {
                 selection = USB_ITEM_CHARGE;
                 _usb_main_menu(selection);
                 //API_OsPendEvent(EVID_KEY_DOWN_60MS);
                }
                break;
#ifdef  BL_ADJUST              
          case KEYID_MODE:
               API_LcmDisableKeepBackGround();
               API_LcmShowString("Please press Mode key to adjust BlackLight Frequency",0,0);
               bl_frequency = !bl_frequency;
               if(bl_frequency == 0) // 0:Frequency 1K
               {
                *((uint8*)(0x47)) = 0x4F;
                API_LcmShowString("PWM: 1K",0,16);
               }
               else
               {
                *((uint8*)(0x47)) = 0x1F;
                API_LcmShowString("PWM:20K",0,16);
               }

                API_LcmSetBackLight(bl_level);
                API_LcmShowString("BlackLight:",0,32);
                API_LcmShowNumber(bl_level,0,48,1);
               
               break;

          case KEYID_LEFT:
                if(bl_level == 0)
                 bl_level = 31;
                else
                 bl_level--;
                API_LcmSetBackLight(bl_level);
                API_LcmShowString("BlackLight:",0,32);
                API_LcmShowNumber(bl_level,0,48,1);
                break;
               
          case KEYID_RIGHT:
                if(bl_level == 31)
                 bl_level = 0;
                else
                 bl_level++;
                API_LcmSetBackLight(bl_level);
                API_LcmShowString("BlackLight:",0,32);
                API_LcmShowNumber(bl_level,0,48,1);
                break;
               
#endif                           
         }   
         API_OsPendEvent(EVID_KEY_DOWN_60MS);
        }

#ifdef  BL_ADJUST              
        if(API_OsCheckEventOccur(EVID_KEY_KEEP_DOWN))
        {
         API_OsReleaseEvent(EVID_KEY_KEEP_DOWN);
         switch(API_OsGetKeyId())
         {

          case KEYID_LEFT:
                if(bl_level == 0)
                 bl_level = 31;
                else
                 bl_level--;
                API_LcmSetBackLight(bl_level);
                API_LcmShowString("BlackLight:",0,32);
                API_LcmShowNumber(bl_level,0,48,1);
                break;
               
          case KEYID_RIGHT:
                if(bl_level == 31)
                 bl_level = 0;
                else
                 bl_level++;
                API_LcmSetBackLight(bl_level);
                API_LcmShowString("BlackLight:",0,32);
                API_LcmShowNumber(bl_level,0,48,1);
                break;
               
                           
         }   
         API_OsPendEvent(EVID_KEY_KEEP_DOWN);
        }
#endif

/*
        if(API_OsCheckEventOccur(EVID_BT_2HZ))
        {
         uint8 min,sec;
         API_OsReleaseEvent(EVID_BT_2HZ);
         API_MusicGetCurrentPlayTime(&hr,&min,&sec);
         API_LcmDisableKeepBackGround();
         API_LcmShowNumber(min,0,0,1);
         API_LcmShowNumber(sec,16,0,1);  
         API_OsPendEvent(EVID_BT_2HZ);
        }
        
        if(API_OsCheckEventOccur(EVID_AUD_THD_RESPONSE))
        {
         API_OsReleaseEvent(EVID_AUD_THD_RESPONSE);
         switch(API_MusicGetThreadState())
         {
          case TS_STOP:
                API_VoiceMicOFF();
          break;
         }      
         API_OsPendEvent(EVID_AUD_THD_RESPONSE);
        }
*/        

        if(API_OsCheckEventOccur(EVID_VBUS_PLUGOUT))
        {
         API_OsReleaseEvent(EVID_VBUS_PLUGOUT);
         if(API_SysGetUSBSource() == VBUS_SRC_USB_OFF_LINE)
          API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_ADAPTER);
         else
          API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_NONE);
         _usb_disconnect_pc(resume_flag,state);
         API_OsPendEvent(EVID_VBUS_PLUGOUT);
        }
        
        if(API_OsCheckEventOccur(EVID_UPDATE_SD))
        {
         API_OsReleaseEvent(EVID_UPDATE_SD);
         if(API_SysSDCardDetect())
                ;
         API_OsPendEvent(EVID_UPDATE_SD);
        }
        
        if (API_OsCheckEventOccur(EVID_AUD_THD_RESPONSE))
        {               
         API_OsReleaseEvent(EVID_AUD_THD_RESPONSE);
         switch(API_MusicGetThreadState())
         {
          case TS_STOP:
                _usb_main_menu(selection);
                break;
          case TS_PLAY:
               if(bg_music_state == TS_PAUSE)
                API_MusicPause();
               else
                _return_last_task(state);
               break;
          case TS_PAUSE:
                _return_last_task(state);
                break;
         }
         API_OsPendEvent(EVID_AUD_THD_RESPONSE);                            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -