Skip to content

HELP/WIP Create QUICKSTART.md#3

Closed
NyanHelsing wants to merge 1 commit into
meshcore-dev:mainfrom
NyanHelsing:NyanHelsing-patch-1
Closed

HELP/WIP Create QUICKSTART.md#3
NyanHelsing wants to merge 1 commit into
meshcore-dev:mainfrom
NyanHelsing:NyanHelsing-patch-1

Conversation

@NyanHelsing

@NyanHelsing NyanHelsing commented Jan 25, 2025

Copy link
Copy Markdown

hey any thoughts? im' getting errors when i build still;

eg

  • src/helpers/BaseChatMesh.cpp:2:10: fatal error: base64.hpp: No such file or directory
    • i did platformio pkg install -l densaugeo/base64 to resolve.
  • examples/simple_repeater/main.cpp:7:12: fatal error: SPIFFS.h: No such file or directory
    • ???

Also is there an -e tdeck i can run?

@NyanHelsing NyanHelsing changed the title WIP Create QUICKSTART.md HELP/WIP Create QUICKSTART.md Jan 25, 2025
@ripplebiz

Copy link
Copy Markdown
Member

Thanks for this. Looks ok.
There is no TDeck environment. The TDeck firmware is commercial.

@ripplebiz

Copy link
Copy Markdown
Member

The base64 should be handled by the lib_deps addition that you see.
Not sure why that one (densaugeo/base64 @ ~1.4.0) would not resolve(?)
Seems to be in the PIO registry.

@ripplebiz

Copy link
Copy Markdown
Member

Ah, found the problem you mentioned about base64.hpp, etc.
My bad. I've tested ALL the build target/envs now and they all build successfully now.

@NyanHelsing

Copy link
Copy Markdown
Author

the tdeck firmware is closed source? seriously??

@ripplebiz ripplebiz closed this Mar 11, 2025
ripplebiz pushed a commit that referenced this pull request May 23, 2025
Revert "RAK4631 analogue user button on input 31"
ripplebiz pushed a commit that referenced this pull request Aug 29, 2025
agessaman referenced this pull request in agessaman/MeshCore Nov 8, 2025
Revert "RAK4631 analogue user button on input 31"
agessaman referenced this pull request in agessaman/MeshCore Nov 8, 2025
arijanluiken added a commit to arijanluiken/MeshCore that referenced this pull request Dec 11, 2025
…alidation

- Issue meshcore-dev#3: Replace all strcpy/sprintf with strncpy/snprintf to prevent buffer overflows
  * Fixed CommonCLI.cpp: All command responses now use bounded string operations
  * Fixed RegionMap.cpp: Safe string copying for wildcard name
  * Removed password echoing (security issue)

- Issue meshcore-dev#7: Improve Packet::readFrom() validation
  * Add bounds checking before all memory operations
  * Validate minimum packet size upfront
  * Check transport codes fit in buffer before copying
  * Verify path_len and payload_len before memcpy
  * Prevent buffer overruns from malformed packets
ripplebiz pushed a commit that referenced this pull request Mar 20, 2026
Default LNA enabled=true and fix the sleep order
yellowcooln pushed a commit to yellowcooln/MeshCore-washtastic-e22p that referenced this pull request Apr 8, 2026
[codex] improve photon repeater GPS behavior
ksanislo added a commit to ksanislo/MeshCore-LVGL that referenced this pull request May 26, 2026
… placeholders

Three related improvements grouped because they share the same console.py
file and would require interactive hunk-staging to split:

1) `get all` virtual command (console-side intercept):
   - Same output as the --get-all CLI flag, but available inside the
     interactive shell as `get all`.
   - Added "all" to GET_PROPS so tab completion offers it.
   - Added intercept_with_serial() helper for commands that need the
     serial port (vs the existing intercept() for pure client-side
     commands like help/exit).
   - Added 3 more entries to GET_ALL_COMMANDS that were missing:
     `board` (hardware manufacturer/model), `clock` (RTC time, useful
     for sync verification), and `get bridge.type` (legacy bridge
     compilation status).

2) Event-driven send_and_collect (console-side performance):
   - Was: fixed `settle` sleep + drain loop. Each command paid ~500ms
     regardless of actual reply time. `--get-all` took ~25s.
   - Now: poll for the firmware's `  -> <reply>\\n` marker pattern;
     return as soon as the reply is complete. Typical reply: 30-80ms.
   - `settle` parameter now means "no-reply fallback timeout" (default
     0.1s) instead of fixed initial wait. Reply-producing commands
     extend the deadline by 200ms once the marker is seen, so slow
     replies don't get truncated.
   - `--get-all` now takes ~2-4s; single `get foo` ~30-80ms.
   - Function signature and default value preserved -- all existing
     callers (one-shot, batch, interactive) work without changes.

3) {client_id} / {pubkey} placeholders in mqtt.topic_prefix and
   mqtt.subscribe (firmware change):
   - New expandPlaceholders() helper in MqttBridge. Substitutes
     {client_id} (resolved client id, possibly auto-derived from
     pubkey) and {pubkey} (first 8 hex chars of this device's pubkey).
     Unknown placeholders pass through literally.
   - Applied at connect time so changes to mqtt.client_id automatically
     re-resolve the topic_prefix on next applyMqttConfig() cycle.
   - The empty default for mqtt.topic_prefix is now conceptually
     "meshcore/{client_id}" -- runs through the same expansion path
     instead of being a separate hard-coded snprintf.
   - Console help (`help mqtt`) and BLANK_DEFAULT_DESCRIPTIONS updated
     to mention placeholders, with examples.

Footprint impact for meshcore-dev#3 (firmware): +176 bytes RAM, +928 bytes flash.
Total stack at heltec_v4_repeater_mqtt: 3.6% RAM, 20.4% flash.
c03rad0r added a commit to c03rad0r/MeshCore that referenced this pull request Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants