mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-10-23 20:22:26 +00:00
merge: upstream/dev into webconfig (v1.16.0 base -> 2026-07-19)
First upstream merge since the 2026-06-06 base (191 upstream commits). 14 files conflicted; resolutions below. Fleet-critical check (Constraint 1): upstream reordered NodePrefs members (rx_boosted_gain / path_hash_mode moved to the struct tail) but did NOT change /com_prefs. Persistence is written field-by-field at explicit offsets, so member order is in-memory only. Verified the fork's writeCommonPrefsImage() is byte-identical to upstream's inline writer at every offset (79 pad, 121, 122, 290-294). No migration needed. Resolutions: - CommonCLI.h: kept the fork's NodePrefs (superset) and adopted upstream's setRxBoostedGain(bool)->bool signature change, which CommonCLI.cpp now uses to report unsupported. Corrected a stale comment claiming rx_boosted_gain lives at offset 79 (it is a pad; the field is at 290). - CommonCLI.cpp: kept the fork's legacy /com_prefs migration and the extracted writeCommonPrefsImage() call. - UITask.cpp: three-way merge - upstream's drawTextCentered + powering-off screen, plus the fork's WITH_WEBCONFIG portal/reboot screens. - ESP32Board.cpp, MeshCore.h, platformio.ini: kept both sides (fork OTA additions alongside upstream powerOff/enterDeepSleep and Packet.cpp). - MicroNMEALocationProvider.h: took upstream's claim/release and added the _claims member they depend on. - MyMesh.cpp/.h (repeater + room server): kept the fork's superset defaults. - Removed duplicate declarations auto-merge produced: RadioLibWrapper::_cad_enabled and MyMesh::getCADEnabled(). Verification: native suite 15/15 (incl. upstream's new test_mesh_tables), both MQTT smoke builds green, ArduinoJson pin check passes. Hardware validation next.
This commit is contained in:
commit
15e3400a28
206 files changed
+6259
-834
No files matched your search
@@ -19,6 +19,7 @@ This document provides an overview of CLI commands that can be sent to MeshCore
|
||||
- [GPS](#gps-when-gps-support-is-compiled-in)
|
||||
- [Sensors](#sensors-when-sensor-support-is-compiled-in)
|
||||
- [Bridge](#bridge-when-bridge-support-is-compiled-in)
|
||||
- [Ethernet](#ethernet-when-ethernet-support-is-compiled-in)
|
||||
|
||||
---
|
||||
|
||||
@@ -261,6 +262,20 @@ This document provides an overview of CLI commands that can be sent to MeshCore
|
||||
|
||||
---
|
||||
|
||||
#### View or change the LoRa FEM receive-path gain state on supported boards
|
||||
**Usage:**
|
||||
- `get radio.fem.rxgain`
|
||||
- `set radio.fem.rxgain <state>`
|
||||
|
||||
**Parameters:**
|
||||
- `state`: `on`|`off`
|
||||
|
||||
**Notes:**
|
||||
- This controls the external LoRa FEM receive-path LNA where the board supports it.
|
||||
- This is separate from `radio.rxgain`, which controls the radio chip receive gain mode.
|
||||
|
||||
---
|
||||
|
||||
### System
|
||||
|
||||
#### View or change this node's name
|
||||
@@ -389,6 +404,11 @@ This document provides an overview of CLI commands that can be sent to MeshCore
|
||||
|
||||
---
|
||||
|
||||
#### View this node's firmware version
|
||||
**Usage:** `ver`
|
||||
|
||||
---
|
||||
|
||||
#### View this node's configured role
|
||||
**Usage:** `get role`
|
||||
|
||||
@@ -557,6 +577,20 @@ This document provides an overview of CLI commands that can be sent to MeshCore
|
||||
|
||||
---
|
||||
|
||||
#### Enable or disable hardware Channel Activity Detection (CAD)
|
||||
**Usage:**
|
||||
- `get cad`
|
||||
- `set cad <on|off>`
|
||||
|
||||
**Description:** When enabled, the radio performs a hardware Channel Activity Detection scan before transmitting and defers if the channel is busy. Runs independently of `int.thresh` — either, both, or none may be active.
|
||||
|
||||
**Parameters:**
|
||||
- `on|off`: Enable or disable hardware CAD
|
||||
|
||||
**Default:** `off`
|
||||
|
||||
---
|
||||
|
||||
#### View or change the AGC Reset Interval
|
||||
**Usage:**
|
||||
- `get agc.reset.interval`
|
||||
@@ -1167,3 +1201,25 @@ Requires WiFi connected and the MQTT bridge running.
|
||||
**Note:** Returns an error on boards without power management support.
|
||||
|
||||
---
|
||||
|
||||
### Ethernet (when Ethernet support is compiled in)
|
||||
|
||||
Ethernet support is available on RAK4631 boards with a RAK13800 (W5100S) Ethernet module. Use the `_ethernet` firmware variants (e.g. `RAK_4631_repeater_ethernet`) to enable this feature.
|
||||
|
||||
---
|
||||
|
||||
#### View Ethernet connection status
|
||||
**Usage:**
|
||||
- `eth.status`
|
||||
|
||||
**Output:**
|
||||
- `ETH: <ip>:<port>` when connected (e.g. `ETH: 192.168.1.50:23`)
|
||||
- `ETH: not connected` when Ethernet is not active
|
||||
|
||||
**Notes:**
|
||||
- Available on repeater and room server firmware only. Companion radio ethernet firmware does not expose a CLI.
|
||||
- The Ethernet interface obtains an IP address via DHCP automatically on boot.
|
||||
- A TCP server listens on port 23 (default) for CLI connections.
|
||||
- Connect with any TCP client (e.g. `nc`, PuTTY) to access the same CLI available over serial.
|
||||
|
||||
---
|
||||
+28
-9
@@ -83,6 +83,7 @@ A list of frequently-asked questions and answers for MeshCore
|
||||
- [7.5. Q: What is the format of a contact or channel QR code?](#75-q-what-is-the-format-of-a-contact-or-channel-qr-code)
|
||||
- [7.6. Q: How do I connect to the companion via Wi-Fi, e.g. using a Heltec V3?](#76-q-how-do-i-connect-to-the-companion-via-wi-fi-eg-using-a-heltec-v3)
|
||||
- [7.7. Q: I have a Station G2, or a Heltec V4, or an Ikoka Stick, or a radio with an EByte E22-900M30S or an EByte E22-900M33S module, what should their transmit power be set to?](#77-q-i-have-a-station-g2-or-a-heltec-v4-or-an-ikoka-stick-or-a-radio-with-an-ebyte-e22-900m30s-or-an-ebyte-e22-900m33s-module-what-should-their-transmit-power-be-set-to)
|
||||
- [7.8. Q: How do I use Ethernet with a RAK4631?](#78-q-how-do-i-use-ethernet-with-a-rak4631)
|
||||
|
||||
## 1. Introduction
|
||||
|
||||
@@ -111,7 +112,6 @@ Anyone is able to build anything they like on top of MeshCore without paying any
|
||||
- MeshCore Firmware on GitHub: [https://github.com/meshcore-dev/MeshCore](https://github.com/meshcore-dev/MeshCore)
|
||||
- MeshCore Companion Web App: [https://app.meshcore.nz](https://app.meshcore.nz)
|
||||
- MeshCore Map: [https://map.meshcore.io](https://map.meshcore.io)
|
||||
- Andy Kirby's [MeshCore Intro Video](https://www.youtube.com/watch?v=t1qne8uJBAc)
|
||||
- Liam Cottle's [MeshCore Technical Presentation](https://www.youtube.com/watch?v=OwmkVkZQTf4)
|
||||
|
||||
You need LoRa hardware devices to run MeshCore firmware as clients or server (repeater and room server).
|
||||
@@ -392,10 +392,7 @@ Another way to download map tiles is to use this Python script to get the tiles
|
||||
<https://github.com/fistulareffigy/MTD-Script>
|
||||
|
||||
There is also a modified script that adds additional error handling and parallel downloads:
|
||||
<https://discord.com/channels/826570251612323860/1330643963501351004/1338775811548905572>
|
||||
|
||||
UK map tiles are available separately from Andy Kirby on his discord server:
|
||||
<https://discord.com/channels/826570251612323860/1330643963501351004/1331346597367386224>
|
||||
<https://github.com/TheBestJohn/MTD-Script>
|
||||
|
||||
### 4.8. Q: Where do the map tiles go?
|
||||
Once you have the tiles downloaded, copy the `\tiles` folder to the root of your T-Deck's SD card.
|
||||
@@ -553,10 +550,6 @@ pio run -e RAK_4631_Repeater
|
||||
```
|
||||
then you'll find `firmware.zip` in `.pio/build/RAK_4631_Repeater`
|
||||
|
||||
Andy also has a video on how to build using VS Code:
|
||||
*How to build and flash Meshcore repeater firmware | Heltec V3*
|
||||
<https://www.youtube.com/watch?v=WJvg6dt13hk> *(Link referenced in the Discord post)*
|
||||
|
||||
### 5.10. Q: Are there other MeshCore related open source projects?
|
||||
|
||||
**A:** [Liam Cottle](https://liamcottle.net)'s MeshCore web client and MeshCore JavaScript library are open source under MIT license.
|
||||
@@ -828,3 +821,29 @@ For companion radios, you can set these radios' transmit power in the smartphone
|
||||
| **Ikoka Stick E22-900M33S** | 2W Model | 9 dBm | 2W | **DO NOT EXCEED** (Risk of burn out) [data sheet](https://www.cdebyte.com/pdf-down.aspx?id=4216) Refer to your local government's requirements |
|
||||
| **Heltec V4** | Standard Output | 10 dBm | 22 dBm (~0.15W) | |
|
||||
| | High Output | 22 dBm | 28 dBm (~0.5W to 0.6W) | |
|
||||
|
||||
---
|
||||
|
||||
### 7.8. Q: How do I use Ethernet with a RAK4631?
|
||||
**A:**
|
||||
MeshCore supports Ethernet on RAK4631 boards using the [RAK13800](https://docs.rakwireless.com/product-categories/wisblock/rak13800/datasheet/) WisBlock Ethernet module (based on the W5100S chip).
|
||||
|
||||
**Hardware required:**
|
||||
- RAK4631 WisBlock Core
|
||||
- RAK19007 or RAK19018 WisBlock Base Board (with an available IO slot)
|
||||
- RAK13800 WisBlock Ethernet module
|
||||
- Ethernet cable connected to a network with a DHCP server
|
||||
|
||||
**Firmware:**
|
||||
Flash one of the Ethernet-enabled firmware variants:
|
||||
- `RAK_4631_repeater_ethernet` - Repeater with Ethernet CLI access
|
||||
- `RAK_4631_room_server_ethernet` - Room server with Ethernet CLI access
|
||||
- `RAK_4631_companion_radio_ethernet` - Companion radio over Ethernet (replaces BLE)
|
||||
|
||||
**Connecting:**
|
||||
- The device obtains an IP address via DHCP automatically on boot.
|
||||
- For repeaters and room servers, connect to the device on TCP port 23 using any TCP client (e.g. `nc <ip> 23` or PuTTY in raw mode). This gives you the same CLI available over serial/USB.
|
||||
- For companion radio firmware, the Ethernet interface replaces BLE as the transport to companion apps. Connect on TCP port 5000 (same as the WiFi companion radio).
|
||||
- Use the `eth.status` CLI command to check connection status and see the assigned IP address.
|
||||
|
||||
---
|
||||
@@ -17,6 +17,8 @@ Once you have a working app/project, you need to be able to demonstrate it exist
|
||||
| 0000 - 00FF | -reserved for internal use- | |
|
||||
| 0100 | MeshCore Open | zsylvester@monitormx.com — https://github.com/zjs81/meshcore-open |
|
||||
| 0110 - 011F | Ripple | ripple_biz@protonmail.com — https://buymeacoffee.com/ripplebiz |
|
||||
| 0120 | MCO Advanced | most.original.address@gmail.com — https://hdden.ru/MCOa/ |
|
||||
| 0130 - 013F | StreamSensor | william@housedillon.com - https://housedillon.com/blog/lora-e5-with-seeed-fusion |
|
||||
| FF00 - FFFF | -reserved for testing/dev- | |
|
||||
|
||||
(add rows, inside the range 0100 - FEFF for custom apps)
|
||||
Reference in new issue
Block a user