From 3eb831d7e1fb069615fd7f3bf57f36279eaab24f Mon Sep 17 00:00:00 2001 From: jgromes Date: Sun, 28 Nov 2021 22:54:20 +0100 Subject: [PATCH] [AX.25] Added APRS classes --- src/protocols/AX25/AX25.cpp | 10 +++++++++- src/protocols/AX25/AX25.h | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/protocols/AX25/AX25.cpp b/src/protocols/AX25/AX25.cpp index e844cdf0..87d97864 100644 --- a/src/protocols/AX25/AX25.cpp +++ b/src/protocols/AX25/AX25.cpp @@ -366,7 +366,7 @@ int16_t AX25Client::sendFrame(AX25Frame* frame) { } else { stuffedFrameBuff[stuffedFrameBuffLen - 1] = RADIOLIB_AX25_FLAG; } - + // convert to NRZI for(size_t i = _preambleLen + 1; i < stuffedFrameBuffLen*8; i++) { size_t currBitPos = i + 7 - 2*(i%8); @@ -431,6 +431,14 @@ int16_t AX25Client::sendFrame(AX25Frame* frame) { return(state); } +void AX25Client::getCallsign(char* buff) { + strncpy(buff, _srcCallsign, RADIOLIB_AX25_MAX_CALLSIGN_LEN); +} + +uint8_t AX25Client::getSSID() { + return(_srcSSID); +} + /* CCITT CRC implementation based on https://github.com/kicksat/ax25 diff --git a/src/protocols/AX25/AX25.h b/src/protocols/AX25/AX25.h index a6e870cc..afc110b4 100644 --- a/src/protocols/AX25/AX25.h +++ b/src/protocols/AX25/AX25.h @@ -345,6 +345,8 @@ class AX25Client { #if !defined(RADIOLIB_GODMODE) private: #endif + friend class APRSClient; + PhysicalLayer* _phy; #if !defined(RADIOLIB_EXCLUDE_AFSK) AFSKClient* _audio; @@ -357,6 +359,9 @@ class AX25Client { uint16_t _preambleLen = 0; static uint16_t getFrameCheckSequence(uint8_t* buff, size_t len); + + void getCallsign(char* buff); + uint8_t getSSID(); }; #endif