2515 Commits

Author SHA1 Message Date
pelgraine
6360a167c5 Merge branch 'dev' v1.7 disregard 2026-04-19 21:04:09 +10:00
pelgraine
ca5283af4f update readme, particularly licence section 2026-04-19 21:03:31 +10:00
pelgraine
b42291c5fc fix bubble display t5s3 for channel picker 2026-04-19 21:02:47 +10:00
pelgraine
8f0d961048 update readme for v1.7 updates 2026-04-19 20:54:13 +10:00
pelgraine
27e8b8422b Merge branch 'dev' 2026-04-19 20:42:45 +10:00
pelgraine
b57e000496 fix: remove BLE sync marking channels as read (regression from Feb).
The markChannelReadFromBLE() calls in the CMD_SYNC_NEXT_MESSAGE handler were marking channels and DMs as read the moment the BLE companion app synced them from the offline queue. Since the app drains the entire queue automatically on connect, this had the effect of clearing all unread indicators on the device as soon as BLE connected — before the user had actually read anything in either the app or on the device.
The MeshCore BLE protocol has no "user opened this channel" command from the app side; CMD_SYNC_NEXT_MESSAGE is an automatic bulk pull, so "synced to app" ≠ "read by user." Removed the channel and DM mark-read calls so unread counts only clear when the user navigates to that channel on the device itself. The msgRead() progress counter (syncing X messages) is unaffected.
2026-04-19 20:41:06 +10:00
pelgraine
f449385e8f Merge branch 'dev' :) 2026-04-19 20:30:15 +10:00
pelgraine
31ac732f08 fix bug where channels imported from older config files displayed gibberish in channel scope under settingsscreen even when region scope not set; fix bug where after device clock sync advert times last heard weren't displaying correctly (ie showed 16895h) 2026-04-19 20:23:12 +10:00
pelgraine
46413b9858 add serial command support for regions, update serial settings guide 2026-04-19 19:53:45 +10:00
pelgraine
ce6acdfd34 temp cmd 54 support 2026-04-19 19:40:03 +10:00
pelgraine
81b3cd2591 try and improve key responsiveness/debounce in compose mode; fix crowding in channel screen navbar text in tiny font mode 2026-04-19 18:36:25 +10:00
pelgraine
5c275a8c23 Regions - including settings nudge to remind user if no default nor channel region set. Set region by typing custom entry 2026-04-19 18:17:25 +10:00
pelgraine
b536e24f8e fix word wrapping ereader for larger custom font selection 2026-04-19 17:57:29 +10:00
pelgraine
5b38b713da fix home screen ui display when montserrat or notosans selected; fix word wrap display for other fonts in tiny mode for ereader 2026-04-19 17:27:48 +10:00
pelgraine
3e6bcfb031 updated loading splash screen for spiffs failure message first time flashers 2026-04-19 16:03:37 +10:00
pelgraine
49f1d91c15 tdpro - fixed notes screen touch recog and file open bug 2026-04-19 15:55:47 +10:00
pelgraine
8e3a09e3b1 added channel picker screen as messages home screen view; fixed battery curve reading to better reflect actual charge state (4200 to 4160); patched clock sync to throw out garbage rtc when device has been powered off for a while & now syncs on ble app connection: more font style customisation; nav bar hint text reduced when larger fonts are selected; ensured font style persists across reboots 2026-04-19 15:37:52 +10:00
pelgraine
1c4d5a0daa updated readme for clarity, esp re meck remote wifi repeaters functionality 2026-04-12 23:20:11 +10:00
pelgraine
df6c977ee4 updated readme 2026-04-12 23:13:27 +10:00
pelgraine
7e9e69dd67 renamed WIP folders 2026-04-12 23:06:31 +10:00
pelgraine
6d7fd54b83 reordered emojis and improved scrolling in tdpro emojipicker; build emoji picker functionality into vkb for t5s3 2026-04-12 22:01:17 +10:00
pelgraine
d2ce070a3f fix wifi companion builds sync bug & add planning for future 1000+ contacts load 2026-04-12 21:04:35 +10:00
pelgraine
44b68c40af tdpro platformio - removed unncessary helpers/esp32/SerialBLEInterface.cpp from build filters for wifi and standalone envs 2026-04-12 20:52:31 +10:00
pelgraine
a4e8c31a16 fiiiiixed the contacts add and delete and toggle fav issues for real this time 2026-04-12 20:42:45 +10:00
pelgraine
8d69b69e1f fix contact limits in readme 2026-04-12 18:22:35 +10:00
pelgraine
0c032429eb Added new emoji to emoji picker; bug fixes for larger battery capacities recognition regression; updated readme for clarity on contacts add; updated firmware version; fix stupid blob storage size & buffer issue so now you can add contacts from last heard finally!!! Updated readme accordingly 2026-04-12 18:15:33 +10:00
pelgraine
c578dcadc8 T5S3 - fixed touch selector fav contacts bug
TDPro - Update firmware build date

Contactsscreen.h — five changes:

- EPOCH_2026 = 1735689600UL constant added (Jan 1 2026 UTC), used in sort
  and formatAge.

- typeChar replaced by typeStr returning const char*, with "RS" for room
  servers (previously "S", easily confused with sensors). prefix buffer
  bumped to [5], all three snprintf calls updated to %s.

- Hop display: out_path_len == 0xFF branch now performs a live lookup
  against the 12 most recently heard advert paths (via
  getRecentlyHeard). Matches on first 7 bytes of pub_key, extracts hop
  count with a bph-aware sanity cap (64/bph max) to reject impossible
  values. Shows "~D" for direct flood neighbours, "~N" for N-hop flood
  path, "?" if not in the recent-heard cache. Resets to "?" on reboot
  until each contact re-advertises — intentional, ensures hop count is
  always fresh.

- Sort: _filteredTs now stores contact.lastmod (our local receive time)
  instead of contact.last_advert_timestamp (sender's claimed time).
  lastmod values below EPOCH_2026 are stored as 0 so stale repeaters
  with unsynced clocks and contacts received before our own timesync
  sink to the bottom of the list.

- formatAge rewritten: rejects timestamp == 0, timestamp < EPOCH_2026,
  and now < timestamp (all show "--" instead of wrapping or displaying
  garbage). Arithmetic changed from int to uint32_t, eliminating the
  signed overflow path that produced negative hour values. Age display
  call site switched from last_advert_timestamp to lastmod, so display
  self-corrects after a GPS or 4G timesync.
2026-04-12 12:44:10 +10:00
pelgraine
ec42ac73a8 removed non-Meck v4 build 2026-04-12 09:25:38 +10:00
pelgraine
aacf8c777f prelim techo card WIP files while I wait for hardware to arrive. claude putting excessive comments in platformio descriptors 2026-04-12 09:24:37 +10:00
pelgraine
570776478c merge tdeck pro max WIP variant into dev 2026-04-12 09:01:22 +10:00
pelgraine
4c654c99c6 remote wifi repeater updates - removed unnecessary envs for v4; setup v3 for remote wifi repeater role 2026-04-11 09:58:50 +10:00
pelgraine
f436f5ba50 t5s3 contact limit fix 2026-04-09 12:18:29 +10:00
pelgraine
0252204d73 cpu fix for heltec v4 remote repeater build headless 2026-04-08 20:51:44 +10:00
pelgraine
9c4c4d2e03 Merge pull request #6 from pelgraine/dev
Dev
2026-04-07 20:06:51 +10:00
pelgraine
595f0073f9 TDeckBoard.cpp — both * 3 / 2 thresholds changed to > designCapacity_mAh, so FCC=3000 with DC=2500 now triggers the Qmax + stored FCC correction.
SerialBLEInterface.cpp — added esp_bt.h include and three esp_ble_tx_power_set calls at +9 dBm after BLEDevice::init(), covering default, advertising, and scan power types.

MyMesh.h — FIRMWARE_VER_CODE bumped from 10 → 11.
MyMesh.cpp — The RESP_CODE_DEVICE_INFO frame construction now:
Byte 2: sends 0xFF (sentinel) when MAX_CONTACTS > 510, otherwise the normal MAX_CONTACTS / 2. Older apps interpret 0xFF as 510 contacts — completely harmless.
Bytes 80-81 (new, appended after the version string): uint16_t little-endian with the true MAX_CONTACTS value. Apps that understand v11+ read it here. Apps < v11 ignore trailing bytes — the BLE/serial frame protocol is length-delimited, so extra bytes at the tail are safe.

platformio.ini — Both BLE builds (meck_audio_ble, meck_4g_ble) bumped from 510 → 2000.

mymesh.cpp: writeContactRespFrame return type change (return _serial->writeFrame() result)
checkSerialInterface() batch-fill loop.
2026-04-07 20:04:36 +10:00
pelgraine
8aa0f0388e meck wifi remote repeater heltec v4 2026-04-05 21:14:52 +10:00
pelgraine
b070af39cc t5s3 wifi remote repeater 2026-04-05 08:57:47 +10:00
pelgraine
c939aa577b fix prior env sensor manager build filter for remote repeater envs 2026-04-04 12:38:06 +11:00
pelgraine
abccfe154e improve remote wifi repeater compile time 2026-04-04 12:16:52 +11:00
pelgraine
23733ca555 improve tdpro all builds compilation time but esp for remote repeater envs 2026-04-04 12:08:17 +11:00
pelgraine
9d45ac52eb fix wifi repeater and remote repeater ota process, update firmware version platiformio 2026-04-04 11:40:25 +11:00
pelgraine
424e152d4b simple remote wifi repeater v0.2 & remote repeater path hash mode improvements 2026-04-04 10:51:48 +11:00
pelgraine
c687133b05 tdpro refined file export contacts selection json 2026-03-31 02:49:57 +11:00
pelgraine
c7d0449181 remove sleep for remote repeater 2026-03-30 13:20:31 +11:00
pelgraine
9ddb692806 fix mqttsubscribe 2026-03-30 13:11:54 +11:00
pelgraine
0cab2ddfa7 fix tdpro remote admin display and lora init sd card mix 2026-03-30 13:02:31 +11:00
pelgraine
d07ad71d5d tdpro remote 4g repeater admin via web app 2026-03-30 12:23:02 +11:00
pelgraine
b4983e48f0 set custom contact paths 2026-03-29 17:06:45 +11:00
pelgraine
b991eb0fe7 bumped up max contacts for BLE companions to 510 2026-03-29 16:15:55 +11:00
pelgraine
c15b30079c update f send key for previously recorded voice notes 2026-03-29 14:49:31 +11:00