messages on TFT fix
This commit is contained in:
parent
2552b83627
commit
dd2e778228
|
|
@ -336,3 +336,33 @@ void startupScreen(uint8_t index, const String& version) {
|
|||
logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "RichonGuzman (CA2RXU) --> LoRa APRS Tracker/Station");
|
||||
logger.log(logging::LoggerLevel::LOGGER_LEVEL_INFO, "Main", "Version: %s", version);
|
||||
}
|
||||
|
||||
String fillMessageLine(const String& line, const int& length) {
|
||||
String completeLine = line;
|
||||
for (int i = 0; completeLine.length() <= length; i++) {
|
||||
completeLine = completeLine + " ";
|
||||
}
|
||||
return completeLine;
|
||||
}
|
||||
|
||||
void displayMessage(const String& sender, const String& message, const int& lineLength, bool next, int wait) {
|
||||
String messageLine1, messageLine2, messageLine3;
|
||||
int messageLength = message.length();
|
||||
|
||||
if (message.length() > 0) {
|
||||
messageLine1 = message.substring(0, min(lineLength, messageLength));
|
||||
if (messageLength > lineLength) {
|
||||
messageLine2 = message.substring(lineLength, min(2 * lineLength, messageLength));
|
||||
if (messageLength > 2 * lineLength) {
|
||||
messageLine3 = message.substring(2 * lineLength);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (next) {
|
||||
String nextLine = fillMessageLine("Next=Down", lineLength);
|
||||
displayShow("MSG_APRS>", "From --> " + sender, fillMessageLine(messageLine1, lineLength), fillMessageLine(messageLine2, lineLength), fillMessageLine(messageLine3, lineLength), nextLine);
|
||||
} else {
|
||||
displayShow("< MSG Rx >", "From --> " + sender, "", fillMessageLine(messageLine1, lineLength) , fillMessageLine(messageLine2, lineLength), fillMessageLine(messageLine3, lineLength), wait);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -10,4 +10,6 @@ void displayShow(const String& header, const String& line1, const String& line2,
|
|||
|
||||
void startupScreen(uint8_t index, const String& version);
|
||||
|
||||
void displayMessage(const String& sender, const String& message, const int& lineLength, bool next, int wait = 0);
|
||||
|
||||
#endif
|
||||
|
|
@ -122,7 +122,12 @@ namespace MENU_Utils {
|
|||
{
|
||||
String msgSender = loadedAPRSMessages[messagesIterator].substring(0, loadedAPRSMessages[messagesIterator].indexOf(","));
|
||||
String msgText = loadedAPRSMessages[messagesIterator].substring(loadedAPRSMessages[messagesIterator].indexOf(",") + 1);
|
||||
displayShow("MSG_APRS>", "From --> " + msgSender, msgText, "", "", " Next=Down");
|
||||
|
||||
#ifdef HAS_TFT
|
||||
displayMessage(msgSender, msgText, 26, true);
|
||||
#else
|
||||
displayShow("MSG_APRS>", "From --> " + msgSender, msgText, "", "", " Next=Down");
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case 11: // 1.Messages ---> Messages Write
|
||||
|
|
|
|||
|
|
@ -532,7 +532,13 @@ namespace MSG_Utils {
|
|||
} else {
|
||||
if (!Config.simplifiedTrackerMode) {
|
||||
lastMsgRxTime = millis();
|
||||
displayShow("< MSG Rx >", "From --> " + lastReceivedPacket.sender, "", lastReceivedPacket.message , "", "", 3000);
|
||||
|
||||
#ifdef HAS_TFT
|
||||
displayMessage(lastReceivedPacket.sender,lastReceivedPacket.message, 26, false, 3000);
|
||||
#else
|
||||
displayShow("< MSG Rx >", "From --> " + lastReceivedPacket.sender, "", lastReceivedPacket.message , "", "", 3000);
|
||||
#endif
|
||||
|
||||
if (lastReceivedPacket.message.indexOf("ack") != 0) {
|
||||
saveNewMessage(0, lastReceivedPacket.sender, lastReceivedPacket.message);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue