diff --git a/README.md b/README.md index cd02aca..de4caf6 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ ____________________________________________________ - Led Notifications for Tx and Messages Received. - Sound Notifications with YL44 Buzzer Module. - Wx data with BME280 Module showed on Screen and transmited as Wx Telemetry. +- Winlink Mails through APRSLink. ____________________________________________________ @@ -54,6 +55,7 @@ ____________________________________________________ ____________________________________________________ ## Timeline (Versions): +- 2024.02.21 Winlink Mails through APRSLink ( https://www.winlink.org/APRSLink ) - 2024.01.26 Added Helmut OE5HWN MeshCom PCB support. - 2024.01.18 BME modules have now a single reading per minute. - 2024.01.05 Added HELTEC V3 with NEO8M GPS. Thanks Asbjørn LA1HSA. @@ -62,7 +64,7 @@ ____________________________________________________ - 2023.12.27 Added Led-Flashlight like Baofeng UV5R Led. - 2023.12.27 Added LoRa APRS Packet Decoder to Stations Menu. - 2023.12.26 Added BME680 (to the already BME/BMP280) support for Wx Telemetry Tx. -- 2023.12.22 Added APRSThrusday on Messages Menu to parcitipate from this exercise (https://aprsph.net/aprsthursday/) +- 2023.12.22 Added APRSThrusday on Messages Menu to parcitipate from this exercise ( https://aprsph.net/aprsthursday/ ) - 2023.12.19 Added support for T-Beam V1.2 with Neo8M GPS and SX1262 LoRa Modules. - 2023.12.18 Added Mic-E encoding and decoding. - 2023.12.12 Added BMP280 (to the already BME280) support for Wx Telemetry Tx. @@ -74,7 +76,7 @@ ____________________________________________________ - 2023.11.28 Adding BLE connection to use it as TNC with APRS.fi app for iOS. - 2023.11.07 DigiRepeater Mode added in Emergency Menu. - 2023.10.23 COMPLETE New Menu for Keyboard add-on. -- 2023.10.22 Added Keyboard Support over I2C (CARDKB from https://m5stack.com) +- 2023.10.22 Added Keyboard Support over I2C ( CARDKB from https://m5stack.com ) - 2023.10.07 Screen Brightness control added. - 2023.10.01 Added Wx Telemetry Tx with BME280 Module attached to Tracker. - 2023.09.28 Added Support for V.1 board with SX1268 LoRa Module. diff --git a/src/LoRa_APRS_Tracker.cpp b/src/LoRa_APRS_Tracker.cpp index fece096..fd905e9 100644 --- a/src/LoRa_APRS_Tracker.cpp +++ b/src/LoRa_APRS_Tracker.cpp @@ -49,7 +49,7 @@ BluetoothSerial SerialBT; OneButton userButton = OneButton(BUTTON_PIN, true, true); #endif -String versionDate = "2024.02.20"; +String versionDate = "2024.02.21"; int myBeaconsIndex = 0; int myBeaconsSize = Config.beacons.size(); diff --git a/src/keyboard_utils.cpp b/src/keyboard_utils.cpp index 821f437..3cd6a88 100644 --- a/src/keyboard_utils.cpp +++ b/src/keyboard_utils.cpp @@ -91,10 +91,10 @@ namespace KEYBOARD_Utils { } } - else if (menuDisplay >= 50 && menuDisplay <= 52) { + else if (menuDisplay >= 50 && menuDisplay <= 53) { menuDisplay--; if (menuDisplay < 50) { - menuDisplay = 52; + menuDisplay = 53; } } else if (menuDisplay == 5000 || menuDisplay == 5010 || menuDisplay == 5020 || menuDisplay == 5030 || menuDisplay == 5040 || menuDisplay == 5050 || menuDisplay == 5060 || menuDisplay == 5070 || menuDisplay == 5080) { menuDisplay = menuDisplay - 10; @@ -195,9 +195,9 @@ namespace KEYBOARD_Utils { menuDisplay = 4; } - else if (menuDisplay >= 50 && menuDisplay <= 52) { + else if (menuDisplay >= 50 && menuDisplay <= 53) { menuDisplay++; - if (menuDisplay > 52) { + if (menuDisplay > 53) { menuDisplay = 50; } } else if (menuDisplay == 5000 || menuDisplay == 5010 || menuDisplay == 5020 || menuDisplay == 5030 || menuDisplay == 5040 || menuDisplay == 5050 || menuDisplay == 5060 || menuDisplay == 5070 || menuDisplay == 5080) { @@ -260,7 +260,7 @@ namespace KEYBOARD_Utils { } else if (menuDisplay == 1300 || menuDisplay == 1310) { messageText = ""; menuDisplay = menuDisplay/10; - } else if ((menuDisplay>=10 && menuDisplay<=13) || (menuDisplay>=20 && menuDisplay<=29) || (menuDisplay == 120) || (menuDisplay>=130 && menuDisplay<=133) || (menuDisplay>=50 && menuDisplay<=52) || (menuDisplay>=200 && menuDisplay<=290) || (menuDisplay>=60 && menuDisplay<=63) || (menuDisplay>=30 && menuDisplay<=31) || (menuDisplay>=300 && menuDisplay<=310) || (menuDisplay == 40)) { + } else if ((menuDisplay>=10 && menuDisplay<=13) || (menuDisplay>=20 && menuDisplay<=29) || (menuDisplay == 120) || (menuDisplay>=130 && menuDisplay<=133) || (menuDisplay>=50 && menuDisplay<=53) || (menuDisplay>=200 && menuDisplay<=290) || (menuDisplay>=60 && menuDisplay<=63) || (menuDisplay>=30 && menuDisplay<=31) || (menuDisplay>=300 && menuDisplay<=310) || (menuDisplay == 40)) { menuDisplay = int(menuDisplay/10); } else if (menuDisplay == 5000 || menuDisplay == 5010 || menuDisplay == 5020 || menuDisplay == 5030 || menuDisplay == 5040 || menuDisplay == 5050 || menuDisplay == 5060 || menuDisplay == 5070 || menuDisplay == 5080) { menuDisplay = 5; @@ -382,6 +382,11 @@ namespace KEYBOARD_Utils { } } else if (menuDisplay == 52) { menuDisplay = 50111; + } else if (menuDisplay == 53) { + String packet = APRSPacketLib::generateGPSBeaconPacket(currentBeacon->callsign, "APLRT1", Config.path, currentBeacon->overlay, APRSPacketLib::encondeGPS(gps.location.lat(),gps.location.lng(), gps.course.deg(), gps.speed.knots(), currentBeacon->symbol, Config.sendAltitude, gps.altitude.feet(), sendStandingUpdate, "GPS")); + packet += "winlink"; + show_display("<<< TX >>>", "", packet,100); + LoRa_Utils::sendNewPacket(packet); } else if (menuDisplay == 5000) { MSG_Utils::sendMessage(1, "WLNK-1", "L"); } else if (menuDisplay == 5010) { diff --git a/src/menu_utils.cpp b/src/menu_utils.cpp index d9805fc..0207fae 100644 --- a/src/menu_utils.cpp +++ b/src/menu_utils.cpp @@ -317,14 +317,17 @@ namespace MENU_Utils { if (winlinkStatus == 5) { menuDisplay = 5000; } else { - show_display("_WINLINK_>", "> Login" , " Read SavedMails(" + String(MSG_Utils::getNumWLNKMails()) + ")", " Delete SavedMails", "" , lastLine); + show_display("_WINLINK_>", "> Login" , " Read SavedMails(" + String(MSG_Utils::getNumWLNKMails()) + ")", " Delete SavedMails", " Quick Check" , lastLine); } break; case 51: // 5.Winlink - show_display("_WINLINK_>", " Login" , "> Read SavedMails(" + String(MSG_Utils::getNumWLNKMails()) + ")", " Delete SavedMails", "" , lastLine); + show_display("_WINLINK_>", " Login" , "> Read SavedMails(" + String(MSG_Utils::getNumWLNKMails()) + ")", " Delete SavedMails", " Quick Check" , lastLine); break; case 52: // 5.Winlink - show_display("_WINLINK_>", " Login" , " Read SavedMails(" + String(MSG_Utils::getNumWLNKMails()) + ")", "> Delete SavedMails", "" , lastLine); + show_display("_WINLINK_>", " Login" , " Read SavedMails(" + String(MSG_Utils::getNumWLNKMails()) + ")", "> Delete SavedMails", " Quick Check" , lastLine); + break; + case 53: // 5.Winlink + show_display("_WINLINK_>", " Login" , " Read SavedMails(" + String(MSG_Utils::getNumWLNKMails()) + ")", " Delete SavedMails", "> Quick Check" , lastLine); break; case 500: // 5.Winlink ---> Login diff --git a/src/msg_utils.cpp b/src/msg_utils.cpp index 8e267c2..fa3038a 100644 --- a/src/msg_utils.cpp +++ b/src/msg_utils.cpp @@ -377,14 +377,6 @@ namespace MSG_Utils { } } } - - /// DEBUG ONLY ///// soon to be deleted - uint64_t recepcion = millis(); - Serial.print(lastReceivedPacket.sender);Serial.print(" "); - Serial.print(lastReceivedPacket.message);Serial.print(" "); - Serial.println(recepcion); - /// DEBUG ONLY ///// soon to be deleted - } }