#include <synrtx.h>
#define OBSERVE 0
#define REPORT 1
static word eventCount;
static handler Observe(msg_t *msg_p) {
io_putf("Update.Observe: eventCount = %w\n", ++eventCount);
}
static handler Report(msg_t *msg_p) {
io_putf("Update.Report: eventCount = %w\n", eventCount);
eventCount = 0;
}
task Update(void) {
task_setHandler(2, Observe, Report);
eventCount = 0;
loop {
/* give a fair access by rotating interrupt priorities */
task_enableWait(NO_TIMEOUT, 2, OBSERVE, REPORT);
task_enableWait(NO_TIMEOUT, 2, REPORT, OBSERVE);
}
}