Commit Graph

673 Commits

Author SHA1 Message Date
Daniel Duran dfacfeade8 feat: bundled MC2MQTT broker presets (waev, letsmesh) + format family
Introduces a 'set format and forget' workflow for MQTT brokers. Users
reference a bundled preset by name inside the existing brokers: list,
and the package supplies the endpoints, audiences, and TLS settings.
Endpoint changes ship via 'pip install -U' instead of manual edits.

What changes
- New repeater/presets/ package with a tiny lazy YAML loader and two
  bundled presets: waev (mqtt-{a,b}.waev.app) and letsmesh (EU + US).
- New format-family constant MC2MQTT_FORMATS = ('meshcoretomqtt',
  'letsmesh', 'waev') replaces the inline tuple in topic resolution.
  The legacy 'mqtt' format keeps its custom-topic semantics unchanged.
- Two-pass broker assembly in mqtt_handler.py: pass 1 expands every
  {preset: <name>} entry inline; pass 2 collapses duplicates by name
  with later-wins semantics. Place override entries AFTER preset
  entries.
- Hard-coded LETSMESH_BROKERS constant deleted; its data now lives in
  repeater/presets/letsmesh.yaml.
- convert_letsmesh_to_broker_config() collapsed from ~70 to ~25 lines
  by emitting {preset: letsmesh} plus disable overrides for unwanted
  brokers. Honors broker_index in (-1, 0, 1), additional_brokers, and
  enabled flag exactly as before.
- update_mqtt_config API endpoint accepts {preset: <name>} entries and
  passes them through unchanged so the web UI can author them when the
  frontend is updated.
- config.yaml.example documents the preset entry shape, the override
  rule, and the format family hierarchy.
- pyproject.toml ships presets/*.yaml as package data.

How to use
  mqtt_brokers:
    iata_code: "LAX"
    brokers:
      - preset: waev

  # Override a single preset broker:
  brokers:
    - preset: waev
    - name: waev-b
      enabled: false

Tests
- tests/test_presets.py: 9 tests covering loader, expand/merge,
  MC2MQTT topic-family parity, and parametrized legacy migration.

Co-Authored-By: Oz <oz-agent@warp.dev>
2026-05-02 15:32:22 -07:00
Lloyd 8bbef50e37 Merge pull request #219 from rightup/feat-gps
Feat gps
2026-04-30 20:52:57 +01:00
Rightup 2dd79614ef add map toggle and discord icon 2026-04-30 20:52:01 +01:00
Rightup 9d3d5e6ef0 refactor: update GPS configuration parameters and improve documentation 2026-04-30 20:28:50 +01:00
Rightup 972aefca16 bug:fixes to gps page 2026-04-29 20:40:53 +01:00
Lloyd f7a212f2ea Merge pull request #213 from yellowcooln/dev
Fix Buildroot OTA updates to use the repo upgrade path
2026-04-29 19:41:56 +01:00
Yellowcooln acb796199d Prefer repo Buildroot updater on embedded images 2026-04-29 14:14:40 -04:00
Yellowcooln 52cce9d51b Merge branch 'rightup:dev' into dev 2026-04-29 13:53:34 -04:00
Yellowcooln fe0d3d30af Fix Buildroot OTA upgrade path 2026-04-29 13:43:13 -04:00
Yellowcooln 56814bfc38 Support local embedded Buildroot installs 2026-04-29 13:27:04 -04:00
Lloyd bbaf8bd3f3 fix:gps-fixes 2026-04-29 17:31:10 +01:00
Lloyd 6720f6bdfe Merge pull request #212 from yellowcooln/dev
Improve Buildroot repeater config flow and Pico Pi radio timing wiring
2026-04-29 17:29:56 +01:00
Lloyd 187d033e18 Merge pull request #211 from mitchellmoss/feat-gps-location-update
Update repeater location from GPS fix
2026-04-29 16:10:27 +01:00
Mitchell Moss d83cb61fe7 Make GPS location persistence opt-in and fuzzed 2026-04-29 10:45:53 -04:00
Mitchell Moss da8f83964a Fix GPS location updates and status reporting 2026-04-29 09:58:13 -04:00
Mitchell Moss bf44efbfd9 feat: update repeater location from GPS fix 2026-04-29 09:36:05 -04:00
Yellowcooln 8856268ef2 Expose Buildroot image version 2026-04-29 09:27:56 -04:00
Yellowcooln 465372587b Fix Buildroot yq comment merge 2026-04-29 09:20:22 -04:00
Yellowcooln b0b0be18c5 Preserve config comments on Buildroot 2026-04-29 09:17:39 -04:00
Yellowcooln 97fde6e0dd Set Pico Pi radio timing override in Buildroot profiles 2026-04-29 09:09:57 -04:00
Yellowcooln 83de21005e Fix backspace handling in Buildroot prompts 2026-04-29 09:05:31 -04:00
Yellowcooln 1f88b73b06 Pass configurable SX1262 timing delay 2026-04-29 09:01:05 -04:00
Rightup 22d0e310d9 gps front end static files 2026-04-28 23:23:48 +01:00
Rightup 76a9785218 Add GPS location configuration and diagnostics stream
- Introduced options for using GPS coordinates for repeater location fields in config.
- Implemented precision control for GPS coordinates.
- Added a new API endpoint for a Server-Sent Events stream of GPS diagnostics.
- Updated GPSService to handle new configuration options and fallback logic.
- Enhanced unit tests for GPS location handling.
2026-04-28 23:22:52 +01:00
Lloyd 42b4bbd9e9 Merge PR #199: [codex] Add GPS diagnostics API 2026-04-28 17:24:34 +01:00
Lloyd a36d991c78 Fix event loop handling in TextHelper for room server synchronization 2026-04-28 09:24:42 +01:00
Lloyd 79541aaf41 Implement live radio configuration updates and add unit tests for radio handling 2026-04-27 16:07:09 +01:00
Lloyd 1ed85c4751 Merge pull request #207 from yellowcooln/dev 2026-04-26 22:56:30 +01:00
Rightup d780afa56a Add support for RAK6421 with RAK13300x radios and enhance configuration options
- Introduced `en_pin` and `en_pins` parameters in radio configuration.
- Updated `get_radio_for_board` to handle new configuration options.
- Added unit tests to verify correct handling of `en_pins`.
2026-04-26 15:52:27 +01:00
Lloyd 8ab7bad173 Merge pull request #209 from rightup/revert-208-rak6421-13300x
Revert "rak6421 + rak13300x support"
2026-04-26 15:37:03 +01:00
Lloyd 2ba16cd120 Revert "rak6421 + rak13300x support" 2026-04-26 15:35:31 +01:00
Lloyd a36cb6af44 Merge pull request #208 from recrof/rak6421-13300x
rak6421 + rak13300x support
2026-04-26 15:33:29 +01:00
Rastislav Vysoky c8c9a555ff added support for rak6421 with rak13300x radios 2026-04-26 15:10:50 +02:00
Yellowcooln 066fcef9c9 Skip unchanged Buildroot upgrade steps 2026-04-25 12:53:47 -04:00
Yellowcooln 42068e2b1e Print clear Buildroot upgrade completion 2026-04-25 12:49:10 -04:00
Yellowcooln 5c7bcabee0 Add spinner for Buildroot venv rebuilds 2026-04-25 12:44:15 -04:00
Yellowcooln 8418fd5b62 Clarify Buildroot venv rebuild message 2026-04-25 12:43:05 -04:00
Yellowcooln d214885c1e Install setuptools_scm in Buildroot venv 2026-04-25 12:38:19 -04:00
Yellowcooln 971ad4d2c9 Preserve setuptools_scm version on Buildroot installs 2026-04-25 12:29:59 -04:00
Yellowcooln 707c816471 Start service cleanly on first Buildroot install 2026-04-25 12:29:59 -04:00
Lloyd cfa8c17446 Merge pull request #204 from Rigear/fix/mqtt_fixes 2026-04-25 06:53:35 +01:00
Rigear bdb98f3f49 fix(docs): Updated example config with TLS information 2026-04-24 16:48:51 -07:00
Rigear d4aecf71c1 fix: Stop warning spam if brokers are disabled 2026-04-24 14:45:38 -07:00
Rigear b3fdfee474 fix: Handle TLS for all MQTT connections 2026-04-24 14:30:44 -07:00
Rigear 3a6da407be fix: Always parse additional brokers 2026-04-24 14:30:05 -07:00
Rigear 53f6e8af4f fix: Remove old letsmesh_handler.py file 2026-04-24 14:19:31 -07:00
Lloyd f7d5afb0b2 Merge pull request #203 from rightup/dev
Version Upgrade 1.0.9
2026-04-24 17:08:45 +01:00
Lloyd 71595c9226 Update pymc_core dependency to version 1.0.10 and correct installation messages to reflect PyPI source 1.0.9 2026-04-24 16:13:17 +01:00
Lloyd fd7ead3697 Merge pull request #202 from rightup/fix-perfom-speed
Fix perfom speed
2026-04-24 16:03:33 +01:00
Mitchell Moss 8ae1c0f65f feat: sync system time from GPS 2026-04-24 08:34:30 -04:00