6#include "freertos/FreeRTOS.h"
7#include "freertos/timers.h"
49 uint32_t barrierTimeoutMs = 2000,
50 uint32_t validationTimeMs = 500);
94 void TEST_forceBarrierTimeout() {
97 void TEST_forceValidationTimeout() {
98 onValidationTimeout();
103 void onLightBarrierBlocked(
const Event& event);
104 void onLightBarrierCleared(
const Event& event);
105 void onBarrierTimeout();
106 void onValidationTimeout();
109 void startBarrierTimer();
110 void stopBarrierTimer();
111 void startValidationTimer();
112 void stopValidationTimer();
114 static void barrierTimerCallback(TimerHandle_t xTimer);
115 static void validationTimerCallback(TimerHandle_t xTimer);
122 uint32_t m_barrierTimeoutMs;
123 uint32_t m_validationTimeMs;
124 uint32_t m_currentTicketId;
125 TimerHandle_t m_barrierTimer;
126 TimerHandle_t m_validationTimer;
ExitGateState
Exit gate state machine states.
Definition ExitGateController.h:13
Exit gate controller with state machine.
Definition ExitGateController.h:35
~ExitGateController()
Definition ExitGateController.cpp:46
ExitGateController(const ExitGateController &)=delete
const char * getStateString() const
Get state as string.
Definition ExitGateController.cpp:78
void setupGpioInterrupts()
Setup GPIO interrupts Call this after construction to enable hardware interrupts.
Definition ExitGateController.cpp:55
IGate & getGate()
Get gate reference (for debugging/console commands)
Definition ExitGateController.h:71
void reset()
Reset controller to initial state Stops timers, resets state to Idle, clears current ticket,...
Definition ExitGateController.cpp:59
ExitGateState getState() const
Get current state.
Definition ExitGateController.h:61
ExitGateController & operator=(const ExitGateController &)=delete
bool validateTicketManually(uint32_t ticketId)
Manually validate ticket (for console commands)
Definition ExitGateController.cpp:138
Interface for event bus.
Definition IEventBus.h:12
Gate interface for barrier control abstraction.
Definition IGate.h:9
Interface for ticket service.
Definition ITicketService.h:13
Event structure.
Definition Event.h:45