78 Commits

Author SHA1 Message Date
Lloyd 9e26068a10 feat: enhance installation process to align web/OTA updates with manage.sh defaults 2026-06-02 10:30:51 +01:00
Joshua Mesilane 3f7b6d5cdc fix: add smbus2 dependency, i2c-tools, and use hex I2C addresses in docs
- Add smbus2>=0.4.0 to pyproject.toml core dependencies so it is always
  present in the venv rather than relying on runtime auto-install
- Add i2c-tools to apt-get installs in both install and upgrade paths
  so /dev/i2c-* devices are accessible and i2cdetect is available for
  diagnostics (service user was already being added to the i2c group)
- Switch ENS210 config examples to hex I2C address notation (0x43) to
  match datasheets and i2cdetect output; update contributor docs guidance
  accordingly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 11:54:32 +10:00
Lloyd 71595c9226 Update pymc_core dependency to version 1.0.10 and correct installation messages to reflect PyPI source 2026-04-24 16:13:17 +01:00
Rightup 799a85ddf9 fix: remove --no-index from R2 pip install so pyyaml resolves from PyPI 2026-04-19 19:34:26 +01:00
Rightup dfe9ba20f3 Fix R2 wheels installation path for improved dependency resolution 2026-04-18 23:15:34 +01:00
Rightup d336c72625 Enhance installation process with R2 wheels support for ARM devices 2026-04-18 23:15:13 +01:00
Joshua Mesilane a9590fac01 Fix the headless install option 2026-04-18 21:09:01 +10:00
Joshua Mesilane 7ba26b72cb Fix for polkit version detection 2026-04-18 17:39:35 +10:00
Joshua Mesilane 8ebcb09eff Headless install fix 2026-04-18 17:12:06 +10:00
Joshua Mesilane 4e3b2bbc9a Updates to support installs on the LuckFox platform 2026-04-18 16:50:44 +10:00
Lloyd f2a72eb203 feat: migrate to virtual environment and clean up system-level packages 2026-04-15 09:37:26 +01:00
Lloyd d701342951 add error handling for service file update and migrate service unit to fix PYTHONPATH and WorkingDirectory 2026-03-11 10:27:20 +00:00
Lloyd e6fed7bea1 Add --ignore-installed flag to pip install commands to prevent conflicts with system-managed packages 2026-03-10 21:54:13 +00:00
Lloyd 23463b606d Fix WorkingDirectory in service files to prevent shadowing of pip-installed package 2026-03-10 16:46:13 +00:00
Lloyd f96d64a813 Refactor version retrieval and remove legacy PYTHONPATH from service unit 2026-03-10 15:37:12 +00:00
Lloyd 95e86b5150 Enhance pymc-do-upgrade script to accept an optional pretend-version argument and update version retrieval logic to strip PEP 440 local identifiers from version strings. 2026-03-10 12:08:55 +00:00
Lloyd 0ed78a2eed Update pip install command format for hardware dependencies in management scripts 2026-03-09 11:03:49 +00:00
Lloyd 437d526085 Add OTA update functionality with new API endpoints and upgrade script 2026-03-09 10:31:36 +00:00
Lloyd 72d4650323 Refactor manage.sh to install pymc_repeater with fresh dependencies from pyproject.toml, ensuring no stale modules from pymc_core. 2026-03-06 21:34:07 +00:00
Lloyd 5c3b2eff2a Update manage.sh to uninstall existing pymc_core and install fresh version from GitHub 2026-03-06 15:34:13 +00:00
Lloyd 9000d83754 Remove cached pymc_core installation before package updates to prevent stale module issues 2026-03-06 14:52:27 +00:00
Lloyd f63b001ca7 fix typos in manage.sh 2026-03-06 14:40:15 +00:00
agessaman c150b9a9bf Merge upstream/feat/newRadios into dev-companion-v2-cleanup
- Keep our Vite-built assets and index.html script (index-DyUIpN7m.js)
- Remove upstream-only asset chunks and RoomServers-BxQ-0q-x.js
- README: keep two-backend intro, add upstream CAUTION/compatibility table
- manage.sh: keep dialog/gauge UX and .[hardware]; add CH341 udev, sudoers, libusb, polkit, silent upgrade
- sqlite_handler: add crc_errors table, index, and cleanup from upstream
- engine: add validate_packet and mark_seen in direct_forward; keep our path hash_size/hop_count logic
- advert: keep comment, use current_time = now
- api_endpoints: use restart_service() from service_utils
- config merge: strip user config comments before yq merge (upstream)

Made-with: Cursor
2026-03-05 16:43:14 -08:00
Lloyd dd81bf94a9 log display in management script with styled output and color-coded messages 2026-03-04 12:43:24 +00:00
yellowcooln 34334c68da Make CLI actions silent while keeping menu dialogs 2026-03-01 17:02:02 -05:00
Lloyd 91d916798b upgrade functions to include conditional polkit installation and improve error handling for missing packages 2026-02-24 12:03:45 +00:00
Lloyd 83a6ae69ae Add sudo and create sudoers directory for service management in install and upgrade functions 2026-02-24 11:36:46 +00:00
Lloyd 74914541f2 Enhance installation and uninstallation scripts with user-friendly messages, add polkit and sudoers configuration for service management, and improve service restart handling in API endpoints. 2026-02-24 11:33:21 +00:00
Lloyd aa75fac7f2 Update Proxmox installer scripts to include CH341 GPIO pin configuration and modify radio type 2026-02-24 11:14:29 +00:00
Lloyd 169ea4b1e4 Refactor config merging process to strip comments and update radio_type in Proxmox installer 2026-02-24 10:59:30 +00:00
Lloyd 0f54a05596 Proxmox installer PW 2026-02-24 09:47:36 +00:00
Lloyd 4d2943087f Refactor user group management and add container detection warnings for udev rules 2026-02-24 09:15:21 +00:00
Lloyd edebea6bda Add user to plugdev group and install udev rules for CH341 during installation and upgrade 2026-02-24 08:49:51 +00:00
Lloyd 8f90cf71b0 Reference for E22p branch 2026-02-23 21:58:15 +00:00
agessaman e9841adeff Merge upstream feat/newRadios (radios, MQTT, SPI)
- Take upstream radio-presets.json and radio-settings.json (Femtofox, AIO v2, CH341).
- config.py: upstream get_radio_for_board (_parse_int, sx1262_ch341, GPIO) + re-add KISS branch.
- config.yaml.example: upstream radio/ch341 + our identities.companions.
- manage.sh: upstream SPI warning prompt.
- main.py: single try/finally with companion shutdown and _shutdown().
- letsmesh_handler: upstream UTC fallback and MQTT v5 reason code handling.
- storage_collector, api_endpoints: upstream storage_dir_cfg; apply_setup_wizard supports KISS and sx1262_ch341/ch341.
- airtime.py: upstream bw_hz fix for symbol time.
- pyproject.toml: keep pymc_core dependency (no git pin).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:59:01 -08:00
agessaman c2f8a2e3cd refactor: companion FrameServer and related (substantive only, no Black)
Reapply refactor from ce8381a (replace monolithic FrameServer with thin
pymc_core subclass, re-export constants, SQLite persistence hooks) while
preserving pre-refactor whitespace where patch applied cleanly. Remaining
files match refactor commit exactly. Diff vs ce8381a is whitespace-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:35:47 -08:00
Lloyd b799a286c2 Enhance SPI check during installation with user prompts for continuation without SPI 2026-02-11 10:53:05 +00:00
agessaman 878ff8dc51 Enhance configuration and setup for KISS modem support
- Added support for Meshcore KISS modem firmware in configuration, allowing users to set `radio_type: kiss` and configure serial port and baud rate.
- Updated `config.yaml.example` to include KISS modem settings.
- Modified `manage.sh` to install with hardware extras for KISS support.
- Enhanced `setup-radio-config.sh` to prompt for radio type and KISS modem settings.
- Updated API endpoints to handle KISS modem configurations and hardware options.
- Improved error handling for missing configuration sections.

This update improves flexibility for users utilizing KISS modems alongside SX1262 hardware.
2026-02-03 16:20:51 -08:00
theshaun 57a25a2dc0 Add support for Femtofox
- Introduce GPIO chip selection and GPIO backend selection
- Add default Femtofox settings (for SX1262 as LR1121 support may come later)
- Add support for Python 3.10 UTC to reduce footprint
- Fix airtime calculation bandwidth variable naming
- Add service auto-enable when starting
- Add Australia: SA, WA, QLD radio preset
- Add Snyk security instructions

Co-authored-by: theshaun <theshaun@users.noreply.github.com>
Based on PR #69
2026-02-03 22:34:14 +00:00
Lloyd 9256ba9c35 Remove force-reinstall option from pip install command in install_repeater function 2026-02-02 10:44:39 +00:00
Lloyd 612fc82b34 SPI check for universal compatibility. 2026-01-30 15:14:24 +00:00
Alan Barrow 3f403a2081 Adding reset function 2026-01-29 18:56:15 -05:00
Alan Barrow ebcb68b788 Added reset function to manage.sh 2026-01-29 18:48:32 -05:00
Lloyd aeba6c4413 update installation process and add live logs feature 2026-01-22 14:56:27 +00:00
Lloyd 599e4628d9 Changes include:
Features

Neighbour details modal with full info and map view

WebSocket support with heartbeat and automatic reconnection

Improved signal quality calculations (SNR-based RSSI)

Route-based pagination for faster initial loads

UI

Mobile sidebar tweaks (logout, version info, lazy-loaded charts)

Sorting added to the neighbour table

Packet view now shows multi-hop paths

CAD calibration charts respect light/dark themes

Statistics charts now show the full requested time range

Performance

Reduced polling when WebSocket is active

Lazy loading for heavier components

Noise floor data capped to keep charts responsive

Technical

Improved type safety across API responses

Contrast improvements for accessibility

Cleaner WebSocket and MQTT reconnection handling

Additional metrics added to heartbeat stats

Bug fixes

Corrected noise floor history query

Fixed authentication for CAD calibration streams

Nothing major required from users — just update and carry on.
As always, shout if something looks off.
2026-01-18 20:15:50 +00:00
Lloyd 5bdea1132c Suppress pip warnings during package upgrade/install 2026-01-12 22:17:24 +00:00
Lloyd 81aaeb269c Improve package update logic and ensure pymc_core is up to date 2026-01-12 22:09:54 +00:00
Lloyd d7a886d0e5 Update file paths for radio settings and presets to use config-based directory 2026-01-09 12:14:38 +00:00
Lloyd b5feead308 Merge feat/dmg into dev with feat/dmg changes taking precedence 2026-01-08 13:51:46 +00:00
Lloyd c98b653261 nstallation and upgrade process to include setuptools_scm version generation 2026-01-07 22:05:42 +00:00