New and Improved BLE App. (#1524)

* First BLE work

* Adding new fsk proc WIP

* Reverting ble stuff

* Initial compile working

* more work.

* Adding waterfall for debug

* more edits to debug

* Work to get widgets to show.

* cleanup before attempting diff fsk modulation method

* Temporary debug to learn how decimation scales.

* Tab view for console and spectrum. Spectrum still not working right.

* Fixed spectrum offset.

* Added audio sampling rate increments to freqman

* Added overriding range for frequency field and working off  deviation

* BLE cleanup. Got PDU parsing.

* Parsing CRC

* forgot :

* Removing AA again because cluttering UI

* fix compile

* attempt at throttling.

* WIP changes.

* Decimating by 4 to handle issue with overloading.

* Attempt to parse MAC still needs work.

* Small fixes. MAC still wrong.

* Fixed invalid indexing on Symbols.

* List view of BLE Mac Addresses

* Added Channel Option and improved GUI header.

* renaming to dB and fixing some warnings.

* Advertisements only.

* Initial cut of BLE Advertisement scan app.

* Copyrights

* formatting correctly in association to clang13

* Fixing warning and hiding fsk rx.

* spacing

* Removing some cmake install files that weren't suppose to be there.

* missed some.

* Added name to about.

* Edits for PR review pt.1

* Refactor ORing with 0 doesn't make sense.

* remove  parenthesis

* More PR Review changes.

* Fix compiler error.

* PR Review edits.

* PR review changes.

* Fixes.

* Unneeded ;

* Update ui_about_simple.cpp

---------

Co-authored-by: jLynx <admin@jlynx.net>
This commit is contained in:
Netro 2023-10-23 01:58:14 -04:00 committed by GitHub
parent 0feacfa102
commit b96f14762f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 2228 additions and 245 deletions

View file

@ -112,6 +112,8 @@ class Message {
SpectrumPainterBufferRequestConfigure = 55,
SpectrumPainterBufferResponseConfigure = 56,
POCSAGStats = 57,
FSKRxConfigure = 58,
BlePacket = 58,
MAX
};
@ -400,6 +402,26 @@ class AFSKDataMessage : public Message {
uint32_t value;
};
struct BlePacketData {
int max_dB;
uint8_t type;
uint8_t size;
uint8_t macAddress[6];
uint8_t data[40];
uint8_t dataLen;
};
class BLEPacketMessage : public Message {
public:
constexpr BLEPacketMessage(
BlePacketData* packet)
: Message{ID::BlePacket},
packet{packet} {
}
BlePacketData* packet{nullptr};
};
class CodedSquelchMessage : public Message {
public:
constexpr CodedSquelchMessage(
@ -726,20 +748,11 @@ class APRSRxConfigureMessage : public Message {
class BTLERxConfigureMessage : public Message {
public:
constexpr BTLERxConfigureMessage(
const uint32_t baudrate,
const uint32_t word_length,
const uint32_t trigger_value,
const bool trigger_word)
const uint8_t channel_number)
: Message{ID::BTLERxConfigure},
baudrate(baudrate),
word_length(word_length),
trigger_value(trigger_value),
trigger_word(trigger_word) {
channel_number(channel_number) {
}
const uint32_t baudrate;
const uint32_t word_length;
const uint32_t trigger_value;
const bool trigger_word;
const uint8_t channel_number;
};
class NRFRxConfigureMessage : public Message {
@ -1013,6 +1026,29 @@ class FSKConfigureMessage : public Message {
const uint32_t progress_notice;
};
class FSKRxConfigureMessage : public Message {
public:
constexpr FSKRxConfigureMessage(
const fir_taps_real<24> decim_0_filter,
const fir_taps_real<32> decim_1_filter,
const fir_taps_real<32> channel_filter,
const size_t channel_decimation,
const size_t deviation)
: Message{ID::FSKRxConfigure},
decim_0_filter(decim_0_filter),
decim_1_filter(decim_1_filter),
channel_filter(channel_filter),
channel_decimation{channel_decimation},
deviation{deviation} {
}
const fir_taps_real<24> decim_0_filter;
const fir_taps_real<32> decim_1_filter;
const fir_taps_real<32> channel_filter;
const size_t channel_decimation;
const size_t deviation;
};
class POCSAGConfigureMessage : public Message {
public:
constexpr POCSAGConfigureMessage()