33 enum class EventType : uint8_t
44 encoderActivityChanged,
52 enum class ActivityType : uint8_t
70 uint16_t numSuccessivePresses;
94 ActivityType newActivityType;
95 } asEncoderActivityChanged;
108 ActivityType newActivityType;
109 } asPotActivityChanged;
118 uint16_t numSuccessivePresses,
119 bool isRetriggering =
false)
122 e.type = Event::EventType::buttonPressed;
123 e.asButtonPressed.id = buttonID;
124 e.asButtonPressed.numSuccessivePresses = numSuccessivePresses;
125 e.asButtonPressed.isRetriggering = isRetriggering;
134 m.type = Event::EventType::buttonReleased;
135 m.asButtonReleased.id = buttonID;
143 uint16_t stepsPerRev)
146 e.type = Event::EventType::encoderTurned;
147 e.asEncoderTurned.id = encoderID;
148 e.asEncoderTurned.increments = increments;
149 e.asEncoderTurned.stepsPerRev = stepsPerRev;
158 e.type = Event::EventType::encoderActivityChanged;
159 e.asEncoderActivityChanged.id = encoderId;
160 e.asEncoderActivityChanged.newActivityType
161 = isActive ? Event::ActivityType::active
162 : Event::ActivityType::inactive;
171 e.type = Event::EventType::potMoved;
172 e.asPotMoved.id = potId;
173 e.asPotMoved.newPosition = newPosition;
182 e.type = Event::EventType::potActivityChanged;
183 e.asPotActivityChanged.id = potId;
184 e.asPotActivityChanged.newActivityType
185 = isActive ? Event::ActivityType::active
186 : Event::ActivityType::inactive;
198 m.type = Event::EventType::invalid;
bool PushBack(const T &elementToAdd)
Definition FIFO.h:49
T PopFront()
Definition FIFO.h:101
bool IsEmpty() const
Definition FIFO.h:165
struct __attribute__((packed)) PCA9685TransmitBuffer
Definition leddriver.h:36
Definition scopedirqblocker.h:15
A queue that holds user input events in the UI system.
Definition UiEventQueue.h:18
static constexpr uint16_t invalidPotId
Definition UiEventQueue.h:27
struct __attribute__((packed)) Event
Definition UiEventQueue.h:30
void AddEncoderActivityChanged(uint16_t encoderId, bool isActive)
Definition UiEventQueue.h:155
~UiEventQueue()
Definition UiEventQueue.h:114
void AddEncoderTurned(uint16_t encoderID, int16_t increments, uint16_t stepsPerRev)
Definition UiEventQueue.h:141
bool IsQueueEmpty()
Definition UiEventQueue.h:208
void AddButtonReleased(uint16_t buttonID)
Definition UiEventQueue.h:131
void AddPotMoved(uint16_t potId, float newPosition)
Definition UiEventQueue.h:168
Event GetAndRemoveNextEvent()
Definition UiEventQueue.h:192
static constexpr uint16_t invalidEncoderId
Definition UiEventQueue.h:24
UiEventQueue()
Definition UiEventQueue.h:113
static constexpr uint16_t invalidButtonId
Definition UiEventQueue.h:21
void AddPotActivityChanged(uint16_t potId, bool isActive)
Definition UiEventQueue.h:179
void AddButtonPressed(uint16_t buttonID, uint16_t numSuccessivePresses, bool isRetriggering=false)
Definition UiEventQueue.h:117
Hardware defines and helpers for daisy field platform.
Definition index.h:2