コード例 #1
0
ファイル: Bootloader.c プロジェクト: 210221030/mcuoneclipse
void BL_Bootloader(void) {
  S191_FileStatus fileStatus;
  
  DisableInterrupts;
#if PL_HAS_HW_SOUNDER
  Beep(1);
#endif
#if PL_BOOTLOADER_LCD
  if (JM_ELE_GetVal()!=0) {
    /* JM_ELE switch is off: the JM128 is controlling the LCD */
    LCD1_Init();
    LCD1_Clear();
  }
  PrintLCDText(0, "Bootloader mode: waiting for S19 file...");
#endif
  BLUSB1_InitUSB();
  
  fileStatus = S191_FILE_STATUS_NOT_STARTED;
  for(;;) {
    BLUSB1_PollAndProcessUSB(&fileStatus); /* Poll USB device for any input device */
    if(fileStatus==S191_FILE_STATUS_READING) {
    #if PL_BOOTLOADER_LCD
      PrintLCDText(1, "Loading S19 file...");
    #endif
      BL_flashErased = FALSE;
      BLUSB1_ReadAndProcessS19(&fileStatus);
      switch(fileStatus) {
        case S191_FILE_STATUS_FINISHED:
          #if PL_BOOTLOADER_LCD
          PrintLCDText(2, "Loading successful!\nYou can reset the board now.");
          #endif
          #if PL_HAS_HW_SOUNDER
          Beep(1);
          #endif
          break;
        case S191_FILE_ERASE_FAILED:
          #if PL_BOOTLOADER_LCD
          PrintLCDText(2, "*** Flash erase error! ***");
          #endif
          #if PL_HAS_HW_SOUNDER
          Beep(4);
          #endif
          break;
        case S191_FILE_FLASH_FAILED:
          #if PL_BOOTLOADER_LCD
          PrintLCDText(2, "*** Flash programming error! ***");
          #endif
          #if PL_HAS_HW_SOUNDER
          Beep(6);
          #endif
          break;
        default:
          #if PL_BOOTLOADER_LCD
          PrintLCDText(2, "*** Error processing file! ***");
          #endif
          #if PL_HAS_HW_SOUNDER
          Beep(8);
          #endif
          break;
      } /* switch */
    } /* if */    
  } /* for */
}
コード例 #2
0
ファイル: Application.c プロジェクト: jeffyoon/mcuoneclipse
void APP_Run(void) {
  int i;
  FDisp1_PixelDim x, y;

  LCD1_Init();
  LCD1_Clear();
#if 1
  GDisp1_DrawFilledBox(0, 0, GDisp1_GetWidth()-1, GDisp1_GetHeight()-1, LCD1_COLOR_WHITE);
  GDisp1_UpdateFull();
  GDisp1_DrawFilledBox(0, 0, GDisp1_GetWidth()-1, GDisp1_GetHeight()-1, LCD1_COLOR_RED);
  GDisp1_UpdateFull();
  GDisp1_DrawFilledBox(0, 0, GDisp1_GetWidth()-1, GDisp1_GetHeight()-1, LCD1_COLOR_GREEN);
  GDisp1_UpdateFull();
  GDisp1_DrawFilledBox(0, 0, GDisp1_GetWidth()-1, GDisp1_GetHeight()-1, LCD1_COLOR_BLUE);
  GDisp1_UpdateFull();

  GDisp1_Clear();
  GDisp1_UpdateFull();

  GDisp1_DrawFilledBox(0, 0, 128, 128, LCD1_COLOR_RED);
  GDisp1_UpdateFull();
  GDisp1_DrawFilledBox(0, 0, 50, 10, LCD1_COLOR_YELLOW);
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_PORTRAIT);
  GDisp1_DrawFilledBox(0, 0, 100, 20, LCD1_COLOR_YELLOW);
  GDisp1_UpdateFull();

  x = 0; y = 0;
  FDisp1_WriteString("Portrait", LCD1_COLOR_RED, &x, &y, Helv14_GetFont());
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_LANDSCAPE);
  GDisp1_DrawFilledBox(0, 0, 100, 20, LCD1_COLOR_ORANGE);
  x = 0; y = 0;
  FDisp1_WriteString("Landscape", LCD1_COLOR_GREEN, &x, &y, Helv14_GetFont());
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_PORTRAIT180);
  GDisp1_DrawFilledBox(0, 0, 100, 20, LCD1_COLOR_RED);
  x = 0; y = 0;
  FDisp1_WriteString("Portrait180", LCD1_COLOR_BLUE, &x, &y, Helv14_GetFont());
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_LANDSCAPE180);
  GDisp1_DrawFilledBox(0, 0, 100, 20, LCD1_COLOR_BRIGHT_GREEN);
  x = 0; y = 0;
  FDisp1_WriteString("Landscape180", LCD1_COLOR_WHITE, &x, &y, Helv14_GetFont());
  GDisp1_UpdateFull();

#if 0
  LCD1_OpenWindow(0, 0, (LCD1_PixelDim)(LCD1_GetWidth()-1), (LCD1_PixelDim)(LCD1_GetHeight()-1)); /* window for whole display */
  for(i=0;i<500;i++) {
    LCD1_WriteDataWord(LCD1_COLOR_YELLOW);
  }
  LCD1_CloseWindow();
#endif
  LCD1_Clear();
  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_PORTRAIT);
  GDisp1_DrawLine(0, 0, 10, 50, LCD1_COLOR_RED);
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_LANDSCAPE);
  GDisp1_DrawLine(0, 0, 10, 50, LCD1_COLOR_GREEN);
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_LANDSCAPE180);
  GDisp1_DrawLine(0, 0, 10, 50, LCD1_COLOR_BLUE);
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_PORTRAIT180);
  GDisp1_DrawLine(0, 0, 10, 50, LCD1_COLOR_WHITE);
  LCD1_Clear();

  //GDisp1_DrawFilledBox(0, 0, 20, 40, LCD1_COLOR_WHITE);

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_PORTRAIT180);
  GDisp1_DrawFilledBox(0, 0, 20, 40, LCD1_COLOR_RED);
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_LANDSCAPE);
  GDisp1_DrawFilledBox(0, 0, 20, 40, LCD1_COLOR_GREEN);
  GDisp1_UpdateFull();

  LCD1_SetDisplayOrientation(LCD1_ORIENTATION_LANDSCAPE180);
  GDisp1_DrawFilledBox(0, 0, 20, 40, LCD1_COLOR_BLUE);
  GDisp1_UpdateFull();

  GDisp1_DrawFilledBox(50, 50, 20, 30, LCD1_COLOR_RED);
  GDisp1_DrawFilledBox(0, 0, 96, 96, LCD1_COLOR_BLUE);
  GDisp1_DrawBox(0, 0, GDisp1_GetWidth(), GDisp1_GetHeight(), 1, LCD1_COLOR_GREEN);
  x = 0; y = 0;
  FDisp1_WriteString("Hello", LCD1_COLOR_GREEN, &x, &y, Helv14_GetFont());
  GDisp1_UpdateFull();

  float f = sin(f+1);
  EYES_Init();
  for(;;) {
    EYES_Run();
//    SpeedTest();
    LED1_Neg();
    WAIT1_Waitms(100);
    LED2_Neg();
    WAIT1_Waitms(100);
    LED3_Neg();
    WAIT1_Waitms(100);
  }
#endif
}