Remove "K" parameter from FIFO template.

This commit is contained in:
Jared Boone 2016-02-10 10:41:06 -08:00
parent dfbcf5bc75
commit d125a5c662
5 changed files with 39 additions and 15 deletions

View file

@ -23,6 +23,7 @@
#define __PORTAPACK_SHARED_MEMORY_H__
#include <cstdint>
#include <cstddef>
#include "message_queue.hpp"
@ -32,8 +33,13 @@ struct TouchADCFrame {
/* NOTE: These structures must be located in the same location in both M4 and M0 binaries */
struct SharedMemory {
MessageQueue<12> baseband_queue;
MessageQueue<11> application_queue;
static constexpr size_t baseband_queue_k = 12;
static constexpr size_t application_queue_k = 11;
MessageQueue baseband_queue;
uint8_t baseband_queue_data[1 << baseband_queue_k];
MessageQueue application_queue;
uint8_t application_queue_data[1 << application_queue_k];
// TODO: M0 should directly configure and control DMA channel that is
// acquiring ADC samples.
@ -44,8 +50,12 @@ extern SharedMemory& shared_memory;
#if defined(LPC43XX_M0)
inline void init_message_queues() {
new (&shared_memory.baseband_queue) MessageQueue<12>();
new (&shared_memory.application_queue) MessageQueue<11>();
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