Esnure frame size is 84 samples, correctly report space as number of frames

This commit is contained in:
Geoffrey Merck 2020-05-31 21:50:06 +02:00
parent 1ed3a4c9d5
commit 4f060c0047
1 changed files with 6 additions and 4 deletions

10
FM.cpp
View File

@ -20,9 +20,11 @@
#include "Globals.h" #include "Globals.h"
#include "FM.h" #include "FM.h"
const uint16_t FM_TX_BLOCK_SIZE = 100U; const uint16_t FM_TX_BLOCK_SIZE = 100U;
const uint16_t FM_SERIAL_BLOCK_SIZE = 42U;//this is actually the number of sample pairs to send over serial. One sample pair is 3bytes. const uint16_t FM_SERIAL_BLOCK_SIZE = 84U;//this is the number of sample pairs to send over serial. One sample pair is 3bytes.
//three times this value shall never exceed 126 ! //three times this value shall never exceed 252
const uint16_t FM_SERIAL_BLOCK_SIZE_BYTES = FM_SERIAL_BLOCK_SIZE * 3U;
CFM::CFM() : CFM::CFM() :
m_callsign(), m_callsign(),
@ -721,8 +723,8 @@ void CFM::beginRelaying()
uint8_t CFM::getSpace() const uint8_t CFM::getSpace() const
{ {
// The amount of free space for receiving external audio, in bytes. // The amount of free space for receiving external audio, in frames.
return m_inputExtRB.getSpace(); return m_inputExtRB.getSpace() / FM_SERIAL_BLOCK_SIZE_BYTES;
} }
uint8_t CFM::writeData(const uint8_t* data, uint8_t length) uint8_t CFM::writeData(const uint8_t* data, uint8_t length)