Browse Source
Merge branch 'meshcore-dev:main' into add-uf2reset-cli
pull/2325/head
mikecarper
4 weeks ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with
9 additions and
2 deletions
-
README.md
-
docs/cli_commands.md
-
src/Mesh.cpp
|
|
@ -28,7 +28,7 @@ MeshCore provides the ability to create wireless mesh networks, similar to Mesht |
|
|
|
|
|
|
|
|
## 🚀 How to Get Started |
|
|
## 🚀 How to Get Started |
|
|
|
|
|
|
|
|
- Watch the [MeshCore Intro Video](https://www.youtube.com/watch?v=t1qne8uJBAc) by Andy Kirby. |
|
|
- Watch the [MeshCore QuickStart Playlist](https://www.youtube.com/watch?v=iaFltojJrAc&list=PLshzThxhw4O4WU_iZo3NmNZOv6KMrUuF9) by The Comms Channel |
|
|
- Watch the [MeshCore Technical Presentation](https://www.youtube.com/watch?v=OwmkVkZQTf4) by Liam Cottle. |
|
|
- Watch the [MeshCore Technical Presentation](https://www.youtube.com/watch?v=OwmkVkZQTf4) by Liam Cottle. |
|
|
- Read through our [Frequently Asked Questions](./docs/faq.md) and [Documentation](https://docs.meshcore.io). |
|
|
- Read through our [Frequently Asked Questions](./docs/faq.md) and [Documentation](https://docs.meshcore.io). |
|
|
- Flash the MeshCore firmware on a supported device. |
|
|
- Flash the MeshCore firmware on a supported device. |
|
|
|
|
|
@ -415,6 +415,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 |
|
|
#### View this node's configured role |
|
|
**Usage:** `get role` |
|
|
**Usage:** `get role` |
|
|
|
|
|
|
|
|
|
|
|
@ -50,7 +50,9 @@ DispatcherAction Mesh::onRecvPacket(Packet* pkt) { |
|
|
uint8_t path_sz = flags & 0x03; // NEW v1.11+: lower 2 bits is path hash size
|
|
|
uint8_t path_sz = flags & 0x03; // NEW v1.11+: lower 2 bits is path hash size
|
|
|
|
|
|
|
|
|
uint8_t len = pkt->payload_len - i; |
|
|
uint8_t len = pkt->payload_len - i; |
|
|
uint8_t offset = pkt->path_len << path_sz; |
|
|
// path_len*entry_size can exceed 255 (path_len up to 63, entry_size up to 8);
|
|
|
|
|
|
// a uint8_t offset would wrap and steer the isHashMatch() read to the wrong place.
|
|
|
|
|
|
uint16_t offset = (uint16_t)pkt->path_len << path_sz; |
|
|
if (offset >= len) { // TRACE has reached end of given path
|
|
|
if (offset >= len) { // TRACE has reached end of given path
|
|
|
onTraceRecv(pkt, trace_tag, auth_code, flags, pkt->path, &pkt->payload[i], len); |
|
|
onTraceRecv(pkt, trace_tag, auth_code, flags, pkt->path, &pkt->payload[i], len); |
|
|
} else if (self_id.isHashMatch(&pkt->payload[i + offset], 1 << path_sz) && allowPacketForward(pkt) && !_tables->hasSeen(pkt)) { |
|
|
} else if (self_id.isHashMatch(&pkt->payload[i + offset], 1 << path_sz) && allowPacketForward(pkt) && !_tables->hasSeen(pkt)) { |
|
|
|