diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2017-08-07 11:33:31 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2017-08-08 00:27:28 -0400 |
commit | a9982beacf184ccdc4bf1221852c900b0809537d (patch) | |
tree | 0c7774106b678688361ae8b4ffc346eb51b7b013 /src/sam3x8e/serial.c | |
parent | e9d2ec7c41c60ab74fe2850fb0787af7bb3361f4 (diff) | |
download | kutter-a9982beacf184ccdc4bf1221852c900b0809537d.tar.gz kutter-a9982beacf184ccdc4bf1221852c900b0809537d.tar.xz kutter-a9982beacf184ccdc4bf1221852c900b0809537d.zip |
sched: Introduce sched_wake_tasks() function to wake up tasks
Add function to indicate when tasks need to be run. This will allow
the scheduler code to know if there are any tasks that need to be
processed.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/sam3x8e/serial.c')
-rw-r--r-- | src/sam3x8e/serial.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sam3x8e/serial.c b/src/sam3x8e/serial.c index 713c6337..7741d6f8 100644 --- a/src/sam3x8e/serial.c +++ b/src/sam3x8e/serial.c @@ -56,6 +56,8 @@ UART_Handler(void) uint32_t status = UART->UART_SR; if (status & UART_SR_RXRDY) { uint8_t data = UART->UART_RHR; + if (data == MESSAGE_SYNC) + sched_wake_tasks(); if (receive_pos >= sizeof(receive_buf)) // Serial overflow - ignore it as crc error will force retransmit return; @@ -94,6 +96,7 @@ console_pop_input(uint32_t len) memmove(&receive_buf[copied], &receive_buf[copied + len] , needcopy - copied); copied = needcopy; + sched_wake_tasks(); } irqstatus_t flag = irq_save(); if (rpos != readl(&receive_pos)) { |