static portTASK_FUNCTION(MainTask, pvParameters) { #if PL_HAS_SHELL static unsigned char localConsole_buf[48]; #endif #if PL_HAS_RSTDIO static unsigned char radio_cmd_buf[48]; CLS1_ConstStdIOType *ioRemote = RSTDIO_GetStdioRx(); #endif #if PL_HAS_RSTDIO || PL_HAS_SHELL CLS1_ConstStdIOTypePtr ioLocal = CLS1_GetStdio(); #endif #if PL_HAS_RSTDIO radio_cmd_buf[0] = '\0'; #endif #if PL_HAS_SHELL localConsole_buf[0] = '\0'; CLS1_SendStr((unsigned char*)"nRF24L01+ Demo\r\n", ioLocal->stdOut); #endif RSTACK_Init(); /* initialize stack */ if (RAPP_SetMessageHandlerTable(handlerTable)!=ERR_OK) { /* assign application message handler */ Err((unsigned char*)"Failed setting message handler!\r\n"); } if (RAPP_SetThisNodeAddr(RNWK_ADDR_BROADCAST)!=ERR_OK) { /* set a default address */ Err((unsigned char*)"Failed setting source address!\r\n"); } #if PL_HAS_SHELL (void)CLS1_ParseWithCommandTable((unsigned char*)CLS1_CMD_HELP, ioLocal, CmdParserTable); #endif for(;;) { #if PL_HAS_SHELL (void)CLS1_ReadAndParseWithCommandTable(localConsole_buf, sizeof(localConsole_buf), ioLocal, CmdParserTable); #endif #if PL_HAS_RSTDIO RSTDIO_Print(ioLocal); /* handle stdout/stderr messages coming in */ (void)CLS1_ReadAndParseWithCommandTable(radio_cmd_buf, sizeof(radio_cmd_buf), ioRemote, CmdParserTable); #endif LED1_Neg(); FRTOS1_vTaskDelay(10/portTICK_RATE_MS); } }
static portTASK_FUNCTION(ShellTask, pvParameters) { #if PL_HAS_RSTDIO static unsigned char radio_cmd_buf[48]; CLS1_ConstStdIOType *ioRemote = RSTDIO_GetStdioRx(); #endif #if CLS1_DEFAULT_SERIAL CLS1_ConstStdIOTypePtr ioLocal = CLS1_GetStdio(); #endif (void)pvParameters; /* not used */ #if CLS1_DEFAULT_SERIAL (void)CLS1_ParseWithCommandTable((unsigned char*)CLS1_CMD_HELP, ioLocal, CmdParserTable); #endif for(;;) { #if CLS1_DEFAULT_SERIAL (void)CLS1_ReadAndParseWithCommandTable(localConsole_buf, sizeof(localConsole_buf), ioLocal, CmdParserTable); #endif #if PL_HAS_RSTDIO RSTDIO_Print(ioLocal); /* dispatch incoming messages */ (void)CLS1_ReadAndParseWithCommandTable(radio_cmd_buf, sizeof(radio_cmd_buf), ioRemote, CmdParserTable); #endif #if PL_HAS_BLUETOOTH (void)CLS1_ReadAndParseWithCommandTable(bluetooth_buf, sizeof(bluetooth_buf), &BT_stdio, CmdParserTable); #endif #if PL_HAS_SHELL_QUEUE { unsigned char ch; while((ch=SQUEUE_ReceiveChar()) && ch!='\0') { #if CLS1_DEFAULT_SERIAL ioLocal->stdOut(ch); #endif #if PL_HAS_BLUETOOTH BT_stdio.stdOut(ch); /* copy on Bluetooth */ #endif } } #endif FRTOS1_vTaskDelay(50/portTICK_RATE_MS); } /* for */ }
static portTASK_FUNCTION(ShellTask, pvParameters) { #if PL_HAS_RSTDIO static unsigned char radio_cmd_buf[48]; CLS1_ConstStdIOType *ioRemote = RSTDIO_GetStdioRx(); #endif #if CLS1_DEFAULT_SERIAL CLS1_ConstStdIOTypePtr ioLocal = CLS1_GetStdio(); #endif #if PL_HAS_SD_CARD bool cardMounted = FALSE; static FAT1_FATFS fileSystemObject; #endif (void)pvParameters; /* not used */ #if CLS1_DEFAULT_SERIAL (void)CLS1_ParseWithCommandTable((unsigned char*)CLS1_CMD_HELP, ioLocal, CmdParserTable); #endif #if PL_HAS_SD_CARD if (FAT1_Init()!=ERR_OK) { //CLS1_SendStr((uint8_t*)"FatFS Initialization failed. No card inserted?\r\n", ioLocal->stdErr); } #endif for(;;) { #if PL_HAS_SD_CARD (void)FAT1_CheckCardPresence(&cardMounted, 0 /*volume*/, &fileSystemObject, CLS1_GetStdio()); #endif #if CLS1_DEFAULT_SERIAL (void)CLS1_ReadAndParseWithCommandTable(localConsole_buf, sizeof(localConsole_buf), ioLocal, CmdParserTable); #endif #if PL_HAS_RSTDIO RSTDIO_Print(ioLocal); /* dispatch incoming messages */ (void)CLS1_ReadAndParseWithCommandTable(radio_cmd_buf, sizeof(radio_cmd_buf), ioRemote, CmdParserTable); #endif #if PL_HAS_BLUETOOTH (void)CLS1_ReadAndParseWithCommandTable(bluetooth_buf, sizeof(bluetooth_buf), &BT_stdio, CmdParserTable); #endif FRTOS1_vTaskDelay(50/portTICK_RATE_MS); } /* for */ }
static portTASK_FUNCTION(ShellTask, pvParameters) { #if PL_HAS_RSTDIO static unsigned char radio_cmd_buf[96]; CLS1_ConstStdIOType *ioRemote = RSTDIO_GetStdioRx(); #endif static unsigned char buf[96]; CLS1_ConstStdIOType *ioLocal = CLS1_GetStdio(); (void)pvParameters; /* not used */ #if PL_HAS_RSTDIO radio_cmd_buf[0] = '\0'; #endif buf[0] = '\0'; (void)CLS1_ParseWithCommandTable((unsigned char*)CLS1_CMD_HELP, ioLocal, CmdParserTable); for(;;) { (void)CLS1_ReadAndParseWithCommandTable(buf, sizeof(buf), ioLocal, CmdParserTable); #if PL_HAS_RSTDIO RSTDIO_Print(ioLocal); /* dispatch incoming messages */ (void)CLS1_ReadAndParseWithCommandTable(radio_cmd_buf, sizeof(radio_cmd_buf), ioRemote, CmdParserTable); #endif FRTOS1_vTaskDelay(10/portTICK_RATE_MS); } /* for */ }
static portTASK_FUNCTION(ShellTask, pvParameters) { static unsigned char localConsole_buf[48]; #if PL_HAS_RSTDIO static unsigned char radio_cmd_buf[48]; CLS1_ConstStdIOType *ioRemote = RSTDIO_GetStdioRx(); #endif #if PL_HAS_SEGGER_RTT static unsigned char rtt_cmd_buf[48]; #endif #if CLS1_DEFAULT_SERIAL CLS1_ConstStdIOTypePtr ioLocal = CLS1_GetStdio(); #endif #if PL_HAS_SD_CARD bool cardMounted = FALSE; static FAT1_FATFS fileSystemObject; #endif (void)pvParameters; /* not used */ #if PL_HAS_BLUETOOTH bluetooth_buf[0] = '\0'; #endif #if CLS1_DEFAULT_SERIAL localConsole_buf[0] = '\0'; #endif #if PL_HAS_RSTDIO radio_cmd_buf[0] = '\0'; #endif #if PL_HAS_SEGGER_RTT rtt_cmd_buf[0] = '\0'; #endif #if CLS1_DEFAULT_SERIAL (void)CLS1_ParseWithCommandTable((unsigned char*)CLS1_CMD_HELP, ioLocal, CmdParserTable); #endif #if PL_HAS_SEGGER_RTT (void)CLS1_ParseWithCommandTable((unsigned char*)CLS1_CMD_HELP, &RTT_stdio, CmdParserTable); #endif #if PL_HAS_SD_CARD FAT1_Init(); #endif for(;;) { #if PL_HAS_SD_CARD (void)FAT1_CheckCardPresence(&cardMounted, (unsigned char*)"0" /*volume*/, &fileSystemObject, CLS1_GetStdio()); #endif #if CLS1_DEFAULT_SERIAL (void)CLS1_ReadAndParseWithCommandTable(localConsole_buf, sizeof(localConsole_buf), ioLocal, CmdParserTable); #endif #if PL_HAS_SEGGER_RTT (void)CLS1_ReadAndParseWithCommandTable(rtt_cmd_buf, sizeof(rtt_cmd_buf), &RTT_stdio, CmdParserTable); #endif #if PL_HAS_RSTDIO RSTDIO_Print(ioLocal); /* dispatch incoming messages */ (void)CLS1_ReadAndParseWithCommandTable(radio_cmd_buf, sizeof(radio_cmd_buf), ioRemote, CmdParserTable); #endif #if PL_HAS_BLUETOOTH (void)CLS1_ReadAndParseWithCommandTable(bluetooth_buf, sizeof(bluetooth_buf), &BT_stdio, CmdParserTable); #endif #if PL_HAS_USB_CDC (void)CLS1_ReadAndParseWithCommandTable(cdc_buf, sizeof(cdc_buf), &CDC_stdio, CmdParserTable); #endif FRTOS1_vTaskDelay(50/portTICK_RATE_MS); } /* for */ }
static void ShellTask(void *pvParameters) { static unsigned char localConsole_buf[48]; #if PL_CONFIG_HAS_USB_CDC static unsigned char cdc_buf[48]; #endif #if PL_CONFIG_HAS_BLUETOOTH static unsigned char bluetooth_buf[48]; #endif #if PL_CONFIG_HAS_SEGGER_RTT static unsigned char rtt_buf[48]; #endif #if CLS1_DEFAULT_SERIAL CLS1_ConstStdIOTypePtr ioLocal = CLS1_GetStdio(); #endif #if PL_CONFIG_HAS_RADIO && RNET_CONFIG_REMOTE_STDIO static unsigned char radio_cmd_buf[48]; CLS1_ConstStdIOType *ioRemote = RSTDIO_GetStdioRx(); #endif (void)pvParameters; /* not used */ #if PL_CONFIG_HAS_USB_CDC cdc_buf[0] = '\0'; #endif #if PL_CONFIG_HAS_BLUETOOTH bluetooth_buf[0] = '\0'; #endif #if PL_CONFIG_HAS_SEGGER_RTT rtt_buf[0] = '\0'; #endif localConsole_buf[0] = '\0'; #if CLS1_DEFAULT_SERIAL (void)CLS1_ParseWithCommandTable((unsigned char*)CLS1_CMD_HELP, ioLocal, CmdParserTable); #endif #if PL_CONFIG_HAS_RADIO && RNET_CONFIG_REMOTE_STDIO radio_cmd_buf[0] = '\0'; #endif for(;;) { #if CLS1_DEFAULT_SERIAL (void)CLS1_ReadAndParseWithCommandTable(localConsole_buf, sizeof(localConsole_buf), ioLocal, CmdParserTable); #endif #if PL_CONFIG_HAS_USB_CDC #if SHELL_COPY_CDC_TO_UART (void)CLS1_ReadAndParseWithCommandTable(cdc_buf, sizeof(cdc_buf), &CopyCDCtoUARTStdio, CmdParserTable); #else (void)CLS1_ReadAndParseWithCommandTable(cdc_buf, sizeof(cdc_buf), &CDC_stdio, CmdParserTable); #endif #endif #if PL_CONFIG_HAS_BLUETOOTH (void)CLS1_ReadAndParseWithCommandTable(bluetooth_buf, sizeof(bluetooth_buf), &BT_stdio, CmdParserTable); #endif #if PL_CONFIG_HAS_SEGGER_RTT (void)CLS1_ReadAndParseWithCommandTable(rtt_buf, sizeof(rtt_buf), &RTT_Stdio, CmdParserTable); #endif #if PL_CONFIG_HAS_RADIO && RNET_CONFIG_REMOTE_STDIO RSTDIO_Print(ioLocal); /* dispatch incoming messages */ (void)CLS1_ReadAndParseWithCommandTable(radio_cmd_buf, sizeof(radio_cmd_buf), ioRemote, CmdParserTable); #endif #if PL_CONFIG_HAS_SHELL_QUEUE #if PL_CONFIG_HAS_SQUEUE_SINGLE_CHAR { /*! \todo Handle shell queue */ unsigned char ch; while((ch=SQUEUE_ReceiveChar()) && ch!='\0') { #if CLS1_DEFAULT_SERIAL ioLocal->stdOut(ch); #endif #if PL_CONFIG_HAS_BLUETOOTH BT_stdio.stdOut(ch); /* copy on Bluetooth */ #endif #if PL_CONFIG_HAS_USB_CDC CDC_stdio.stdOut(ch); /* copy on USB CDC */ #endif } } #else /* PL_CONFIG_HAS_SQUEUE_SINGLE_CHAR */ { const unsigned char *msg; msg = SQUEUE_ReceiveMessage(); if (msg!=NULL) { CLS1_SendStr(msg, CLS1_GetStdio()->stdOut); FRTOS1_vPortFree((void*)msg); } } #endif /* PL_CONFIG_HAS_SQUEUE_SINGLE_CHAR */ #endif /* PL_CONFIG_HAS_SHELL_QUEUE */ FRTOS1_vTaskDelay(10/portTICK_RATE_MS); } /* for */ }