From a9982beacf184ccdc4bf1221852c900b0809537d Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 7 Aug 2017 11:33:31 -0400 Subject: 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 --- src/avr/serial.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/avr/serial.c') diff --git a/src/avr/serial.c b/src/avr/serial.c index 10b95992..8b9dd14a 100644 --- a/src/avr/serial.c +++ b/src/avr/serial.c @@ -65,6 +65,8 @@ DECL_INIT(serial_init); ISR(USART0_RX_vect) { uint8_t data = UDR0; + if (data == MESSAGE_SYNC) + sched_wake_tasks(); if (receive_pos >= sizeof(receive_buf)) // Serial overflow - ignore it as crc error will force retransmit return; @@ -104,6 +106,7 @@ console_pop_input(uint8_t len) memmove(&receive_buf[copied], &receive_buf[copied + len] , needcopy - copied); copied = needcopy; + sched_wake_tasks(); } irqstatus_t flag = irq_save(); if (rpos != readb(&receive_pos)) { -- cgit v1.2.3-70-g09d2