Apparenlty I changed something
Fork of LMiC by
Diff: oslmic.cpp
- Revision:
- 2:002940b52fb4
- Parent:
- 1:d3b7bde3995c
--- a/oslmic.cpp Tue Mar 31 13:36:56 2015 +0000 +++ b/oslmic.cpp Wed Sep 16 14:51:01 2015 +0000 @@ -103,3 +103,22 @@ } } } + +void os_inner_loop () { + osjob_t* j = NULL; + hal_disableIRQs(); + // check for runnable jobs + if(OS.runnablejobs) { + j = OS.runnablejobs; + OS.runnablejobs = j->next; + } else if(OS.scheduledjobs && hal_checkTimer(OS.scheduledjobs->deadline)) { // check for expired timed jobs + j = OS.scheduledjobs; + OS.scheduledjobs = j->next; + } else { // nothing pending +// hal_sleep(); // wake by irq (timer already restarted) + } + hal_enableIRQs(); + if(j) { // run job callback + j->func(j); + } +}