Пример #1
0
/**
 * prepare system on boot
 */
static void InitializeSystem(void) {
    #if defined(__18CXX)
        SetupTimer();
        INTCONbits.GIEH = 1;
    #endif
    
    InitLED();
    LED_Off();

    InitReceiver();
    ReceiverOff();
    
    USBDeviceInit();
}
Пример #2
0
/**
 * update LED status
 */
void BlinkUSBStatus(void) {

    #define BLINK_COUNT (0xffff/16)

    static UINT16 led_count = 0xffff;
    static USB_DEVICE_STATE lastState = DETACHED_STATE;
    static BOOL blinkConfiguredSequence = FALSE;

    led_count++;
    
    if (USBSuspendControl == 1) {
        LED_Off();
    } else {
        if (USBGetDeviceState() < CONFIGURED_STATE) {
            if (blinkConfiguredSequence) {
                blinkConfiguredSequence = FALSE;
            }

            if (lastState == CONFIGURED_STATE) {
                ReceiverOff();
            }

            if (led_count == 0) {
                LED_On();
            } else if (led_count == BLINK_COUNT) {
                LED_Off();
            }
        } else {
            if (lastState != CONFIGURED_STATE) {
                QueueInit();
                ReceiverOn();
                LED_On();
                blinkConfiguredSequence = TRUE;
                led_count = 0;
            } else if (blinkConfiguredSequence && led_count == 0) {
                blinkConfiguredSequence = FALSE;
                LED_Off();
            }
        }
    }

    lastState = USBGetDeviceState();
}
Пример #3
0
///-----------------------------------------------------------------------------
void main(void){
 ///----------------------------------------------------------------------------
 unsigned char ret;
 unsigned char cmd;
 unsigned char data;
 char mod = 0;
 ///----------------------------------------------------------------------------
 OffPeripherall();
 KeypadInit();
 UartInit();
 LoadAddrRxTx();
 ReceiverOn();
 ///----------------------------------------------------------------------------
 #asm("sei")
 ///----------------------------------------------------------------------------
 while(1){
  /// on/off player ------------------------------------------------------------
  if(KEY == KEY_PWR){
   KeypadClear();
   if(mod == 0){
    mod = 1;
    PlayerOn();
   }else{
     mod = 0;
     ReceiverOff();
     PlayerOff();
    }
  }
  /// look rx frame ------------------------------------------------------------
  ret = UartWaitFrame(&cmd,&data);
  if(ret == 0x01){
   switch(cmd){
    case PLAYER_PLAY     : PlayerRun(PLAYER_PLAY,PLAYER_NO_ARG);     break;
    case PLAYER_PUASE    : PlayerRun(PLAYER_PUASE,PLAYER_NO_ARG);    break;
    case PLAYER_STOP     : PlayerRun(PLAYER_STOP,PLAYER_NO_ARG);     break;
    case PLAYER_VOL_UP   : PlayerRun(PLAYER_VOL_UP,PLAYER_NO_ARG);   break;
    case PLAYER_VOL_DOWN : PlayerRun(PLAYER_VOL_DOWN,PLAYER_NO_ARG); break;
    case PLAYER_NEXT     : PlayerRun(PLAYER_NEXT,PLAYER_NO_ARG);     break;
    case PLAYER_PREV     : PlayerRun(PLAYER_PREV,PLAYER_NO_ARG);     break;
   }
  }
  /// if press keypad send command via RF --------------------------------------
  if(KEY == KEY_A){
   KeypadClear();
   UartSendFrame(PLAYER_PLAY,PLAYER_NO_ARG);
  }
  if(KEY == KEY_B){
   KeypadClear();
   UartSendFrame(PLAYER_STOP,PLAYER_NO_ARG);
  }
  if(KEY == KEY_C){
   KeypadClear();
   UartSendFrame(PLAYER_NEXT,PLAYER_NO_ARG);
  }
  if(KEY == KEY_D){
   KeypadClear();
   UartSendFrame(PLAYER_PREV,PLAYER_NO_ARG);
  }
 }
 ///----------------------------------------------------------------------------
}