/*
 *  メインタスク
 */
void main_task(intptr_t exinf) {
#if BOARDTYPE == PICO_W
  btstack_init_t btInit;
  ble_serial_init_t bsInit;
#endif
  I2C_Handle_t *hi2c;
  ER_UINT ercd;
  省略
  hi2c = get_i2c_handler();
#if BOARDTYPE == PICO_W && defined(ROM)
  set_hi2c(hi2c);   ←Pico WでROM実行の場合，不揮発性メモリの初期化のためにI2CハンドラをCyw43ドライバに渡す
#endif
  hlcd = &LcdHandle;
  hlcd->hi2c = hi2c;
  hlcd->trans_lock = 0;
  hlcd->rst_pin = -1;
  hlcd->daddress = OLED_ADDR;
  hlcd->rotation = 0;
  lcd_init(hlcd, SSD1306_SWITCHCAPVCC); ←OLEDドライバの初期化を行う

  DrawProp.hlcd = hlcd;
  DrawProp.TextColor = LCD_BLACK;
  DrawProp.BackColor = LCD_WHITE;
  lcd_fillScreen(&DrawProp);
  lcd_fillRect(hlcd, 0, 0, hlcd->_width, hlcd->_height / 3 - 6, LCD_BLUE);
  DrawProp.BackColor = LCD_BLUE;
  DrawProp.pFont = &Font12;
  lcd_DisplayStringAt(&DrawProp, 0, 2, (uint8_t *)" CUP TIMER ", CENTER_MODE);
  DrawProp.BackColor = LCD_WHITE;
  SVC_PERROR(act_tsk(CUP_TIMER_TASK));

#if BOARDTYPE == PICO_W
  /*
   *  BLEスタート   ←BTstack用Cyw43ドライバの初期化データとタスク・モニタの情報を使ってble_serialの初期化を行う
   */
  btInit.timeout = 10;
  btInit.lockid = 0;
  btInit.semid = BTTRNS_SEM;
  btInit.locksem = CYW43LOCK_SEM;
  btInit.transem = CYW43TRNS_SEM;
  bsInit.semid = STDIO_SEM;
  bsInit.monid = MONTASK;
  if ((ercd = execute_ble_serial(&btInit, &bsInit)) != E_OK) {
    syslog_1(LOG_ERROR, "BLE INIT ERROR(%d) !", ercd);
  }
#endif
  syslog_0(LOG_NOTICE, "stop main_task");
  slp_tsk();
  //	SVC_PERROR(ext_ker());
}
