Заготовка под PacketMode, пока костыльная и нерабочая, еще думаю над реализацией
parent
95e8d50abc
commit
5ebdb602c3
|
@ -66,6 +66,13 @@ String encode_kiss(const String &tnc2FormattedFrame) {
|
|||
return kissFrame;
|
||||
}
|
||||
|
||||
//Zaglyshka
|
||||
String encode_kiss_2(const String &inputKISSTNCFrame, bool &rawFrame) {
|
||||
Serial.print(inputKISSTNCFrame);
|
||||
String kissFrame = "";
|
||||
return kissFrame;
|
||||
}
|
||||
|
||||
String encapsulateKISS(const String &ax25Frame, uint8_t TNCCmd) {
|
||||
String kissFrame = "";
|
||||
kissFrame += (char) FEND; // start of frame
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#define IS_LAST_ADDRESS_POSITION_MASK 0b1
|
||||
|
||||
String encode_kiss(const String& tnc2FormattedFrame);
|
||||
String encode_kiss_2(const String &inputKISSTNCFrame, bool &rawFrame);
|
||||
String decode_kiss(const String &inputKISSTNCFrame, bool &dataFrame);
|
||||
|
||||
String encapsulateKISS(const String &ax25Frame, uint8_t TNCCmd);
|
|
@ -45,6 +45,22 @@ void handleKISSData(char character, int bufferIndex) {
|
|||
}
|
||||
inTNCData->clear();
|
||||
}
|
||||
//Send raw packets for bbs
|
||||
if (character == (char)0x04 && inTNCData->length() > 3) {
|
||||
bool isRawFrame = false;
|
||||
const String &TNC2DataFrame = encode_kiss_2(*inTNCData, isRawFrame);
|
||||
if (isRawFrame) {
|
||||
auto *buffer = new String();
|
||||
buffer->concat(TNC2DataFrame);
|
||||
Serial.print(TNC2DataFrame);
|
||||
if (xQueueSend(tncToSendQueue, &buffer, (1000 / portTICK_PERIOD_MS)) != pdPASS) {
|
||||
delete buffer;
|
||||
}
|
||||
}
|
||||
inTNCData->clear();
|
||||
return;
|
||||
}
|
||||
|
||||
if (inTNCData->length() > 255){
|
||||
// just in case of garbage input reset data
|
||||
inTNCData->clear();
|
||||
|
|
Loading…
Reference in New Issue