Commit Graph
5219 Commits
Author SHA1 Message Date
Sefinek 00d445a269 fix: fix typos in source code comments 2026-05-28 15:44:56 +02:00
Sefinek 2adea02e9c docs: fix broken and misaligned tables 2026-05-28 15:15:47 +02:00
Sefinek 7937b43b49 docs: remove duplicate radio.rxgain entry and fix hardware note 2026-05-28 14:52:00 +02:00
Sefinek bbe41eb375 fix: rename CMD_DEVICE_QEURY to CMD_DEVICE_QUERY 2026-05-28 14:39:12 +02:00
Sefinek 888ad4589c docs: fix typos, grammar and Wi-Fi capitalisation across docs 2026-05-28 14:23:31 +02:00
Kevin Le 36a44de119 Reduced time drift from 60s/day to 7s/day for ESP32-based repeaters with power saving. 2026-05-28 15:13:14 +07:00
Kevin Le f4c43f7eb7 Fixed Interrupt WDT Reset 2026-05-28 15:13:14 +07:00
Kevin Le 21455e6296 Gave MCU to OTA to run in inhibit_sleep 2026-05-28 15:13:14 +07:00
Kevin Le daaeaafca1 Moved LoRa GPIOs to platformio.ini for TBeam boards 2026-05-28 15:13:14 +07:00
Kevin Le 71e044ff60 Added getIRQGpio to return DIO0 for Lilygo TLoRa SX1276 2026-05-28 15:13:14 +07:00
Kevin Le f576767d28 Added getIRQGpio to return DIO0 for Lilygo T3S3 SX1276 2026-05-28 15:13:14 +07:00
Kevin Le cd964cd9c7 Fixed DIO0, DIO1 and RESET for Heltec v2 2026-05-28 15:13:14 +07:00
Kevin Le 8e09984ca3 Added getIRQGpio to return DIO1 (SX1262) and DIO0 (SX127x) 2026-05-28 15:13:10 +07:00
Kevin Le 570ff77569 Supported sleep for all ESP32-based repeaters 2026-05-28 15:10:36 +07:00
Kevin Le 3621038b7b Added detailed response for powersaving CLI 2026-05-28 15:10:36 +07:00
Kevin Le a3d20d6209 Let ESP32-based repeaters to sleep immediately receiving and process a LoRa packet 2026-05-28 15:10:36 +07:00
mikecarper 01f43b12c9 Merge branch 'PowerSaving-v15' of https://github.com/IoTThinks/MeshCore into keymindCascade
# Conflicts:
#	build-iotthinks.sh
2026-05-27 19:05:59 -07:00
Nick Dunklee e501704d2c Am idiot, and deleted some of the adafruit code path
I put it back and test-compiled a few builds.
2026-05-27 16:28:15 -06:00
Nick Dunklee 59cee5c8a0 feat: Integrate BME680 Bosch BSEC support for RAK4631
This is a consolidation of my changes for BME680 on RAK4631 nodes.
I will close my other PRs related to this and link back to this one.

*Background on change:*

This change replaces the Adafruit BME680 driver on RAK4631 with the
Bosch BSEC library. Other boards continue to use the existing
Adafruit path via ENV_INCLUDE_BME680.

This makes the IAQ portion of the sensor functional, and more accurate.
It also contains the math and/or CayenneLPP fixes from my other PRs.
The Bosch code also appears to handle calibrating sensor aging as well,
whereas the Adafruit code is just looking at blind values that can drift
with time. Pretty cool to see this shooting out useful data!

RAK4631 platform.io is set to override to ENV_INCLUDE_BME680_BSEC while
leaving the Adafruit code for other node types. (If this becomes applicable
for other node types in future, awesome! I just don't have hardware
to test against.)

Using the BSEC library introduces IAQ sensor calibration, and saves
the calibration state periodically so it does not have to calibrate
again later.

At startup the IAQ sensor takes 30 minutes to heat and to hit a baseline,
then starts calibrating. Once calibrated, it will save those settings
and will only write settings again if calibration falls back and restores
back to state 3.

This fix also has the gas resistance math fix that was in
[pull 2146](https://github.com/meshcore-dev/MeshCore/pull/2146) so
the adafruit path also can at least show accurate values instead
of looping negative.

Also includes the fix from [pull 2149](https://github.com/meshcore-dev/MeshCore/pull/2149) so the pressure output isn't truncated to 1hPa steps.

*Fixes/Changes:*
- Add bsec_config_iaq[] with the 3.3V/3s-LP/28d calibration profile
- BSEC init applies setConfig() for voltage-correct heater targeting
- IAQ, heat-compensated temperature/humidity, pressure, and altitude
  reported over CayenneLPP
- IAQ accuracy reported as analog input over CayenneLPP (0,1,2,3)
- Calibration state persisted to /bsec_state.bin on nRF52 internal
  flash; written only when iaqAccuracy improves to >= 2, should
  keep write frequency well within flash endurance over device lifetime
- Fix non-BSEC query_bme680: float pressure division, addGenericSensor
  for gas resistance (was addAnalogInput, overflows at > 327 Ohm)
- loop() correctly gated for both GPS and BSEC-only builds
- Add fix_bsec_lib.py extra_script to resolve nRF52840 hard-float ABI
  mismatch in Bosch's PlatformIO packaging, silly Bosch

One general note outside of this code change: I noticed while BME680
_functions_ in companion nodes, since companion nodes run Bluetooth,
BLE preempts the CPU, and can do so mid-I2C-transaction.

This can cause the BME680 to see an anomaly and drop calibration and
start a recalibrate. This is behavior that will exist (and has existed)
regardless of using the Adafruit or Bosch paths.

This particular companion behavior does not seem to occur in sensor
or repeater nodes since their BLE is off. Probably affects other
I2C devices as well.

*Tests:*

- RAK19003
- RAK19007
- RAK19001
- repeater, sensor, companion
2026-05-27 15:33:48 -06:00
Quency-D 8ed7be971a Merge pull request #11 from meshcore-dev/dev
merge Dev
2026-05-27 15:43:22 +08:00
Quency-D e5a3839d64 Optimize ADC readout 2026-05-27 15:12:59 +08:00
Kevin Le 0f0f91c9ff Fixed directive and added isReadBusy for WiFi companion. 2026-05-27 09:41:29 +07:00
Wessel Nieboer 62f1b11d5b Increase MAX_FRAME_SIZE by 4 bytes
It's the safest fix for now to fix region scoped messages from being
dropped early
2026-05-26 11:51:14 +02:00
agessaman c0c845f5d3 Add NZ Analyzer preset to MQTT configuration
- Introduced a new MQTT preset for NZ Analyzer, including its connection details and JWT authentication.
- Updated documentation to reflect the addition of the NZ Analyzer preset in the slot commands.
- Increased the MQTT preset count to accommodate the new entry.
2026-05-25 20:30:12 -07:00
Adam Gessaman a1d47277b4 Add INW Mesh preset and enhance credential handling in MQTTBridge
- Introduced a new MQTT preset for INW Mesh with username/password authentication.
- Updated documentation to include the new preset and its configuration requirements.
- Enhanced credential handling in MQTTBridge to support dynamic username/password assignment for presets requiring per-slot credentials.
- Improved feedback in CLI for users to set credentials when needed.
2026-05-25 12:04:23 -07:00
Adam Gessaman 39eea82b3b Enhance MQTTBridge packet handling for TX packets
- Updated `publishPacket` method to ensure proper handling of non-TX packets.
- Added logic in `queuePacket` to directly persist serialized TX bytes in the queue entry, improving efficiency and consistency in packet processing.
2026-05-25 10:54:22 -07:00
Liam Cottle d2c2a6ef0b Merge pull request #2621 from AtlavoxDev/feature/mainboard-boot-complete-hook
Feature/mainboard boot complete hook
2026-05-26 02:04:49 +12:00
AtlavoxDev e5dab6b999 Rename bootComplete() to onBootComplete() for naming consistency
Matches the existing event-style lifecycle hooks on MainBoard
(onBeforeTransmit, onAfterTransmit) per @liamcottle's review feedback.
2026-05-25 09:50:28 -04:00
AtlavoxDev 39a69b86c3 Add MainBoard::bootComplete() hook for boot-indicator LED feedback
Framework for upcoming variant-specific PRs that add LED feedback during boot. The hook gives users visual cues that the device is busy and
shouldn't be interacted with until startup completes.
2026-05-25 09:04:47 -04:00
ripplebiz 7227871d6a Merge pull request #2620 from jirogit/feat/kiss-modem-xiao-s3-v2
feat(xiao_s3): add kiss modem env
2026-05-25 12:00:46 +10:00
Adam Gessaman da2202616c Add new MQTT environment configurations for Heltec variants
- Introduced `Heltec_T190_room_server_observer_mqtt` and `Heltec_WSL3_room_server_observer_mqtt` environments.
- Configured SSL certificate handling and embedded files for both environments.
- Set compile-time flags for MQTT settings, including advertisement names, passwords, and MQTT bridge options.
- Updated library dependencies to include necessary MQTT and JSON libraries.
2026-05-24 15:07:53 -07:00
me 2df944d48d feat(xiao_s3): add kiss modem env 2026-05-24 14:03:28 -07:00
Adam Gessaman d669d4dbd4 Add new MQTT presets for Mesh Core CA and update compile-time defaults
- Introduced two new MQTT presets: `meshcore-ca-1` and `meshcore-ca-2`.
- Updated documentation to reflect compile-time configuration options for MQTT defaults, including slot presets, IATA, and timezone settings.
- Removed legacy default MQTT settings from the code, now relying on the new configuration approach.
2026-05-24 12:50:55 -07:00
Adam Gessaman 3f5ddcac4c Update MQTT preset names for consistency by replacing hyphens with underscores in Mesh Core CA presets. 2026-05-24 10:42:32 -07:00
Adam Gessaman 3484c2eb3b Increase MQTT preset count from 15 to 17 and add two new presets for Mesh Core CA. 2026-05-24 10:35:07 -07:00
Liam Cottle 2183805c24 Merge pull request #2615 from omeg/omeg/respect-i2c-address
Respect predefined I2C addresses in EnvironmentSensorManager
2026-05-25 00:04:49 +12:00
Rafał Wojdyła eb53c61f17 Respect predefined I2C addresses in EnvironmentSensorManager 2026-05-24 13:16:50 +02:00
fdlamotte 73c7718b9e Merge pull request #2235 from jirogit/fix/lr1110-rxgain-cli-guard
fix: enable radio.rxgain CLI command for LR1110 (T1000-E)
2026-05-24 11:56:23 +02:00
Adam Gessaman 5a99492c1a Merge upstream/dev into mqtt-bridge-implementation-flex
Pick up meshcore-dev changes since last upstream merge.
2026-05-23 13:12:39 -07:00
Adam Gessaman 785a9c6d0a Increase MQTT preset count from 13 to 15 and add two new presets for Dutch Mesh Core. 2026-05-23 13:10:07 -07:00
ripplebiz e251dc1659 Merge pull request #2540 from agessaman/feat/regions-quick-loasd
Add bulk region hierarchy command to CLI
2026-05-23 18:37:28 +10:00
ripplebiz 26d0001301 Merge pull request #2608 from recrof/flood-advert-interval-47
Set flood advert interval to 47h for new installs
2026-05-23 15:37:31 +10:00
ripplebiz dc00790f79 Merge pull request #2604 from recrof/patch-1
Companion repeat: update to more usable default EU frequency
2026-05-23 15:19:30 +10:00
mikecarper bf389b34a1 Document Keymind branch settings v1.15.0-halo-keymind-dev-bf389b34 2026-05-22 15:15:36 -07:00
mikecarper 0b245d51bf Update Halo Keymind settings docs 2026-05-22 15:12:41 -07:00
mikecarper 1ded5b34e6 build.sh: show on-off prompts as on(1)/off(0) 2026-05-22 14:59:47 -07:00
mikecarper 815bd2c1c3 build.sh: accept 1/0 for on/off prompts 2026-05-22 14:59:47 -07:00
mikecarper 6d7dfa6814 build.sh: add interactive Wi-Fi build settings overrides 2026-05-22 14:59:47 -07:00
mikecarper f47b0872ac build.sh: fix radio override flags for PlatformIO ordering 2026-05-22 14:59:11 -07:00
mikecarper e1ba591a31 build.sh: retry radio preset API fetch with browser headers 2026-05-22 14:59:11 -07:00