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;
}
Beispiel #2
0
void consoleFlush(void)
{
    if (xSemaphoreTake(synch, portMAX_DELAY) == pdTRUE)
    {
        consoleSendMessage();
        xSemaphoreGive(synch);
    }
}
Beispiel #3
0
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;
}