static void ConsoleFlush(void) { do { SYS_DEVCON_Tasks(sysObj.sysDevcon); SYS_CONSOLE_Tasks(sysObj.sysConsole0); } while (SYS_CONSOLE_Status(sysObj.sysConsole0) != SYS_STATUS_READY); }
static bool IsCommandReady(const void* cmdIoParam) { int consoleIndex = 0; bool ready = false; for (consoleIndex = 0; consoleIndex < SYS_CONSOLE_DEVICE_MAX_INSTANCES; ++consoleIndex) { ready |= SYS_CONSOLE_Status((SYS_MODULE_OBJ)consoleIndex) == SYS_STATUS_READY; } return ready; }
static void SendCommandCharacter(const void* cmdIoParam, char c) { int consoleIndex = 0; for (consoleIndex = 0; consoleIndex < SYS_CONSOLE_DEVICE_MAX_INSTANCES; ++consoleIndex) { if (SYS_CONSOLE_Status((SYS_MODULE_OBJ)consoleIndex) != SYS_STATUS_READY) continue; SYS_CONSOLE_Write(consoleIndex, STDOUT_FILENO, (const char*)&c, 1); } }
size_t ReadCommandCharacter(const void* cmdIoParam) { int readConsoleIndex = 0; size_t readyBytes = 0; for (readConsoleIndex = 0; readConsoleIndex < SYS_CONSOLE_DEVICE_MAX_INSTANCES; ++readConsoleIndex) { if (SYS_CONSOLE_Status((SYS_MODULE_OBJ)readConsoleIndex) == SYS_STATUS_READY) { readyBytes = SYS_CONSOLE_Read(readConsoleIndex, _cmdAppData.moduleInFd, readBuff, 1); } if (readyBytes > 0) break; } return readyBytes; }