messages on TFT fix

This commit is contained in:
richonguzman 2024-08-16 13:38:57 -04:00
parent 2552b83627
commit dd2e778228
4 changed files with 45 additions and 2 deletions

View File

@ -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);
}
}

View File

@ -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

View File

@ -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

View File

@ -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);
}