Browse Source
Merge branch 'meshcore-dev:main' into feature/rtc-cli-status
pull/2710/head
Paweł Małecki
1 week ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with
26 additions and
19 deletions
-
.github/actions/setup-build-environment/action.yml
-
.github/workflows/build-companion-firmwares.yml
-
.github/workflows/build-repeater-firmwares.yml
-
.github/workflows/build-room-server-firmwares.yml
-
.github/workflows/github-pages.yml
-
.github/workflows/pr-build-check.yml
-
README.md
-
docs/cli_commands.md
-
src/Mesh.cpp
|
|
|
@ -4,7 +4,7 @@ runs: |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Init Cache |
|
|
|
uses: actions/cache@v4 |
|
|
|
uses: actions/cache@v5 |
|
|
|
with: |
|
|
|
path: | |
|
|
|
~/.cache/pip |
|
|
|
@ -12,9 +12,9 @@ runs: |
|
|
|
key: ${{ runner.os }}-pio |
|
|
|
|
|
|
|
- name: Install Python |
|
|
|
uses: actions/setup-python@v5 |
|
|
|
uses: actions/setup-python@v6 |
|
|
|
with: |
|
|
|
python-version: '3.11' |
|
|
|
python-version: '3.13' |
|
|
|
|
|
|
|
- name: Install PlatformIO |
|
|
|
shell: bash |
|
|
|
|
|
|
|
@ -16,7 +16,7 @@ jobs: |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Clone Repo |
|
|
|
uses: actions/checkout@v4 |
|
|
|
uses: actions/checkout@v6 |
|
|
|
|
|
|
|
- name: Setup Build Environment |
|
|
|
uses: ./.github/actions/setup-build-environment |
|
|
|
@ -27,13 +27,13 @@ jobs: |
|
|
|
run: /usr/bin/env bash build.sh build-companion-firmwares |
|
|
|
|
|
|
|
- name: Upload Workflow Artifacts |
|
|
|
uses: actions/upload-artifact@v4 |
|
|
|
uses: actions/upload-artifact@v7 |
|
|
|
with: |
|
|
|
name: companion-firmwares |
|
|
|
path: out |
|
|
|
|
|
|
|
- name: Create Release |
|
|
|
uses: softprops/action-gh-release@v2 |
|
|
|
uses: softprops/action-gh-release@v3 |
|
|
|
if: startsWith(github.ref, 'refs/tags/') |
|
|
|
with: |
|
|
|
name: Companion Firmware ${{ env.GIT_TAG_VERSION }} |
|
|
|
|
|
|
|
@ -16,7 +16,7 @@ jobs: |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Clone Repo |
|
|
|
uses: actions/checkout@v4 |
|
|
|
uses: actions/checkout@v6 |
|
|
|
|
|
|
|
- name: Setup Build Environment |
|
|
|
uses: ./.github/actions/setup-build-environment |
|
|
|
@ -27,13 +27,13 @@ jobs: |
|
|
|
run: /usr/bin/env bash build.sh build-repeater-firmwares |
|
|
|
|
|
|
|
- name: Upload Workflow Artifacts |
|
|
|
uses: actions/upload-artifact@v4 |
|
|
|
uses: actions/upload-artifact@v7 |
|
|
|
with: |
|
|
|
name: repeater-firmwares |
|
|
|
path: out |
|
|
|
|
|
|
|
- name: Create Release |
|
|
|
uses: softprops/action-gh-release@v2 |
|
|
|
uses: softprops/action-gh-release@v3 |
|
|
|
if: startsWith(github.ref, 'refs/tags/') |
|
|
|
with: |
|
|
|
name: Repeater Firmware ${{ env.GIT_TAG_VERSION }} |
|
|
|
|
|
|
|
@ -16,7 +16,7 @@ jobs: |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Clone Repo |
|
|
|
uses: actions/checkout@v4 |
|
|
|
uses: actions/checkout@v6 |
|
|
|
|
|
|
|
- name: Setup Build Environment |
|
|
|
uses: ./.github/actions/setup-build-environment |
|
|
|
@ -27,13 +27,13 @@ jobs: |
|
|
|
run: /usr/bin/env bash build.sh build-room-server-firmwares |
|
|
|
|
|
|
|
- name: Upload Workflow Artifacts |
|
|
|
uses: actions/upload-artifact@v4 |
|
|
|
uses: actions/upload-artifact@v7 |
|
|
|
with: |
|
|
|
name: room-server-firmwares |
|
|
|
path: out |
|
|
|
|
|
|
|
- name: Create Release |
|
|
|
uses: softprops/action-gh-release@v2 |
|
|
|
uses: softprops/action-gh-release@v3 |
|
|
|
if: startsWith(github.ref, 'refs/tags/') |
|
|
|
with: |
|
|
|
name: Room Server Firmware ${{ env.GIT_TAG_VERSION }} |
|
|
|
|
|
|
|
@ -15,12 +15,12 @@ jobs: |
|
|
|
steps: |
|
|
|
|
|
|
|
- name: Checkout Repo |
|
|
|
uses: actions/checkout@v4 |
|
|
|
uses: actions/checkout@v6 |
|
|
|
|
|
|
|
- name: Setup Python |
|
|
|
uses: actions/setup-python@v5 |
|
|
|
uses: actions/setup-python@v6 |
|
|
|
with: |
|
|
|
ruby-version: 3.x |
|
|
|
python-version: '3.13' |
|
|
|
|
|
|
|
- name: Build |
|
|
|
run: | |
|
|
|
@ -28,7 +28,7 @@ jobs: |
|
|
|
mkdocs build |
|
|
|
|
|
|
|
- name: Deploy to GitHub Pages |
|
|
|
uses: peaceiris/actions-gh-pages@v3 |
|
|
|
uses: peaceiris/actions-gh-pages@v4.1.0 |
|
|
|
with: |
|
|
|
github_token: ${{ secrets.GITHUB_TOKEN }} |
|
|
|
cname: docs.meshcore.io |
|
|
|
|
|
|
|
@ -42,7 +42,7 @@ jobs: |
|
|
|
|
|
|
|
steps: |
|
|
|
- name: Clone Repo |
|
|
|
uses: actions/checkout@v4 |
|
|
|
uses: actions/checkout@v6 |
|
|
|
|
|
|
|
- name: Setup Build Environment |
|
|
|
uses: ./.github/actions/setup-build-environment |
|
|
|
|
|
|
|
@ -28,7 +28,7 @@ MeshCore provides the ability to create wireless mesh networks, similar to Mesht |
|
|
|
|
|
|
|
## 🚀 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. |
|
|
|
- Read through our [Frequently Asked Questions](./docs/faq.md) and [Documentation](https://docs.meshcore.io). |
|
|
|
- Flash the MeshCore firmware on a supported device. |
|
|
|
|
|
|
|
@ -405,6 +405,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` |
|
|
|
|
|
|
|
|
|
|
|
@ -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 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
|
|
|
|
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)) { |
|
|
|
|