Merge wio-tracker-l1-improvements into font-experiments

- DataStore.cpp: persist auto_lock setting across reboots
- MyMeshBot.h: fix bot responding when disabled (missing bot_enabled check)
- QuickMsgScreen.h: fix msg buffer too small for 140-byte templates
- DisplayDriver.h: add European language transliterations (kept for non-Lemon displays)
- FullscreenMsgView.h: keep pixel-accurate word-wrap (font-experiments)
- SettingsScreen.h: keep dynamic layout via _vis/_item_h (font-experiments)
- UITask.cpp: remove stale placeholder comment

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-05-18 10:04:56 +02:00
5 changed files with 54 additions and 3 deletions

View File

@@ -283,6 +283,9 @@ void DataStore::loadPrefsInt(const char *filename, NodePrefs& _prefs, double& no
file.read((uint8_t *)&_prefs.ch_notif_melody_2, sizeof(_prefs.ch_notif_melody_2));
if (file.available()) {
file.read((uint8_t *)_prefs.dm_melody, sizeof(_prefs.dm_melody));
if (file.available()) {
file.read((uint8_t *)&_prefs.auto_lock, sizeof(_prefs.auto_lock));
}
}
}
}
@@ -371,6 +374,7 @@ void DataStore::savePrefs(const NodePrefs& _prefs, double node_lat, double node_
file.write((uint8_t *)&_prefs.ch_notif_melody_set, sizeof(_prefs.ch_notif_melody_set));
file.write((uint8_t *)&_prefs.ch_notif_melody_2, sizeof(_prefs.ch_notif_melody_2));
file.write((uint8_t *)_prefs.dm_melody, sizeof(_prefs.dm_melody));
file.write((uint8_t *)&_prefs.auto_lock, sizeof(_prefs.auto_lock));
file.close();
}

View File

@@ -35,7 +35,7 @@ void MyMesh::tryBotReplyDM(const ContactInfo& from, const char* text) {
}
void MyMesh::tryBotReplyChannel(uint8_t channel_idx, const char* text) {
if (!(_prefs.bot_channel_enabled && _prefs.bot_trigger[0] && _prefs.bot_reply_ch[0] &&
if (!(_prefs.bot_enabled && _prefs.bot_channel_enabled && _prefs.bot_trigger[0] && _prefs.bot_reply_ch[0] &&
channel_idx == _prefs.bot_channel_idx &&
millis() - _bot_last_ch_reply_ms > 10000UL))
return;

View File

@@ -1059,7 +1059,7 @@ public:
NodePrefs* p = _task->getNodePrefs();
int slot = _active_msgs[_msg_sel - 1];
const char* tmpl = p ? p->custom_msgs[slot] : "OK";
char msg[80];
char msg[140];
expandMsg(tmpl, msg, sizeof(msg));
bool ok = sendText(msg);
afterSend(ok, msg);

View File

@@ -117,7 +117,6 @@ static const uint16_t HP_ALL = 0x01FF;
#include "KeyboardWidget.h"
#include "FullscreenMsgView.h"
#include "SensorPlaceholders.h"
// placeholder to find end of conflict
#include "SettingsScreen.h"
#include "QuickMsgScreen.h"