Started writing (copying...) AFSK RX

Encoders: removed bit duration setting (frame duration is more useful)
This commit is contained in:
furrtek
2017-08-29 09:42:04 +01:00
parent cd6a1a7f3f
commit 42439d1885
23 changed files with 453 additions and 423 deletions

View File

@@ -71,12 +71,13 @@ public:
CaptureThreadDone = 18,
ReplayConfig = 19,
ReplayThreadDone = 20,
AFSKRxConfigure = 21,
TXDone = 30,
Retune = 31,
TonesConfigure = 32,
AFSKConfigure = 33,
AFSKTxConfigure = 33,
PWMRSSIConfigure = 34,
OOKConfigure = 35,
RDSConfigure = 36,
@@ -93,11 +94,12 @@ public:
POCSAGPacket = 50,
ADSBFrame = 51,
AFSKData = 52,
RequestSignal = 52,
FIFOData = 53,
RequestSignal = 60,
FIFOData = 61,
AudioLevel = 54,
AudioLevelReport = 70,
MAX
};
@@ -331,6 +333,18 @@ public:
adsb::ADSBFrame frame;
};
class AFSKDataMessage : public Message {
public:
constexpr AFSKDataMessage(
const uint_fast8_t byte
) : Message { ID::AFSKData },
byte { byte }
{
}
uint_fast8_t byte;
};
class ShutdownMessage : public Message {
public:
constexpr ShutdownMessage(
@@ -598,7 +612,17 @@ public:
bool done = false;
};
class AFSKRxConfigureMessage : public Message {
public:
constexpr AFSKRxConfigureMessage(
const uint32_t bitrate
) : Message { ID::AFSKRxConfigure },
bitrate(bitrate)
{
}
const uint32_t bitrate;
};
class PWMRSSIConfigureMessage : public Message {
public:
@@ -665,10 +689,10 @@ public:
uint32_t range = 0;
};
class AudioLevelMessage : public Message {
class AudioLevelReportMessage : public Message {
public:
constexpr AudioLevelMessage(
) : Message { ID::AudioLevel }
constexpr AudioLevelReportMessage(
) : Message { ID::AudioLevelReport }
{
}
@@ -729,16 +753,16 @@ public:
const uint32_t tone_delta;
};
class AFSKConfigureMessage : public Message {
class AFSKTxConfigureMessage : public Message {
public:
constexpr AFSKConfigureMessage(
constexpr AFSKTxConfigureMessage(
const uint32_t samples_per_bit,
const uint32_t phase_inc_mark,
const uint32_t phase_inc_space,
const uint8_t repeat,
const uint32_t fm_delta,
const uint8_t symbol_count
) : Message { ID::AFSKConfigure },
) : Message { ID::AFSKTxConfigure },
samples_per_bit(samples_per_bit),
phase_inc_mark(phase_inc_mark),
phase_inc_space(phase_inc_space),

View File

@@ -64,6 +64,7 @@ private:
};
constexpr image_tag_t image_tag_adsb_rx { 'P', 'A', 'D', 'R' };
constexpr image_tag_t image_tag_afsk_rx { 'P', 'A', 'F', 'R' };
constexpr image_tag_t image_tag_ais { 'P', 'A', 'I', 'S' };
constexpr image_tag_t image_tag_am_audio { 'P', 'A', 'M', 'A' };
constexpr image_tag_t image_tag_capture { 'P', 'C', 'A', 'P' };
@@ -76,7 +77,7 @@ constexpr image_tag_t image_tag_wideband_spectrum { 'P', 'S', 'P', 'E' };
constexpr image_tag_t image_tag_jammer { 'P', 'J', 'A', 'M' };
constexpr image_tag_t image_tag_audio_tx { 'P', 'A', 'T', 'X' };
constexpr image_tag_t image_tag_afsk { 'P', 'A', 'F', 'S' };
constexpr image_tag_t image_tag_afsk { 'P', 'A', 'F', 'T' };
constexpr image_tag_t image_tag_tones { 'P', 'T', 'O', 'N' };
constexpr image_tag_t image_tag_rds { 'P', 'R', 'D', 'S' };
constexpr image_tag_t image_tag_ook { 'P', 'O', 'O', 'K' };