irq: Add an irq_poll() stub for board code
Allow the board specific code to run checks prior to running each task. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
c35278e217
commit
969ee4c8f9
|
@ -28,4 +28,7 @@ static inline void irq_restore(irqstatus_t flag) {
|
|||
SREG = flag;
|
||||
}
|
||||
|
||||
static inline void irq_poll(void) {
|
||||
}
|
||||
|
||||
#endif // irq.h
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
#include <stdarg.h> // va_start
|
||||
#include <string.h> // memcpy
|
||||
#include "board/io.h" // readb
|
||||
#include "board/irq.h" // irq_poll
|
||||
#include "board/misc.h" // crc16_ccitt
|
||||
#include "board/pgm.h" // READP
|
||||
#include "command.h" // output_P
|
||||
|
@ -306,6 +307,7 @@ command_task(void)
|
|||
p = parsef(p, msgend, cp, args);
|
||||
if (!p)
|
||||
break;
|
||||
irq_poll();
|
||||
void (*func)(uint32_t*) = READP(cp->func);
|
||||
func(args);
|
||||
}
|
||||
|
|
|
@ -34,6 +34,11 @@ irq_restore(irqstatus_t flag)
|
|||
asm volatile("msr primask, %0" :: "r" (flag) : "memory");
|
||||
}
|
||||
|
||||
void
|
||||
irq_poll(void)
|
||||
{
|
||||
}
|
||||
|
||||
// Clear the active irq if a shutdown happened in an irq handler
|
||||
static void
|
||||
clear_active_irq(void)
|
||||
|
|
|
@ -9,5 +9,6 @@ void irq_disable(void);
|
|||
void irq_enable(void);
|
||||
irqstatus_t irq_save(void);
|
||||
void irq_restore(irqstatus_t flag);
|
||||
void irq_poll(void);
|
||||
|
||||
#endif // irq.h
|
||||
|
|
|
@ -268,6 +268,7 @@ run_task(void)
|
|||
{
|
||||
struct callback_handler *p;
|
||||
foreachdecl(p, taskfuncs) {
|
||||
irq_poll();
|
||||
void (*func)(void) = READP(p->func);
|
||||
func();
|
||||
}
|
||||
|
|
|
@ -47,6 +47,11 @@ irq_restore(irqstatus_t flag)
|
|||
Interrupt_off = flag;
|
||||
}
|
||||
|
||||
void
|
||||
irq_poll(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************
|
||||
* Timers
|
||||
|
|
Loading…
Reference in New Issue