int consolePutchar(int ch) { int i; if (!isInit) return 0; if (xSemaphoreTake(synch, portMAX_DELAY) == pdTRUE) { if (messageToPrint.size < CRTP_MAX_DATA_SIZE) { messageToPrint.data[messageToPrint.size] = (unsigned char)ch; messageToPrint.size++; } if (ch == '\n' || messageToPrint.size >= CRTP_MAX_DATA_SIZE) { if (crtpGetFreeTxQueuePackets() == 1) { for (i = 0; i < sizeof(fullMsg) && (messageToPrint.size - i) > 0; i++) { messageToPrint.data[messageToPrint.size - i] = (uint8_t)fullMsg[sizeof(fullMsg) - i - 1]; } } consoleSendMessage(); } xSemaphoreGive(synch); } return (unsigned char)ch; }
void consoleFlush(void) { if (xSemaphoreTake(synch, portMAX_DELAY) == pdTRUE) { consoleSendMessage(); xSemaphoreGive(synch); } }
int consolePutchar(int ch) { if (xSemaphoreTake(synch, portMAX_DELAY) == pdTRUE) { messageToPrint.data[messageToPrint.size] = (unsigned char)ch; messageToPrint.size++; if (ch == '\n' || messageToPrint.size == CRTP_MAX_DATA_SIZE) { consoleSendMessage(); } xSemaphoreGive(synch); } return (unsigned char)ch; }