39 Commits
Author SHA1 Message Date
shade 80d36d20bc Merge upstream MeshCore v1.18.0 (tag repeater-v1.18.0) into main
Разрешённые конфликты (12 файлов, из них 4 companion взяты из upstream целиком):

- examples/companion_radio/*: взят upstream, companion в форке не собирается
- examples/simple_repeater/MyMesh.cpp: убрана наша интеграция вентилятора
  (setFanPostTxHoldMs/setFanMode) — upstream 1.18.0 сам грузит настройки вентилятора
  через attachDynamicPrefs, а его CLI (get fan, set fan auto|on|off, set fan.lo/hi)
  доступен через board.handleCommand из CommonCLI; удалён наш дублирующий блок
  get fan/set fan. Оставлена наша сигнатура format*StatsReply(char*, size_t)
- examples/simple_repeater/MyMesh.h: оставлены наши WebSensorSnapshot/BlacklistEntry/
  ChanNameFilter и getCLI() (нужен мастеру настройки), добавлен upstream isHiddenNode();
  FIRMWARE_VERSION по умолчанию — v1.18.0
- src/helpers/CommonCLI.h: оставлены наши FanPrefs (совместимость NVS) и добавлен
  upstream DynamicConfigSerializer custom (getCustom() нужен attachDynamicPrefs)
- src/helpers/ESP32Board.h: время восстанавливается сначала из NVS (наша надстройка,
  переживает отключение питания), затем из RTC-памяти upstream, иначе опорная дата;
  deep sleep по-прежнему не трогаем
- src/helpers/sensors/EnvironmentSensorManager.cpp: взята логика upstream
  (detected[], один драйвер на тип), поверх возвращено определение адреса платой
  (boardDetectedI2CSensorAddress)
- variants/lilygo_tbeam_1w/*: взят upstream (задача вентилятора, NTC, гистерезис,
  CLI и сохранение настроек), наши правки перенесены как делегирование его API
- README.md: оставлен наш
2026-10-16 10:05:18 +03:00
Scott Powell 07a833bbbe * version 1.18.0 2026-10-15 19:42:01 +11:00
Jared Dohrman d3dbc0a063 Merge remote-tracking branch 'upstream/dev' into integrate-upstream-dev-2026-08-15
# Conflicts:
#	src/helpers/ui/SH1106Display.cpp
2026-08-15 08:41:31 +10:00
Scott Powell d929643524 * version 1.17.1 2026-08-14 22:19:19 +10:00
ripplebiz b09cb27a1f Merge pull request #3106 from ViezeVingertjes/fix/scoped-reply-routing
Fix replies dropped when flood.max.unscoped is low
2026-08-13 15:00:37 +10:00
Jared DohrmanandClaude Fable 5 9551272abe Merge remote-tracking branch 'upstream/dev' into integrate-upstream-dev-2026-08-09
Integrates upstream v1.17.0. Key adaptations:
- companion + repeater NodePrefs moved to upstream's new ConfigSerializer
  (prefs.json) format; EastMesh fields (companion wifi, repeater fan and
  MQTT bridge peer) appended as serializer groups/keys
- legacy binary prefs loaders retain EastMesh tail fields, so existing
  devices migrate their settings to the new format
- companion main.cpp adopts upstream InterfaceManager while keeping
  runtime WiFi credentials from prefs
- kept EastMesh release-tag versioning in setup-build-environment action

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 16:30:22 +10:00
Scott Powell 93b2db63de * version 1.17.0 2026-08-09 15:14:46 +10:00
ViezeVingertjes fad11c90f3 Fix replies dropped when flood.max.unscoped is low 2026-08-03 22:57:12 +02:00
Che177 3a9f19c14b room_server: add room.post system posts 2026-07-27 19:50:13 -07:00
agessaman a71cc23854 fix(room_server): support RX boosted gain
The room server never supported RX boosted gain, while the repeater
does. Three consequences on SX1262/SX1268 boards:

- boosted gain was never applied to the radio at boot, so a room server
  ran in power-saving RX mode while an identical repeater ran boosted -
  a real receive-sensitivity difference with nothing pointing at it
- _prefs.rx_boosted_gain was never initialised (the prefs are memset to
  0 before defaults are set), so it defaulted to off
- 'set radio.rxgain on' replied "Error: unsupported" but CommonCLI had
  already written the value to prefs and saved them, so a stale setting
  survived reboot and was never applied

Mirror the repeater's implementation: initialise the pref default under
the same USE_SX1262/USE_SX1268 and SX126X_RX_BOOSTED_GAIN guards, apply
it during radio init, and override setRxBoostedGain() so the CLI reports
success and takes effect.

Built Heltec_v3_room_server (SX1262) and LilyGo_T3S3_sx1276_room_server
(guards compile out cleanly).
2026-07-21 12:23:20 -07:00
Jared Dohrman 9fd108f946 Merge remote-tracking branch 'upstream/dev' into integrate-upstream-dev-2026-07-09
# Conflicts:
#	.github/actions/setup-build-environment/action.yml
#	README.md
#	examples/simple_repeater/MyMesh.cpp
#	examples/simple_room_server/MyMesh.cpp
#	examples/simple_sensor/SensorMesh.cpp
#	src/helpers/CommonCLI.cpp
#	src/helpers/CommonCLI.h
#	src/helpers/radiolib/CustomLR1110Wrapper.h
#	variants/tenstar_c3/target.h
2026-07-09 16:51:30 +10:00
Neil Alexander 0d7379520f Fix recv_pkt_region incorrect usage
The `recv_pkt_region` is set when processing a flood packet in `filterRecvFloodPacket`
but direct/non-flood packets would never pass through that function, so the pointer was
not cleared for them.

`sendFloodReply` would then later use it blindly, which meant that the response would
either inherit the region from the last flood packet, or refer to a non-initialised pointer
if no region floods had been received yet.
2026-07-02 09:28:41 +01:00
Wessel Nieboer 7c8e092457 Have CAD be a separate toggle (set cad on/off) 2026-06-14 15:20:58 +02:00
Jared Dohrman 4bce747df0 Merge remote-tracking branch 'upstream/dev' into eastmesh-upstream-dev-sync-20260607
# Conflicts:
#	README.md
#	src/helpers/CommonCLI.cpp
#	src/helpers/ESP32Board.h
#	variants/nibble_screen_connect/platformio.ini
2026-06-07 08:11:15 +10:00
Scott Powell 8c0d5c5b24 * version 1.16.0 2026-06-06 21:09:38 +10:00
Jared Dohrman 2646d7177e Merge upstream/dev into develop 2026-04-19 12:21:01 +10:00
Scott Powell 3751785400 * version 1.15.0 2026-04-19 11:27:55 +10:00
Jared Dohrman e05c9bc09c Merge upstream/dev into develop 2026-04-17 17:54:47 +10:00
Scott Powell 4131a455a2 * repeater: refactored 'region' CLI commands -> CommonCLI
* room server: added RegionMap, and new CommonCLI wiring, default_scope handling
* sensor: only minimal RegionMap wiring. Still needs work to handle default-scope
2026-04-15 13:32:49 +10:00
Jared Dohrman b5374a705a feat(web,mqtt): add repeater dashboard, MQTT settings, and stabilise HTTPS/TLS startup 2026-04-10 15:18:19 +10:00
Jared Dohrman 98fe78a379 feat: add MQTT repeater support, web config panel, and EastMesh-specific firmware workflows 2026-04-09 15:00:53 +10:00
Scott Powell 467959cc3b * version 1.14.1 2026-03-20 12:32:41 +11:00
Scott Powell 3fe2dd7f48 * ver 1.14.0 2026-03-06 12:20:04 +11:00
Scott Powell e2571accbe * ver 1.13.0 2026-02-15 17:24:37 +11:00
Wessel Nieboer d0720c63c2 Allow negative tx power
Like SX1262 allows -9 dBm lowest, some allow lower but that probably
isn't useful
2026-02-06 02:24:51 +01:00
Scott Powell 465776d667 * ver 1.12.0 2026-01-29 21:12:31 +11:00
liamcottle ed589f9620 boot adverts are now zero hop instead of flood 2026-01-26 22:20:36 +13:00
taco 6336bd5b72 refactor ClientACL and CommonCLI, add ClientACL::clear() 2026-01-25 01:31:53 +11:00
Scott Powell e054597a18 * ver 1.11.0 2025-11-30 18:32:10 +11:00
Scott Powell 91e9fcea4b * ver 1.10.0 2025-11-13 20:45:38 +11:00
Florent 90e26129ee Merge branch 'dev' into remove_set_setting_by_key 2025-11-11 12:23:12 +01:00
Michael Hart 81ab944682 Adds serial commands to get stats
- Added formatStatsReply, formatRadioStatsReply, and formatPacketStatsReply methods in MyMesh for both simple_repeater, simple_room_server, and simple_sensor.
- Updated CommonCLI to handle new stats commands.
2025-10-28 23:55:49 -07:00
liamcottle 273a54f104 increase room server max uptime from 49 days to 136 years 2025-10-23 23:29:08 +13:00
Florent 37dc715a8e SensorManager: remove setSettingByKey 2025-10-18 23:37:58 +02:00
Florent de Lamotte 9e3c2fc9d9 gps_cli: gps also restored on sensors and rooms 2025-10-06 15:30:18 +02:00
Scott Powell 8d8b9a6141 * ver 1.9.1 2025-10-02 12:52:19 +10:00
Scott Powell b92d9bd972 * ver 1.9.0 2025-09-28 19:24:00 +10:00
Scott Powell ce08db6238 * room server: ClientACL added 2025-09-14 21:22:12 +10:00
Scott Powell 3666cd72e5 * room refactor: extracted MyMesh class 2025-09-09 20:52:19 +10:00