mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-12-25 15:29:37 -05:00
Added switching message length
Improves detections in test file from 77 to 80
This commit is contained in:
parent
b499380448
commit
0d7bbac6a1
@ -54,7 +54,7 @@ void ADSBRXProcessor::execute(const buffer_c8_t& buffer) {
|
|||||||
|
|
||||||
// 1 bit lasts 2 samples
|
// 1 bit lasts 2 samples
|
||||||
if (sample_count & 1) {
|
if (sample_count & 1) {
|
||||||
if (bit_count >= 112)
|
if (bit_count >= msgLen)
|
||||||
{
|
{
|
||||||
const ADSBFrameMessage message(frame);
|
const ADSBFrameMessage message(frame);
|
||||||
shared_memory.application_queue.push(message);
|
shared_memory.application_queue.push(message);
|
||||||
@ -80,6 +80,10 @@ void ADSBRXProcessor::execute(const buffer_c8_t& buffer) {
|
|||||||
if (!(bit_count & 7)) {
|
if (!(bit_count & 7)) {
|
||||||
// Got one byte
|
// Got one byte
|
||||||
frame.push_byte(byte);
|
frame.push_byte(byte);
|
||||||
|
// Check at the end of the first byte of the message
|
||||||
|
if ( (bit_count == 8) && !(byte & (0x10<<3)) ) {
|
||||||
|
msgLen = 56; // DFs 16 or greater are long 112. DFs 15 or less are short 56.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} // Second sample of each bit
|
} // Second sample of each bit
|
||||||
sample_count++;
|
sample_count++;
|
||||||
@ -126,6 +130,7 @@ void ADSBRXProcessor::execute(const buffer_c8_t& buffer) {
|
|||||||
{
|
{
|
||||||
//if (c == ADSB_PREAMBLE_LENGTH) {
|
//if (c == ADSB_PREAMBLE_LENGTH) {
|
||||||
decoding = true;
|
decoding = true;
|
||||||
|
msgLen = 112;
|
||||||
sample_count = 0;
|
sample_count = 0;
|
||||||
bit_count = 0;
|
bit_count = 0;
|
||||||
frame.clear();
|
frame.clear();
|
||||||
|
@ -53,6 +53,7 @@ private:
|
|||||||
float threshold { }, threshold_low { }, threshold_high { };
|
float threshold { }, threshold_low { }, threshold_high { };
|
||||||
//size_t null_count{ 0 };
|
//size_t null_count{ 0 };
|
||||||
size_t bit_count { 0 }, sample_count { 0 };
|
size_t bit_count { 0 }, sample_count { 0 };
|
||||||
|
size_t msgLen{ 112 };
|
||||||
//std::pair<float, uint8_t> shifter[ADSB_PREAMBLE_LENGTH];
|
//std::pair<float, uint8_t> shifter[ADSB_PREAMBLE_LENGTH];
|
||||||
float shifter[ADSB_PREAMBLE_LENGTH];
|
float shifter[ADSB_PREAMBLE_LENGTH];
|
||||||
bool decoding { };
|
bool decoding { };
|
||||||
|
Loading…
Reference in New Issue
Block a user