mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2024-12-14 04:04:34 +00:00
Hide some M0 EventDispatcher event masks.
This commit is contained in:
parent
dbc2a5c9ea
commit
f731366248
@ -38,12 +38,9 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
constexpr auto EVT_MASK_RTC_TICK = EVENT_MASK(0);
|
|
||||||
constexpr auto EVT_MASK_LCD_FRAME_SYNC = EVENT_MASK(1);
|
|
||||||
constexpr auto EVT_MASK_SWITCHES = EVENT_MASK(3);
|
constexpr auto EVT_MASK_SWITCHES = EVENT_MASK(3);
|
||||||
constexpr auto EVT_MASK_ENCODER = EVENT_MASK(4);
|
constexpr auto EVT_MASK_ENCODER = EVENT_MASK(4);
|
||||||
constexpr auto EVT_MASK_TOUCH = EVENT_MASK(5);
|
constexpr auto EVT_MASK_TOUCH = EVENT_MASK(5);
|
||||||
constexpr auto EVT_MASK_APPLICATION = EVENT_MASK(6);
|
|
||||||
|
|
||||||
class EventDispatcher {
|
class EventDispatcher {
|
||||||
public:
|
public:
|
||||||
@ -63,6 +60,14 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void event_isr_rtc_tick() {
|
||||||
|
events_flag_isr(EVT_MASK_RTC_TICK);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void event_isr_lcd_frame_sync() {
|
||||||
|
events_flag_isr(EVT_MASK_LCD_FRAME_SYNC);
|
||||||
|
}
|
||||||
|
|
||||||
static inline void events_flag(const eventmask_t events) {
|
static inline void events_flag(const eventmask_t events) {
|
||||||
if( thread_event_loop ) {
|
if( thread_event_loop ) {
|
||||||
chEvtSignal(thread_event_loop, events);
|
chEvtSignal(thread_event_loop, events);
|
||||||
@ -80,6 +85,10 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static constexpr auto EVT_MASK_RTC_TICK = EVENT_MASK(0);
|
||||||
|
static constexpr auto EVT_MASK_LCD_FRAME_SYNC = EVENT_MASK(1);
|
||||||
|
static constexpr auto EVT_MASK_APPLICATION = EVENT_MASK(6);
|
||||||
|
|
||||||
static MessageHandlerMap message_map_;
|
static MessageHandlerMap message_map_;
|
||||||
static Thread* thread_event_loop;
|
static Thread* thread_event_loop;
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ CH_IRQ_HANDLER(PIN_INT4_IRQHandler) {
|
|||||||
CH_IRQ_PROLOGUE();
|
CH_IRQ_PROLOGUE();
|
||||||
|
|
||||||
chSysLockFromIsr();
|
chSysLockFromIsr();
|
||||||
EventDispatcher::events_flag_isr(EVT_MASK_LCD_FRAME_SYNC);
|
EventDispatcher::event_isr_lcd_frame_sync();
|
||||||
chSysUnlockFromIsr();
|
chSysUnlockFromIsr();
|
||||||
|
|
||||||
LPC_GPIO_INT->IST = (1U << 4);
|
LPC_GPIO_INT->IST = (1U << 4);
|
||||||
|
@ -39,7 +39,7 @@ CH_IRQ_HANDLER(RTC_IRQHandler) {
|
|||||||
CH_IRQ_PROLOGUE();
|
CH_IRQ_PROLOGUE();
|
||||||
|
|
||||||
chSysLockFromIsr();
|
chSysLockFromIsr();
|
||||||
EventDispatcher::events_flag_isr(EVT_MASK_RTC_TICK);
|
EventDispatcher::event_isr_rtc_tick();
|
||||||
chSysUnlockFromIsr();
|
chSysUnlockFromIsr();
|
||||||
|
|
||||||
rtc::interrupt::clear_all();
|
rtc::interrupt::clear_all();
|
||||||
|
Loading…
Reference in New Issue
Block a user