Commit 5e25bc89 authored by Rahix's avatar Rahix
Browse files

feat(serial): Add function to switch serial to synchronous



In severe error conditions, asynchronous prints will never work.  For
such cases we need a way to make prints happen synchronously again, the
same way it works during early boot.  Add a serial_return_to_synchronous()
function which unconditionally switches the serial driver code to
synchronous mode.

Only use this function in unrecoverable error conditions!
Signed-off-by: Rahix's avatarRahix <rahix@rahix.de>
parent 8ac93244
......@@ -31,6 +31,8 @@ void vSerialTask(void *pvParameters);
void serial_enqueue_char(char chr);
void serial_flush(void);
extern TaskHandle_t serial_task_id;
/* Turn off the print queue and do prints synchroneous from now on. */
void serial_return_to_synchronous();
// For the eSetBit xTaskNotify task semaphore trigger
enum serial_notify{
......
......@@ -46,6 +46,11 @@ void serial_init()
);
}
void serial_return_to_synchronous()
{
write_stream_buffer = NULL;
}
/*
* API-call to write a string. Output goes to both CDCACM and UART
*/
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment