killing digirepeater word
This commit is contained in:
parent
e8dd7243d7
commit
98aa145da5
|
|
@ -101,7 +101,7 @@ ____________________________________________________
|
||||||
- 2023.12.06 T-Beam V1.2 as default board.
|
- 2023.12.06 T-Beam V1.2 as default board.
|
||||||
- 2023.12.05 Updated packets recognition (+Objects + Mic-E).
|
- 2023.12.05 Updated packets recognition (+Objects + Mic-E).
|
||||||
- 2023.11.28 Adding BLE connection to use it as TNC with APRS.fi app for iOS.
|
- 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.11.07 Digipeater Mode added in Emergency Menu.
|
||||||
- 2023.10.23 COMPLETE New Menu for Keyboard add-on.
|
- 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.07 Screen Brightness control added.
|
||||||
|
|
|
||||||
|
|
@ -281,8 +281,6 @@ document.getElementById('reboot').addEventListener('click', function (e) {
|
||||||
|
|
||||||
//const bmeCheckbox = document.querySelector("input[name='bme.active']");
|
//const bmeCheckbox = document.querySelector("input[name='bme.active']");
|
||||||
|
|
||||||
const stationModeSelect = document.querySelector("select[name='stationMode']");
|
|
||||||
|
|
||||||
function toggleFields() {
|
function toggleFields() {
|
||||||
/*
|
/*
|
||||||
// Display - timeout box enable
|
// Display - timeout box enable
|
||||||
|
|
|
||||||
|
|
@ -267,7 +267,7 @@ namespace APRSPacketLib {
|
||||||
return packetToRepeat;
|
return packetToRepeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
String generateDigiRepeatedPacket(const String& packet, const String &callsign, const String& path) {
|
String generateDigipeatedPacket(const String& packet, const String &callsign, const String& path) {
|
||||||
bool thirdParty = false;
|
bool thirdParty = false;
|
||||||
|
|
||||||
int firstColonIndex = packet.indexOf(":");
|
int firstColonIndex = packet.indexOf(":");
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ namespace APRSPacketLib {
|
||||||
String generateMessagePacket(const String& callsign, const String& tocall, const String& path, const String& addressee, const String& message);
|
String generateMessagePacket(const String& callsign, const String& tocall, const String& path, const String& addressee, const String& message);
|
||||||
|
|
||||||
String buildDigiPacket(const String& packet, const String& callsign, const String& path, bool thirdParty);
|
String buildDigiPacket(const String& packet, const String& callsign, const String& path, bool thirdParty);
|
||||||
String generateDigiRepeatedPacket(const String& packet, const String &callsign, const String& path);
|
String generateDigipeatedPacket(const String& packet, const String &callsign, const String& path);
|
||||||
|
|
||||||
char *ax25_base91enc(char *s, uint8_t n, uint32_t v);
|
char *ax25_base91enc(char *s, uint8_t n, uint32_t v);
|
||||||
String encodeGPS(float latitude, float longitude, float course, float speed, const String& symbol, bool sendAltitude, int altitude, bool sendStandingUpdate, const String& packetType);
|
String encodeGPS(float latitude, float longitude, float course, float speed, const String& symbol, bool sendAltitude, int altitude, bool sendStandingUpdate, const String& packetType);
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ TinyGPSPlus gps;
|
||||||
OneButton userButton = OneButton(BUTTON_PIN, true, true);
|
OneButton userButton = OneButton(BUTTON_PIN, true, true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
String versionDate = "2024.10.30";
|
String versionDate = "2024.11.06";
|
||||||
|
|
||||||
uint8_t myBeaconsIndex = 0;
|
uint8_t myBeaconsIndex = 0;
|
||||||
int myBeaconsSize = Config.beacons.size();
|
int myBeaconsSize = Config.beacons.size();
|
||||||
|
|
@ -88,7 +88,7 @@ double lastTxDistance = 0.0;
|
||||||
uint32_t menuTime = millis();
|
uint32_t menuTime = millis();
|
||||||
|
|
||||||
bool flashlight = false;
|
bool flashlight = false;
|
||||||
bool digirepeaterActive = false;
|
bool digipeaterActive = false;
|
||||||
bool sosActive = false;
|
bool sosActive = false;
|
||||||
|
|
||||||
bool miceActive = false;
|
bool miceActive = false;
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ extern String messageCallsign;
|
||||||
extern String messageText;
|
extern String messageText;
|
||||||
extern bool sendStandingUpdate;
|
extern bool sendStandingUpdate;
|
||||||
extern bool flashlight;
|
extern bool flashlight;
|
||||||
extern bool digirepeaterActive;
|
extern bool digipeaterActive;
|
||||||
extern bool sosActive;
|
extern bool sosActive;
|
||||||
extern uint8_t winlinkStatus;
|
extern uint8_t winlinkStatus;
|
||||||
extern String winlinkMailNumber;
|
extern String winlinkMailNumber;
|
||||||
|
|
@ -452,14 +452,14 @@ namespace KEYBOARD_Utils {
|
||||||
displayShow("__EXTRAS__", ""," Flashlight","NOT ACTIVE IN CONFIG!", "", "", 2000);
|
displayShow("__EXTRAS__", ""," Flashlight","NOT ACTIVE IN CONFIG!", "", "", 2000);
|
||||||
}
|
}
|
||||||
} else if (menuDisplay == 61) {
|
} else if (menuDisplay == 61) {
|
||||||
if (digirepeaterActive) {
|
if (digipeaterActive) {
|
||||||
displayShow("__EXTRAS__", ""," DigiRepeater"," Status --> OFF", "", "", 2000);
|
displayShow("__EXTRAS__", ""," Digipeater"," Status --> OFF", "", "", 2000);
|
||||||
logger.log(logging::LoggerLevel::LOGGER_LEVEL_WARN, "Main", "%s", "DigiRepeater OFF");
|
logger.log(logging::LoggerLevel::LOGGER_LEVEL_WARN, "Main", "%s", "Digipeater OFF");
|
||||||
digirepeaterActive = false;
|
digipeaterActive = false;
|
||||||
} else {
|
} else {
|
||||||
displayShow("__EXTRAS__", ""," DigiRepeater"," Status --> ON","", "", 2000);
|
displayShow("__EXTRAS__", ""," Digipeater"," Status --> ON","", "", 2000);
|
||||||
logger.log(logging::LoggerLevel::LOGGER_LEVEL_WARN, "Main", "%s", "DigiRepeater ON");
|
logger.log(logging::LoggerLevel::LOGGER_LEVEL_WARN, "Main", "%s", "Digipeater ON");
|
||||||
digirepeaterActive = true;
|
digipeaterActive = true;
|
||||||
}
|
}
|
||||||
} else if (menuDisplay == 62) {
|
} else if (menuDisplay == 62) {
|
||||||
if (sosActive) {
|
if (sosActive) {
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ extern bool keyDetected;
|
||||||
extern String messageCallsign;
|
extern String messageCallsign;
|
||||||
extern String messageText;
|
extern String messageText;
|
||||||
extern bool flashlight;
|
extern bool flashlight;
|
||||||
extern bool digirepeaterActive;
|
extern bool digipeaterActive;
|
||||||
extern bool sosActive;
|
extern bool sosActive;
|
||||||
extern bool bluetoothActive;
|
extern bool bluetoothActive;
|
||||||
extern bool displayEcoMode;
|
extern bool displayEcoMode;
|
||||||
|
|
@ -482,16 +482,16 @@ namespace MENU_Utils {
|
||||||
|
|
||||||
//////////
|
//////////
|
||||||
case 60: // 6. Extras ---> Flashlight
|
case 60: // 6. Extras ---> Flashlight
|
||||||
displayShow("__EXTRAS__", "> Flashlight (" + checkProcessActive(flashlight) + ")", " DigiRepeater (" + checkProcessActive(digirepeaterActive) + ")", " S.O.S. (" + checkProcessActive(sosActive) + ")"," Send GPS + Comment",lastLine);
|
displayShow("__EXTRAS__", "> Flashlight (" + checkProcessActive(flashlight) + ")", " Digipeater (" + checkProcessActive(digipeaterActive) + ")", " S.O.S. (" + checkProcessActive(sosActive) + ")"," Send GPS + Comment",lastLine);
|
||||||
break;
|
break;
|
||||||
case 61: // 6. Extras ---> Digirepeater
|
case 61: // 6. Extras ---> Digipeater
|
||||||
displayShow("__EXTRAS__", " Flashlight (" + checkProcessActive(flashlight) + ")", "> DigiRepeater (" + checkProcessActive(digirepeaterActive) + ")", " S.O.S. (" + checkProcessActive(sosActive) + ")"," Send GPS + Comment",lastLine);
|
displayShow("__EXTRAS__", " Flashlight (" + checkProcessActive(flashlight) + ")", "> Digipeater (" + checkProcessActive(digipeaterActive) + ")", " S.O.S. (" + checkProcessActive(sosActive) + ")"," Send GPS + Comment",lastLine);
|
||||||
break;
|
break;
|
||||||
case 62: // 6. Extras ---> S.O.S.
|
case 62: // 6. Extras ---> S.O.S.
|
||||||
displayShow("__EXTRAS__", " Flashlight (" + checkProcessActive(flashlight) + ")", " DigiRepeater (" + checkProcessActive(digirepeaterActive) + ")", "> S.O.S. (" + checkProcessActive(sosActive) + ")"," Send GPS + Comment",lastLine);
|
displayShow("__EXTRAS__", " Flashlight (" + checkProcessActive(flashlight) + ")", " Digipeater (" + checkProcessActive(digipeaterActive) + ")", "> S.O.S. (" + checkProcessActive(sosActive) + ")"," Send GPS + Comment",lastLine);
|
||||||
break;
|
break;
|
||||||
case 63: // 6. Extras ---> Extra Comment.
|
case 63: // 6. Extras ---> Extra Comment.
|
||||||
displayShow("__EXTRAS__", " Flashlight (" + checkProcessActive(flashlight) + ")", " DigiRepeater (" + checkProcessActive(digirepeaterActive) + ")", " S.O.S. (" + checkProcessActive(sosActive) + ")","> Send GPS + Comment",lastLine);
|
displayShow("__EXTRAS__", " Flashlight (" + checkProcessActive(flashlight) + ")", " Digipeater (" + checkProcessActive(digipeaterActive) + ")", " S.O.S. (" + checkProcessActive(sosActive) + ")","> Send GPS + Comment",lastLine);
|
||||||
break;
|
break;
|
||||||
case 630:
|
case 630:
|
||||||
if (messageText.length() <= 67) {
|
if (messageText.length() <= 67) {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ extern uint32_t menuTime;
|
||||||
extern bool messageLed;
|
extern bool messageLed;
|
||||||
extern uint32_t messageLedTime;
|
extern uint32_t messageLedTime;
|
||||||
|
|
||||||
extern bool digirepeaterActive;
|
extern bool digipeaterActive;
|
||||||
|
|
||||||
extern int ackRequestNumber;
|
extern int ackRequestNumber;
|
||||||
|
|
||||||
|
|
@ -418,13 +418,13 @@ namespace MSG_Utils {
|
||||||
|
|
||||||
if (check25SegBuffer(lastReceivedPacket.sender, lastReceivedPacket.message)) {
|
if (check25SegBuffer(lastReceivedPacket.sender, lastReceivedPacket.message)) {
|
||||||
|
|
||||||
if (digirepeaterActive && lastReceivedPacket.addressee != currentBeacon->callsign) {
|
if (digipeaterActive && lastReceivedPacket.addressee != currentBeacon->callsign) {
|
||||||
String digiRepeatedPacket = APRSPacketLib::generateDigiRepeatedPacket(packet.text, currentBeacon->callsign, Config.path);
|
String digipeatedPacket = APRSPacketLib::generateDigipeatedPacket(packet.text, currentBeacon->callsign, Config.path);
|
||||||
if (digiRepeatedPacket == "X") {
|
if (digipeatedPacket == "X") {
|
||||||
logger.log(logging::LoggerLevel::LOGGER_LEVEL_WARN, "Main", "%s", "Packet won't be Repeated (Missing WIDEn-N)");
|
logger.log(logging::LoggerLevel::LOGGER_LEVEL_WARN, "Main", "%s", "Packet won't be Repeated (Missing WIDEn-N)");
|
||||||
} else {
|
} else {
|
||||||
delay(500);
|
delay(500);
|
||||||
LoRa_Utils::sendNewPacket(digiRepeatedPacket);
|
LoRa_Utils::sendNewPacket(digipeatedPacket);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lastHeardTracker = lastReceivedPacket.sender;
|
lastHeardTracker = lastReceivedPacket.sender;
|
||||||
|
|
@ -541,7 +541,7 @@ namespace MSG_Utils {
|
||||||
if ((lastReceivedPacket.type == 0 || lastReceivedPacket.type == 4) && !Config.simplifiedTrackerMode) {
|
if ((lastReceivedPacket.type == 0 || lastReceivedPacket.type == 4) && !Config.simplifiedTrackerMode) {
|
||||||
GPS_Utils::calculateDistanceCourse(lastReceivedPacket.sender, lastReceivedPacket.latitude, lastReceivedPacket.longitude);
|
GPS_Utils::calculateDistanceCourse(lastReceivedPacket.sender, lastReceivedPacket.latitude, lastReceivedPacket.longitude);
|
||||||
}
|
}
|
||||||
if (Config.notification.buzzerActive && Config.notification.stationBeep && !digirepeaterActive) {
|
if (Config.notification.buzzerActive && Config.notification.stationBeep && !digipeaterActive) {
|
||||||
NOTIFICATION_Utils::stationHeardBeep();
|
NOTIFICATION_Utils::stationHeardBeep();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ int shutDownSound[] = {1720, 880, 400};
|
||||||
uint8_t shutDownSoundDuration[] = {60, 60, 200};
|
uint8_t shutDownSoundDuration[] = {60, 60, 200};
|
||||||
|
|
||||||
extern Configuration Config;
|
extern Configuration Config;
|
||||||
extern bool digirepeaterActive;
|
extern bool digipeaterActive;
|
||||||
|
|
||||||
namespace NOTIFICATION_Utils {
|
namespace NOTIFICATION_Utils {
|
||||||
|
|
||||||
|
|
@ -28,7 +28,7 @@ namespace NOTIFICATION_Utils {
|
||||||
void beaconTxBeep() {
|
void beaconTxBeep() {
|
||||||
digitalWrite(Config.notification.buzzerPinVcc, HIGH);
|
digitalWrite(Config.notification.buzzerPinVcc, HIGH);
|
||||||
playTone(1320,100);
|
playTone(1320,100);
|
||||||
if (digirepeaterActive) {
|
if (digipeaterActive) {
|
||||||
playTone(1560,100);
|
playTone(1560,100);
|
||||||
}
|
}
|
||||||
digitalWrite(Config.notification.buzzerPinVcc, LOW);
|
digitalWrite(Config.notification.buzzerPinVcc, LOW);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue