From 0681f9c5df9c10e58b86099a91803258187116b9 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Tue, 16 Feb 2016 11:23:02 -0800 Subject: [PATCH] Init message queues in M0 event dispatcher. --- firmware/application/event_m0.cpp | 13 ++++++++++++- firmware/application/event_m0.hpp | 2 ++ firmware/application/main.cpp | 2 -- firmware/common/portapack_shared_memory.hpp | 11 ----------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/firmware/application/event_m0.cpp b/firmware/application/event_m0.cpp index dc557397..c4ab32a7 100644 --- a/firmware/application/event_m0.cpp +++ b/firmware/application/event_m0.cpp @@ -65,6 +65,8 @@ EventDispatcher::EventDispatcher( painter(painter), context(context) { + init_message_queues(); + thread_event_loop = chThdSelf(); touch_manager.on_event = [this](const ui::TouchEvent event) { this->on_touch_event(event); @@ -241,4 +243,13 @@ void EventDispatcher::event_bubble_encoder(const ui::EncoderEvent event) { while( (target != nullptr) && !target->on_encoder(event) ) { target = target->parent(); } -} \ No newline at end of file +} + +void EventDispatcher::init_message_queues() { + new (&shared_memory.baseband_queue) MessageQueue( + shared_memory.baseband_queue_data, SharedMemory::baseband_queue_k + ); + new (&shared_memory.application_queue) MessageQueue( + shared_memory.application_queue_data, SharedMemory::application_queue_k + ); +} diff --git a/firmware/application/event_m0.hpp b/firmware/application/event_m0.hpp index d8b1b396..414a3a62 100644 --- a/firmware/application/event_m0.hpp +++ b/firmware/application/event_m0.hpp @@ -105,6 +105,8 @@ private: bool event_bubble_key(const ui::KeyEvent event); void event_bubble_encoder(const ui::EncoderEvent event); + + void init_message_queues(); }; #endif/*__EVENT_M0_H__*/ diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index 24040b92..bc37759f 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -63,8 +63,6 @@ int main(void) { sdcStart(&SDCD1, nullptr); - init_message_queues(); - ui::Context context; ui::SystemView system_view { context, diff --git a/firmware/common/portapack_shared_memory.hpp b/firmware/common/portapack_shared_memory.hpp index f7c11d0c..b7b97f39 100644 --- a/firmware/common/portapack_shared_memory.hpp +++ b/firmware/common/portapack_shared_memory.hpp @@ -48,15 +48,4 @@ struct SharedMemory { extern SharedMemory& shared_memory; -#if defined(LPC43XX_M0) -inline void init_message_queues() { - new (&shared_memory.baseband_queue) MessageQueue( - shared_memory.baseband_queue_data, SharedMemory::baseband_queue_k - ); - new (&shared_memory.application_queue) MessageQueue( - shared_memory.application_queue_data, SharedMemory::application_queue_k - ); -} -#endif - #endif/*__PORTAPACK_SHARED_MEMORY_H__*/