Пример #1
0
static portTASK_FUNCTION(ShellTask, pvParameters) {
  unsigned char cmd_buf[32];

  (void)pvParameters;
  FSSH1_Init();
  cmd_buf[0] = '\0';
  (void)FSSH1_ParseCommand((const unsigned char*)FSSH1_CMD_HELP, FSSH1_GetStdio(), ParseCommand); 
  for(;;) {
    (void)FSSH1_ReadAndParseLine(cmd_buf, sizeof(cmd_buf), FSSH1_GetStdio(), ParseCommand /* local cmd parser */);
    FRTOS1_vTaskDelay(50/portTICK_RATE_MS);
    LED2_Neg();
  }
}
Пример #2
0
static portTASK_FUNCTION(ShellTask, pvParameters) {
  static unsigned char cmd_buf[48];

  (void)pvParameters;
  (void)FSSH1_ParseCommand((unsigned char*)FSSH1_CMD_HELP, FSSH1_GetStdio(), ParseCommand); /* print help and prints as well the prompt */
  cmd_buf[0] = '\0';
  for(;;) {
#if PL_USE_USB_SCI
    static char_t usb_tx_buf[USB1_DATA_BUFF_SIZE];
    (void)CDC1_App_Task(usb_tx_buf, sizeof(usb_tx_buf)); /* Call the USB application task */
#endif
    (void)FSSH1_ReadAndParseLine(cmd_buf, sizeof(cmd_buf), FSSH1_GetStdio(), ParseCommand);
#if PL_HAS_QUEUE
  #if QUEUE_SINGLE_CHAR
    {
      unsigned char ch;
      FSSH1_StdIO_OutErr_FctType io = FSSH1_GetStdio()->stdOut;

      while((ch=QUEUE_ReceiveChar()) && ch!='\0') {
        io(ch);
      }
    }
  #else
    {
      const unsigned char *msg;

      msg = QUEUE_ReceiveMessage();
      if (msg!=NULL) {
        FSSH1_SendStr(msg, FSSH1_GetStdio()->stdOut);
        FRTOS1_vPortFree((void*)msg);
      }
    }
  #endif
#endif
#if PL_HAS_I2C
    if (SHELL_i2Commands && I2C_ReceiveCommand(cmd_buf, sizeof(cmd_buf))==ERR_OK) {
      bool handled = FALSE;

      (void)ParseCommand(cmd_buf, &handled, FSSH1_GetStdio());
    }
#endif
    FRTOS1_vTaskDelay(50/portTICK_RATE_MS);
  }
}
Пример #3
0
static portTASK_FUNCTION(ShellTask, pvParameters) {
  static unsigned char cmd_buf[32];
  uint8_t buf[USB1_DATA_BUFF_SIZE];
  bool startup = TRUE;

  (void)pvParameters;
  cmd_buf[0]='\0';
  for(;;) {
    if (CDC1_App_Task(buf, sizeof(buf))!=ERR_OK) {
      /* Call the USB application task, wait until enumeration has finished */
      while(CDC1_App_Task(buf, sizeof(buf))!=ERR_OK) {
        LED1_Neg(); /* flash LED fast to indicate that we are not communicating */
        FRTOS1_vTaskDelay(20/portTICK_RATE_MS);
      }
    }
    LED1_Neg();
    (void)FSSH1_ReadAndParseLine(cmd_buf, sizeof(cmd_buf), FSSH1_GetStdio(), ParseCommand);
    FRTOS1_vTaskDelay(100/portTICK_RATE_MS);
  }
}
Пример #4
0
void SHELL_ReadAndParseLine(unsigned char *buf, size_t bufSize) {
  (void)FSSH1_ReadAndParseLine(buf, bufSize, FSSH1_GetStdio(), ParseCommand);
}
Пример #5
0
void SHELL_ParseLine(const unsigned char *cmd) {
  (void)FSSH1_ParseCommand(cmd, FSSH1_GetStdio(), ParseCommand); /* print help and prints as well the prompt */
}
Пример #6
0
/*!
 * \brief Send a string to the stdio channel. 
 */
void SHELL_SendStr(const unsigned char *str) {
  FSSH1_SendStr(str, FSSH1_GetStdio()->stdOut);
}