ble frame decoding fail1

This commit is contained in:
richonguzman 2023-11-29 10:31:29 -03:00
parent a90a568da0
commit 33ae9d21d3
3 changed files with 24 additions and 7 deletions

View File

@ -34,7 +34,7 @@ TinyGPSPlus gps;
BluetoothSerial SerialBT;
OneButton userButton = OneButton(BUTTON_PIN, true, true);
String versionDate = "2023.11.28";
String versionDate = "2023.11.29";
int myBeaconsIndex = 0;
int myBeaconsSize = Config.beacons.size();

View File

@ -85,6 +85,7 @@ namespace AX25_Utils {
}
String encodeFrame(String frame) {
Serial.println(frame);//
String packet = "";
String address;
int ssid;
@ -98,10 +99,15 @@ namespace AX25_Utils {
address = frameCleaning(frame);
ssid = 0;
}
Serial.println(address);//
Serial.println(address.length());//
for (int j=0;j<6;j++) {
//Serial.println(address[j]);
char c = address[j];
packet += c<<1;
//Serial.print(c<<1, HEX);
}
Serial.println(packet.length());//
packet += ssid << 1;
return packet;
}
@ -109,24 +115,30 @@ namespace AX25_Utils {
String LoRaPacketToAX25Frame(String packet) {
String encodedPacket = "";
String payload = packet.substring(packet.indexOf(":")+1);
//Serial.println(payload);
String temp = packet.substring(packet.indexOf(">")+1, packet.indexOf(":"));
if (temp.indexOf(",")!=-1) { // tocall
//Serial.println(temp);
Serial.println(encodedPacket.length());//
if (temp.indexOf(",")>0) { // tocall
encodedPacket = encodeFrame(temp.substring(0,temp.indexOf(",")));
temp = temp.substring(temp.indexOf(",")+1);
} else {
encodedPacket = encodeFrame(temp);
temp = "";
}
encodedPacket += encodeFrame(packet.substring(3,packet.indexOf(">"))); // sender
if (temp.length() > 0) { // si hay mas paths
Serial.println(encodedPacket.length());//
encodedPacket += encodeFrame(packet.substring(0,packet.indexOf(">"))); // sender
Serial.println(encodedPacket.length());//
/*if (temp.length() > 0) { // si hay mas paths
// aqui el encode para los restantes path
}
}*/
encodedPacket += char(0x03);
encodedPacket += char(0xF0);
Serial.println(encodedPacket.length());//
encodedPacket += packet.substring(packet.indexOf(":")+1); // payload
Serial.println(encodedPacket.length());//
Serial.println(encodedPacket);//
return encodedPacket;
}

View File

@ -118,6 +118,10 @@ namespace BLE_Utils {
txBLE((byte)KissSpecialCharacter::Tfesc);
} else {
pCharacteristicTx->setValue(&_c, 1);
//
Serial.print(_c, HEX);
Serial.print(" ");
//
pCharacteristicTx->notify();
delay(3);
}
@ -132,6 +136,7 @@ namespace BLE_Utils {
for (int i=0; i<packet.length();i++) {
receivedPacketString += packet[i];
}
//Serial.println(receivedPacketString);
String AX25Frame = AX25_Utils::LoRaPacketToAX25Frame(receivedPacketString);
Serial.println(AX25Frame);
txToPhoneOverBLE(AX25Frame);