mirror of
https://github.com/g4klx/MMDVM.git
synced 2026-04-07 15:36:21 +00:00
Make sure downsampler always buffers 22 samples at a time
This commit is contained in:
parent
0fad84b46d
commit
a0a3080da2
4 changed files with 77 additions and 44 deletions
|
|
@ -23,16 +23,22 @@
|
|||
#include "Config.h"
|
||||
#include "RingBuffer.h"
|
||||
|
||||
struct TSamplePairPack {
|
||||
uint8_t byte0;
|
||||
uint8_t byte1;
|
||||
uint8_t byte2;
|
||||
};
|
||||
|
||||
class CFMDownsampler {
|
||||
public:
|
||||
CFMDownsampler(uint16_t length);
|
||||
void addSample(q15_t sample);
|
||||
bool getPackedData(uint8_t& data);
|
||||
bool getPackedData(TSamplePairPack& data);
|
||||
uint16_t getData();
|
||||
void reset();
|
||||
|
||||
private:
|
||||
CRingBuffer<uint8_t> m_ringBuffer;
|
||||
CRingBuffer<TSamplePairPack> m_ringBuffer;
|
||||
|
||||
uint32_t m_samplePack;
|
||||
uint32_t *m_samplePackPointer;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue