From 7aab0ef049d62d84f65a0b1b52ef17a37a29be20 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Thu, 31 Aug 2023 20:01:39 +0200 Subject: [PATCH] add resurrect for alive checker --- 306-controller_interface.X/middleware/alive.c | 8 ++++++-- 306-controller_interface.X/middleware/alive.h | 11 ++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/306-controller_interface.X/middleware/alive.c b/306-controller_interface.X/middleware/alive.c index 146e9f3..674e32e 100644 --- a/306-controller_interface.X/middleware/alive.c +++ b/306-controller_interface.X/middleware/alive.c @@ -80,8 +80,8 @@ bool ALIVE_processEvent(Event* ev) { break; case STAL_DEAD: - if (ev->id == evALborn) { - me->state = STAL_BORN; + if (ev->id == evALresurrect) { + me->state = STAL_SETUP; } break; @@ -238,6 +238,10 @@ void ALIVE_emitStart(ALIVE* me, uint16_t t, int64_t data) { POST(me, &ALIVE_processEvent, evALstart, t, data); } +void ALIVE_emitResurrect(ALIVE* me, uint16_t t, int64_t data) { + POST(me, &ALIVE_processEvent, evALresurrect, t, data); +} + /*********** * SETTERS * ***********/ diff --git a/306-controller_interface.X/middleware/alive.h b/306-controller_interface.X/middleware/alive.h index 749d9a9..580e735 100644 --- a/306-controller_interface.X/middleware/alive.h +++ b/306-controller_interface.X/middleware/alive.h @@ -25,7 +25,8 @@ typedef enum { evALborn, evALready, evALpoll, - evALstart + evALstart, + evALresurrect } ALIVE_EVENTS; typedef void (*ALIVE_CALLBACK_FUNCTION)(void*); @@ -162,6 +163,14 @@ void ALIVE_emitPoll(ALIVE* me, uint16_t t, int64_t data); */ void ALIVE_emitStart(ALIVE* me, uint16_t t, int64_t data); +/** + * Emit the resurrect event + * @param me the ALIVE itself + * @param t time to wait in ms before triggering event + * @param data data to put on the event for XF + */ +void ALIVE_emitResurrect(ALIVE* me, uint16_t t, int64_t data); + /*********** * SETTERS *