Correct switch to PKT on control packet
parent
9d9f780264
commit
c0c509cabf
|
@ -26,5 +26,5 @@
|
|||
#define ERROR_QUEUE_FULL 0x04
|
||||
|
||||
//Data control frames, ported from Direwolf
|
||||
#define T_PKT 0xaa
|
||||
#define T_PKT 0x03
|
||||
#define R_PKT 0xa6
|
||||
|
|
|
@ -127,13 +127,20 @@ String decode_kiss(const String &inputKISSTNCFrame, bool &dataFrame, bool &pktFr
|
|||
|
||||
if (validateKISSFrame(inputKISSTNCFrame)) {
|
||||
dataFrame = inputKISSTNCFrame.charAt(1) == CMD_DATA;
|
||||
pktFrame = inputKISSTNCFrame.charAt(2) == T_PKT;
|
||||
if (dataFrame && pktFrame) {
|
||||
for (int i = 0; i < inputKISSTNCFrame.length(); ++i)
|
||||
{
|
||||
char currentChar = inputKISSTNCFrame.charAt(i);
|
||||
if (currentChar == (char) T_PKT)
|
||||
{
|
||||
pktFrame = true;
|
||||
}
|
||||
}
|
||||
if (dataFrame && !pktFrame) {
|
||||
String ax25Frame = decapsulateKISS(inputKISSTNCFrame);
|
||||
delay(250);
|
||||
TNC2Frame += ax25Frame;
|
||||
}
|
||||
else if (dataFrame){
|
||||
else if (dataFrame && pktFrame){
|
||||
String ax25Frame = decapsulateKISS(inputKISSTNCFrame);
|
||||
bool isLast = false;
|
||||
String dst_addr = decode_address_ax25(ax25Frame.substring(0, 7), isLast, false);
|
||||
|
|
Loading…
Reference in New Issue