Browse Source

Merge branch 'meshcore-dev:main' into feature/rtc-cli-status

pull/2710/head
Paweł Małecki 1 week ago
committed by GitHub
parent
commit
c302a91338
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      .github/actions/setup-build-environment/action.yml
  2. 6
      .github/workflows/build-companion-firmwares.yml
  3. 6
      .github/workflows/build-repeater-firmwares.yml
  4. 6
      .github/workflows/build-room-server-firmwares.yml
  5. 8
      .github/workflows/github-pages.yml
  6. 2
      .github/workflows/pr-build-check.yml
  7. 2
      README.md
  8. 5
      docs/cli_commands.md
  9. 4
      src/Mesh.cpp

6
.github/actions/setup-build-environment/action.yml

@ -4,7 +4,7 @@ runs:
steps: steps:
- name: Init Cache - name: Init Cache
uses: actions/cache@v4 uses: actions/cache@v5
with: with:
path: | path: |
~/.cache/pip ~/.cache/pip
@ -12,9 +12,9 @@ runs:
key: ${{ runner.os }}-pio key: ${{ runner.os }}-pio
- name: Install Python - name: Install Python
uses: actions/setup-python@v5 uses: actions/setup-python@v6
with: with:
python-version: '3.11' python-version: '3.13'
- name: Install PlatformIO - name: Install PlatformIO
shell: bash shell: bash

6
.github/workflows/build-companion-firmwares.yml

@ -16,7 +16,7 @@ jobs:
steps: steps:
- name: Clone Repo - name: Clone Repo
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Setup Build Environment - name: Setup Build Environment
uses: ./.github/actions/setup-build-environment uses: ./.github/actions/setup-build-environment
@ -27,13 +27,13 @@ jobs:
run: /usr/bin/env bash build.sh build-companion-firmwares run: /usr/bin/env bash build.sh build-companion-firmwares
- name: Upload Workflow Artifacts - name: Upload Workflow Artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v7
with: with:
name: companion-firmwares name: companion-firmwares
path: out path: out
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
with: with:
name: Companion Firmware ${{ env.GIT_TAG_VERSION }} name: Companion Firmware ${{ env.GIT_TAG_VERSION }}

6
.github/workflows/build-repeater-firmwares.yml

@ -16,7 +16,7 @@ jobs:
steps: steps:
- name: Clone Repo - name: Clone Repo
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Setup Build Environment - name: Setup Build Environment
uses: ./.github/actions/setup-build-environment uses: ./.github/actions/setup-build-environment
@ -27,13 +27,13 @@ jobs:
run: /usr/bin/env bash build.sh build-repeater-firmwares run: /usr/bin/env bash build.sh build-repeater-firmwares
- name: Upload Workflow Artifacts - name: Upload Workflow Artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v7
with: with:
name: repeater-firmwares name: repeater-firmwares
path: out path: out
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
with: with:
name: Repeater Firmware ${{ env.GIT_TAG_VERSION }} name: Repeater Firmware ${{ env.GIT_TAG_VERSION }}

6
.github/workflows/build-room-server-firmwares.yml

@ -16,7 +16,7 @@ jobs:
steps: steps:
- name: Clone Repo - name: Clone Repo
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Setup Build Environment - name: Setup Build Environment
uses: ./.github/actions/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 run: /usr/bin/env bash build.sh build-room-server-firmwares
- name: Upload Workflow Artifacts - name: Upload Workflow Artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v7
with: with:
name: room-server-firmwares name: room-server-firmwares
path: out path: out
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
with: with:
name: Room Server Firmware ${{ env.GIT_TAG_VERSION }} name: Room Server Firmware ${{ env.GIT_TAG_VERSION }}

8
.github/workflows/github-pages.yml

@ -15,12 +15,12 @@ jobs:
steps: steps:
- name: Checkout Repo - name: Checkout Repo
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Setup Python - name: Setup Python
uses: actions/setup-python@v5 uses: actions/setup-python@v6
with: with:
ruby-version: 3.x python-version: '3.13'
- name: Build - name: Build
run: | run: |
@ -28,7 +28,7 @@ jobs:
mkdocs build mkdocs build
- name: Deploy to GitHub Pages - name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3 uses: peaceiris/actions-gh-pages@v4.1.0
with: with:
github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
cname: docs.meshcore.io cname: docs.meshcore.io

2
.github/workflows/pr-build-check.yml

@ -42,7 +42,7 @@ jobs:
steps: steps:
- name: Clone Repo - name: Clone Repo
uses: actions/checkout@v4 uses: actions/checkout@v6
- name: Setup Build Environment - name: Setup Build Environment
uses: ./.github/actions/setup-build-environment uses: ./.github/actions/setup-build-environment

2
README.md

@ -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.

5
docs/cli_commands.md

@ -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 #### View this node's configured role
**Usage:** `get role` **Usage:** `get role`

4
src/Mesh.cpp

@ -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)) {

Loading…
Cancel
Save