Merge remote-tracking branch 'origin/dev' into mqtt-bridge-implementation-flex

Resolve conflicts: keep MQTT prefs skip/pad and append rx_boosted_gain I/O
per dev layout; add devcontainer node feature from dev.

Made-with: Cursor
This commit is contained in:
agessaman
2026-03-28 08:37:42 -07:00
25 changed files with 804 additions and 49 deletions
+47 -2
View File
@@ -106,6 +106,13 @@ This document provides an overview of CLI commands that can be sent to MeshCore
---
### Discover zero hop neighbors
**Usage:**
- `discover.neighbors`
---
## Statistics
### Clear Stats
@@ -238,6 +245,22 @@ This document provides an overview of CLI commands that can be sent to MeshCore
**Note:** Requires reboot to apply
**Serial Only:** `set freq <frequency>`
---
#### View or change this node's rx boosted gain mode (SX12xx only, v1.14.1+)
**Usage:**
- `get radio.rxgain`
- `set radio.rxgain <state>`
**Parameters:**
- `state`: `on`|`off`
**Default:** `on`
**Temporary Note:** If you upgraded from an older version to 1.14.1 without erasing flash, this setting is `off` because of [#2118](https://github.com/meshcore-dev/MeshCore/issues/2118)
---
### System
#### View or change this node's name
@@ -477,7 +500,29 @@ This document provides an overview of CLI commands that can be sent to MeshCore
---
#### View or change the duty cycle limit
**Usage:**
- `get dutycycle`
- `set dutycycle <value>`
**Parameters:**
- `value`: Duty cycle percentage (1-100)
**Default:** `50%` (equivalent to airtime factor 1.0)
**Examples:**
- `set dutycycle 100` — no duty cycle limit
- `set dutycycle 50` — 50% duty cycle (default)
- `set dutycycle 10` — 10% duty cycle
- `set dutycycle 1` — 1% duty cycle (strictest EU requirement)
> **Note:** Added in firmware v1.15.0
---
#### View or change the airtime factor (duty cycle limit)
> **Deprecated** as of firmware v1.15.0. Use [`get/set dutycycle`](#view-or-change-the-duty-cycle-limit) instead.
**Usage:**
- `get af`
- `set af <value>`
@@ -487,8 +532,8 @@ This document provides an overview of CLI commands that can be sent to MeshCore
- `af = 1` → ~50% duty
- `af = 2` → ~33% duty
- `af = 3` → ~25% duty
- `af = 9` → ~10% duty
Yyou are responsible for choosing a value that is appropriate for your jurisdiction and channel plan (for example EU 868 Mhz 10% duty cycle regulation).
- `af = 9` → ~10% duty
You are responsible for choosing a value that is appropriate for your jurisdiction and channel plan (for example EU 868 Mhz 10% duty cycle regulation).
**Default:** `1.0`
+27
View File
@@ -281,6 +281,33 @@ Bytes 7+: Message Text (UTF-8, variable length)
---
### 6. Send Channel Data Datagram
**Purpose**: Send binary datagram data to a channel.
**Command Format**:
```
Byte 0: 0x3E
Bytes 1-2: Data Type (`data_type`, 16-bit little-endian)
Byte 3: Channel Index (0-7)
Bytes 4+: Binary payload bytes (variable length)
```
**Data Type / Transport Mapping**:
- `0x0000` is invalid for this command.
- `0xFFFF` (`DATA_TYPE_DEV`) is the developer namespace for experimenting and developing apps.
- Other non-zero values can be used as assigned application/community namespaces.
**Note**: Applications that need a timestamp should encode it inside the binary payload.
**Limits**:
- Maximum payload length is `163` bytes.
- Larger payloads are rejected with `PACKET_ERROR`.
**Response**: `PACKET_OK` (0x00) on success
---
### 6. Get Message
**Purpose**: Request the next queued message from the device.
+1 -1
View File
@@ -386,7 +386,7 @@ https://github.com/meshcore-dev/MeshCore/blob/main/src/Packet.h#L19
#define PAYLOAD_TYPE_TXT_MSG 0x02 // a plain text message (prefixed with dest/src hashes, MAC) (enc data: timestamp, text)
#define PAYLOAD_TYPE_ACK 0x03 // a simple ack #define PAYLOAD_TYPE_ADVERT 0x04 // a node advertising its Identity
#define PAYLOAD_TYPE_GRP_TXT 0x05 // an (unverified) group text message (prefixed with channel hash, MAC) (enc data: timestamp, "name: msg")
#define PAYLOAD_TYPE_GRP_DATA 0x06 // an (unverified) group datagram (prefixed with channel hash, MAC) (enc data: timestamp, blob)
#define PAYLOAD_TYPE_GRP_DATA 0x06 // an (unverified) group datagram (prefixed with channel hash, MAC) (enc data: data_type, data_len, blob)
#define PAYLOAD_TYPE_ANON_REQ 0x07 // generic request (prefixed with dest_hash, ephemeral pub_key, MAC) (enc data: ...)
#define PAYLOAD_TYPE_PATH 0x08 // returned path (prefixed with dest/src hashes, MAC) (enc data: path, extra)
+6 -1
View File
@@ -27,10 +27,15 @@ set lon {longitude}
```
Sets your advertisement map longitude. (decimal degrees)
```
set dutycycle {percent}
```
Sets the transmit duty cycle limit (1-100%). Example: `set dutycycle 10` for 10%.
```
set af {air-time-factor}
```
Sets the transmit air-time-factor.
Sets the transmit air-time-factor. Deprecated — use `set dutycycle` instead.
```