Move FIFO and write size to CaptureConfig structure.

Now configured from baseband, where write size and appropriate FIFO size is known.
This commit is contained in:
Jared Boone
2016-04-26 22:26:30 -07:00
parent 01fc6b9bc9
commit 91ee2dbb67
13 changed files with 71 additions and 32 deletions

View File

@@ -411,7 +411,18 @@ public:
};
struct CaptureConfig {
FIFO<uint8_t>* fifo { nullptr };
const size_t write_size_log2;
const size_t buffer_count_log2;
FIFO<uint8_t>* fifo;
constexpr CaptureConfig(
const size_t write_size_log2,
const size_t buffer_count_log2
) : write_size_log2 { write_size_log2 },
buffer_count_log2 { buffer_count_log2 },
fifo { nullptr }
{
}
};
class CaptureConfigMessage : public Message {

View File

@@ -70,6 +70,10 @@ public:
}
}
bool is_empty() const {
return fifo.is_empty();
}
private:
FIFO<uint8_t> fifo;
Mutex mutex_write;
@@ -92,10 +96,6 @@ private:
return fifo.len();
}
bool is_empty() const {
return fifo.is_empty();
}
bool push(const void* const buf, const size_t len) {
chMtxLock(&mutex_write);
const auto result = fifo.in_r(buf, len);