Commit Graph
3621 Commits
Author SHA1 Message Date
shade 8ad032a311 прошивальщик: манифест под релиз v0.2.0 после фикса меню (sha 6f67162f, версия без изменений) pre-1.18.0 2026-10-15 23:08:08 +03:00
shade 40f1726f1b прошивальщик: манифест под пересобранный релиз v0.2.0 (версия без изменений, sha 2831eab6) 2026-10-15 22:01:28 +03:00
shade 3487352665 прошивальщик: список файлов разбит по версиям, свежая версия сверху 2026-10-15 21:24:03 +03:00
shade be15e247fc прошивальщик: манифест под релиз MeshCore v0.2.0 (форк на базе 1.18.0) 2026-10-15 21:13:16 +03:00
shade a8cb4557cf прошивальщик: из README убран раздел с былыми ошибками 2026-10-12 13:44:33 +03:00
shade 5edfc149b7 прошивальщик: манифест под релиз MeshCore v0.1.1 2026-10-12 11:01:47 +03:00
shade 9937f26631 Прошивальщик: данные прошивки передаются строкой в esptool-js (ошибка charCodeAt) 2026-10-12 08:53:07 +03:00
shade 83f70c2241 Прошивальщик: манифест пересобран под новые имена MeshCore (e110fd87) 2026-10-12 08:49:31 +03:00
shade c42cca13c4 fix(ci): установка uv без системного pip и uv sync перед сборкой
- в Gitea Actions шаг "Install uv" падал на Ubuntu 24.04: pip в систему запрещён (PEP 668)
- uv ставится официальным установщиком в ~/.local/bin, каталог добавляется в PATH
- добавлен шаг uv sync: posadmesh-build.sh запускает pio через "uv run --no-sync",
  значит окружение с platformio должно существовать заранее
- actions/cache обновлён до v4, добавлен continue-on-error и кэш ~/.cache/uv
- причина, по которой это вылезло только сейчас: runner был зарегистрирован за
  репозиторием shade/meshcore, а workflow живёт в shade/MeshCore-Posadmesh
2026-10-12 00:03:23 +03:00
shade 4ad2ffeae7 feat: browser flasher page for MeshCore and PosadMesh firmware
- страница https://meshinfo.ru/flasher/: два набора прошивок отдельными списками
  (MeshCore — наш форк, релиз shade/MeshCore v0.1.0; PosadMesh — три трека MQTT)
- запись ESP32 через Web Serial и esptool-js 0.5.4 (лежит локально, без CDN):
  -merged.bin пишется по адресу 0x0, обычный .bin — по 0x10000
- галочка полного стирания флеша и отдельная кнопка только стирания;
  для nRF52 (.uf2/.zip) — скачивание и инструкция по UF2-диску или DFU
- index.json собирается скриптом posadmesh-tools/build-flasher-index.py из релизов Gitea
  (270 файлов, 57 плат), страница не обращается к API из браузера
- файлы прошивок отдаются nginx-проксированием релизов Gitea: один origin, без CORS
- README: запись в журнале изменений; posadmesh-docs/releases.md: раздел про прошивку из браузера
2026-10-11 23:27:21 +03:00
shade 2873467039 docs(release): add 2026.10.0 entry for the MQTT bridge track
- release-notes.yml: добавлена запись 2026.10.0 для трека repeater-mqtt-bridge
  (трек был в реестре, но записей о релизах не имел)
- записи 2026.10.0 содержат исправление сборки ESP-NOW на ESP32-C6
2026-10-11 22:35:35 +03:00
shade 1cfb03f604 docs: note ESP-NOW C6 fix and published 2026.10.0 releases
- release-notes.yml: в записи 2026.10.0 добавлен пункт про исправление сборки ESP-NOW
  на ESP32-C6 (IDF 5)
- README: отмечены опубликованные релизы repeater-mqtt*, espnow и bridge
2026-10-11 22:34:10 +03:00
shade 3ee31afd0f fix: ESP-NOW receive callback for ESP-IDF 5 (ESP32-C6 targets)
- ESPNowBridge::recv_cb адаптирован под ESP-IDF 5: первый параметр — esp_now_recv_info_t,
  длина имеет тип int; старый вариант оставлен для IDF 4 через ESP_IDF_VERSION
- это починило сборку трёх целей на ESP32-C6: LilyGo_Tlora_C6_repeater_mqtt_espnow,
  M5Stack_Unit_C6L_repeater_mqtt_espnow, WHY2025_badge_repeater_mqtt_espnow
- README: запись в журнале изменений
repeater-mqtt-v2026.10.0 repeater-mqtt-espnow-v2026.10.0 repeater-mqtt-bridge-v2026.10.0
2026-10-11 22:17:47 +03:00
shade 04bb5714c8 feat: Save & exit in radio editors, wiki docs with screen images
- экраны Frequency и Bandwidth: единица измерения в конце строки значения
  (868.731 MHz, 062.50 kHz), внизу отдельный пункт Save & exit
- после правки цифр пользователь переходит на Save & exit и удерживает кнопку:
  значения применяются, экран возвращается в предыдущее меню
- документация: страница posadmesh-docs/device-setup.md дополнена схемой управления
  и изображениями всех экранов (12 картинок в posadmesh-docs/_assets/wizard/)
- вики Gitea: страницы Home и Device-Setup с теми же иллюстрациями
- README: ссылка на вики, схема управления и запись в журнале изменений
2026-10-11 18:44:30 +03:00
shade ce1b71d6fd feat: separate radio settings in the on-device setup wizard
- радиопресет заменён на четыре отдельных пункта меню: Frequency, Bandwidth, CR, SF
- частота: целые МГц шагом +-1, кГц правятся по разрядам (принцип как у координат)
- полоса: поразрядный ввод значения с точкой (формат 062.50)
- CR и SF: шаг +-1 с ограничением 5-8 и 5-12
- применение любого из четырёх пунктов отправляет set radio <частота>,<полоса>,<sf>,<cr>
  целиком, остальные значения сохраняются; внизу меню остаётся Save & exit
- документация device-setup.md обновлена, README: раздел и журнал изменений
- проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt,
  Generic_E22_sx1262_repeater_mqtt (без дисплея)
2026-10-11 18:06:55 +03:00
shade 71f7095d17 feat: on-device setup wizard for repeaters with display and button
- добавлен локальный мастер настройки репитера: examples/simple_repeater/UITask.*
  (меню на кнопке, редактор координат, применение значений через CommonCLI)
- MyMesh: публичный доступ к CommonCLI для UI (getCLI), main.cpp передаёт его в UITask
- мастер работает на любой цели с дисплеем и кнопкой и исключается препроцессором
  там, где их нет; WiFi-код теперь под #if defined(ESP32)
- новая страница документации posadmesh-docs/device-setup.md, ссылки в index.md и mkdocs.yml
- README: раздел «Настройка с дисплея и кнопки» и запись в журнале изменений
- проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt,
  Generic_E22_sx1262_repeater_mqtt (без дисплея), RAK_3112_repeater_mqtt
2026-10-11 17:44:41 +03:00
shade 26b724c0f0 feat: manual Gitea build workflow, release publishing, README and docs update
- добавлен ручной workflow Gitea Actions (.gitea/workflows/build-mqtt-firmwares.yml):
  сборка MQTT-прошивок на сервере и публикация релиза
- добавлен posadmesh-tools/publish-gitea-release.sh для выгрузки собранных файлов
  в релиз Gitea (идемпотентно, фильтр по треку)
- README: происхождение проекта переписано (форк EastMesh, доработка энтузиастов
  из Сергиева Посада, ориентация на meshcoretel.ru), добавлены раздел
  «Отличия от upstream MeshCore» и журнал «Изменения в проекте»
- убраны упоминания Австралии, ссылки на eastmesh.au и региональные материалы;
  руководство по прошивке переведено на файлы релизов и esptool.py
- posadmesh-build.sh: вывод PlatformIO очищается от \r — на Windows групповые
  команды сборки не находили ни одной цели; companion-команды удалены,
  добавлены build-mqtt-firmwares и list-mqtt
- release-notes.yml: треки repeater-mqtt*, запись 2026.10.0 дополнена удалением
  companion и исправлением сборки, companion-wifi помечен как снятый с выпуска
- AGENTS.md: правило дописывать изменения в README
- .gitignore: .pio-home
2026-10-11 17:20:05 +03:00
shade c86ae584ab refactor: rebrand to PosadMesh, translate docs to Russian, drop legacy brokers
Build and deploy Docs site to GitHub Pages / github-pages (push) Canceled after 0s
PR Build Check / build (Heltec_v3_companion_radio_ble) (push) Canceled after 0s
PR Build Check / build (Heltec_v3_repeater) (push) Canceled after 0s
PR Build Check / build (Heltec_v3_room_server) (push) Canceled after 0s
PR Build Check / build (LilyGo_Tlora_C6_repeater_) (push) Canceled after 0s
PR Build Check / build (PicoW_repeater) (push) Canceled after 0s
PR Build Check / build (RAK_4631_companion_radio_ble) (push) Canceled after 0s
PR Build Check / build (RAK_4631_companion_radio_ethernet) (push) Canceled after 0s
PR Build Check / build (RAK_4631_repeater) (push) Canceled after 0s
PR Build Check / build (RAK_4631_repeater_ethernet) (push) Canceled after 0s
PR Build Check / build (RAK_4631_room_server) (push) Canceled after 0s
PR Build Check / build (RAK_4631_room_server_ethernet) (push) Canceled after 0s
PR Build Check / build (Tbeam_SX1276_repeater) (push) Canceled after 0s
PR Build Check / build (wio-e5-mini_repeater) (push) Canceled after 0s
PR Build Check / build (wio_wm1110_repeater) (push) Canceled after 0s
Run Unit Tests / test (push) Canceled after 0s
2026-10-07 19:04:39 +03:00
xJARiD c0c1336540 Merge pull request #84 from xJARiD/develop
Add xiao_s3_LoRa2021 and fix HTTPS panel heap fragmentation issues
2026-08-30 17:21:09 +10:00
Jared Dohrman 7021f8c8ed docs: update release notes and formatting 2026-08-30 07:17:02 +00:00
xJARiD 86d98aec67 Merge pull request #83 from prabathbr/dev
Adding Observer, ESP-NOW observer, MQTT-bridge observer builds for Xi…
2026-08-30 17:14:10 +10:00
Jared Dohrman 5956618bc8 fix: TBeam 1W ramp fixes 2026-08-30 07:12:56 +00:00
Jared DohrmanandClaude Fable 5 866498299e fix(web): stop HTTPS panel heap fragmentation, add self-heal and heap counters
Both Clyde North observers stopped answering over WiFi after days of
uptime while LoRa and MQTT kept working. `memory` showed heap_min ~1KB
and a largest internal block of 19KB: the HTTPS listener was alive but
no mbedTLS handshake (~40KB contiguous) could be allocated.

The trigger was the Aug 9 lru_purge change: with a 2-socket pool, every
browser page-load burst evicted a live session and forced a fresh TLS
handshake, and the repeated 40KB alloc/free cycles fragmented internal
RAM. Before that change the pool simply jammed, so nothing churned.

- Send `Connection: close` and trigger a session close on one-shot
  responses (pages, favicon, redirect, login, 401s) so page-load bursts
  release their sockets immediately. The authenticated /api/* polling
  connection keeps keep-alive so it does not pay a handshake per poll.
- Gate WebPanelServer::start() on internal heap headroom (56KB free /
  32KB largest), retrying every 15s instead of every loop tick.
- Self-heal: when the panel is idle and the largest internal block drops
  below 24KB, stop and re-create the server to return its pools.
- Count the MQTT teardown path that deliberately abandons a client on a
  heap-integrity failure.
- Expose the above as `heals:`/`deferred:` in `get web.status` and
  `leaked:` in `get mqtt.status`.
- Fix the stats page Channel/Gateway cells showing `--`: the /api/stats
  summary JSON never carried channel, gateway health, or the watchdog
  count (only the `get wifi.status` string did).
- Add eastmesh-tools/web-heap-check.sh to read heap/service health over
  the API and optionally stress the panel with browser-style bursts.
- Release notes 2026.8.3 for both observer tracks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 10:53:53 +00:00
prabathbr 20282ec1d2 Adding Xiao_S3_LoRa2021F33-2G4_companion_radio_wifi varient 2026-08-18 02:30:03 +10:00
prabathbr 1e9c14fc8b Adding Observer, ESP-NOW observer, MQTT-bridge observer builds for Xiao S3 + NiceRF LoRa2021F33-2G4 variant for (based on dkmr27's board layout from https://github.com/dkmr27/MeshCore/tree/dev/variants/xiao_s3_LoRa2021F33-2G4) 2026-08-18 02:21:58 +10:00
xJARiD 47faf672b9 Merge pull request #82 from xJARiD/develop
Sync with upstream with fix for reply handling and improve FEM gain preferences
2026-08-15 08:55:39 +10:00
Jared DohrmanandClaude Fable 5 4445fb9f4d docs(release): add 1.17.1 and 2026.8.2 notes across release tracks
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 08:50:47 +10: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
Huw Duddy 24bdc24b39 Merge pull request #3206 from meshcore-dev/nrf-combine-rng-entropy
combine radio's entropy with CC310 RNG
2026-08-14 22:09:26 +10:00
Scott Powell fcb9bdf209 * combine radio's entropy with CC310 RNG 2026-08-14 17:46:43 +10:00
Huw Duddy 50a51a6479 Merge pull request #3203 from meshcore-dev/companion-fem-pref-fix
commenting out the load/save of the fem_ properties
2026-08-14 16:44:59 +10:00
Scott Powell e78bff0041 * unit test no longer valid 2026-08-14 16:42:54 +10:00
Scott Powell 890a2e2cff * commenting out the load/save of the fem_ properties, until they can be set 2026-08-14 16:30:12 +10:00
Jared DohrmanandClaude Fable 5 088d7f40f9 feat(observer-wifi): gateway watchdog and wifi reconnect command
Both Clyde North observers sat WL_CONNECTED on an AP that kept beaconing
after its bridge to the wired LAN died: association up, good RSSI, stale
DHCP lease, but ARP-invisible and both MQTT brokers stuck in backoff.
The firmware equated "associated" with "online", so neither node ever
re-scanned and the outage held until a manual reassociation.

Add a connectivity watchdog to NetworkService: while connected, ARP-probe
the gateway every 30s (posted to the lwIP tcpip thread, safe on both the
IDF4 and IDF5 cores). If the gateway stays silent for 3 minutes, clear
the channel hint and force a full disconnect/rescan so the node can roam
to a healthy AP, backing off exponentially (up to 48min) while the
outage persists. Nodes without a gateway skip the probe.

Add a `wifi reconnect` repeater command that triggers the same forced
reassociation on demand, and report `gw:ok|lost wd:<count>` in
`get wifi.status`. Teach the web panel parser the new fields (also fixes
the IP metric rendering as "x.x.x.x channel:n") and show Gateway and
Channel in the Wi-Fi card.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 19:23:12 +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
ripplebiz abd3546d75 Merge pull request #3189 from oltaco/nrf52-unused-pin-sweep
Fix unused pin definitions on some NRF52 boards
2026-08-13 13:48:59 +10:00
taco 7cd1d207af Fix LilyGo T-Echo Lite SPI pins 2026-08-13 00:53:58 +10:00
taco c2a4ef082f Fix Heltec MeshPocket SPI pins 2026-08-13 00:15:34 +10:00
taco 3ea541f1f2 Fix Heltec T1 pin definitions
SPI pins that are set to -1 cause OOB reads on NRF52. The unused Serial2 pin definitions were removed to avoid potential issues with the Uart framework.
2026-08-13 00:12:37 +10:00
ripplebiz e9edfc8e1a Merge pull request #3188 from oltaco/heltec-t096-pin-fix
Fix Heltec T096 Tx issue
2026-08-12 23:00:31 +10:00
taco 49d9f9a839 Heltec T096: fix PIN_SPI1_MISO
Setting SPI pins to values that are OOB of the g_ADigitalPinMap[] array causes OOB reads. This variant.h has pin 0 as 0xFF which passes through as NRFX_SPIM_PIN_NOT_USED.
2026-08-12 22:31:57 +10:00
taco f43e1cde89 Revert "t096 compiler layout workaround"
This reverts commit 9c60f9696e.
2026-08-12 22:28:36 +10:00
taco 264d778168 Revert "T096 PA_CTX pin direction workaround"
This reverts commit 82de18fb0e.
2026-08-12 22:28:05 +10:00
ripplebiz 956094b271 Merge pull request #3185 from oltaco/fix-techo-card-txco-voltage
Set T-Echo Card TCXO voltage to 3.0
2026-08-12 18:13:44 +10:00
ripplebiz a4ab7f0e59 Merge pull request #3137 from agessaman/feat/station-g3-fem-prefs
Station G3: Expose, persist, and apply FEM gain preferences
2026-08-12 16:11:23 +10:00
taco 9d6dcc673e set T-Echo Card TCXO voltage to 3.0
as per https://github.com/meshcore-dev/MeshCore/pull/3140 and https://github.com/Xinyuan-LilyGO/T-Echo-Lite/issues/14
2026-08-12 16:08:05 +10:00
ripplebiz 1cb308b694 Merge pull request #3182 from oltaco/t096-tx-workaround
Workaround for Heltec T096 transmit issue
2026-08-12 14:49:32 +10:00
taco 82de18fb0e T096 PA_CTX pin direction workaround 2026-08-12 14:07:31 +10:00
taco 9c60f9696e t096 compiler layout workaround
see https://github.com/meshcore-dev/MeshCore/issues/3151
2026-08-12 14:04:50 +10:00