Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
243184f
Tear out mesh class refactor, KISS fix to follow
mepholic Nov 8, 2025
4fd8b8c
begin implementing kiss vendor commands (meshtnc specific)
mepholic Nov 8, 2025
49f90b5
first untested whack at radio stats kiss vendor cmd
mepholic Nov 8, 2025
5d3db9f
KISS.cpp: small code cleanup
mepholic Nov 12, 2025
f035ab7
tests: beginning of multiplatform test client
mepholic Nov 12, 2025
5824090
tests/KISSTest.cpp: refactor into `openSerialPort` method
mepholic Nov 12, 2025
0180782
tests/: attempt library split, lingering link errors
mepholic Nov 15, 2025
9ff7f4f
fixes to make it compile
SlyEcho Nov 15, 2025
06e4a97
Merge pull request #44 from SlyEcho/kiss-vendor-cmds
mepholic Nov 15, 2025
a72584b
tests/: more cmake cleanup
mepholic Nov 15, 2025
8db0ca4
tests/: restructure shared libraries
mepholic Nov 16, 2025
546bb3a
Merge branch 'main' of github.com:datapartyjs/MeshTNC into kiss-vendo…
mepholic Nov 16, 2025
e004052
tests/: clean up BOOST_ROOT msvc issues
mepholic Nov 16, 2025
54954c0
Add Doxygen config
mepholic Nov 16, 2025
b41a32f
Remove old Meshcore documentation
mepholic Nov 17, 2025
1558f66
Doxygen: generate uml looking diagrams
mepholic Nov 17, 2025
98f6404
license.txt: add self-attribution
mepholic Nov 17, 2025
f1c28b0
added duini and MeshTNC libraries
mepholic Nov 24, 2025
88665a1
KISSTest.cpp cleanup, prep libs for more porting work
mepholic Nov 25, 2025
cba4ac3
Make it work on linux again
mepholic Nov 25, 2025
8dfe54a
Additional SerialPort signature changes
mepholic Nov 25, 2025
869e132
Initial Filesystem implementation
mepholic Nov 25, 2025
66ab05c
Forklift StaticPoolPacketManager
mepholic Nov 25, 2025
2e422af
Forklift CommonCLI
mepholic Nov 25, 2025
16311e5
Forklift MyMesh (golly gee I really should rename that)
mepholic Nov 25, 2025
66f4378
Add files to CMakeLists, add FS to KISSTest
mepholic Nov 25, 2025
9c631aa
Add simple DateTime library
mepholic Nov 25, 2025
37f32db
Forklift TxtDataHelpers
mepholic Nov 25, 2025
9db4e8c
Add TxtDataHelpers include to CommonCLI and TNC
mepholic Nov 25, 2025
3e90fa4
Add RTC functions to DateTime
mepholic Nov 26, 2025
9d2bab2
Split apart DateTime
mepholic Nov 26, 2025
a346d43
Add RadioDriver stubs
mepholic Nov 26, 2025
7e4ee8b
Fixup Filesystem issues
mepholic Nov 26, 2025
516e68c
Reorganize SerialPort, add print functions
mepholic Nov 26, 2025
e7578c9
Hacks for TxtDataHelper
mepholic Nov 26, 2025
478f666
Fix link errors and move PC SX1262 wrapper
mepholic Dec 15, 2025
13e982f
Pull in and heavily modify ArduinoHelpers
mepholic Dec 15, 2025
99d5e18
Add ArduinoHelpers to CMakeLists
mepholic Dec 15, 2025
c65c397
Add Arduino like millis() implementation for PC
mepholic Dec 15, 2025
d14391c
Fix link errors in CommonCLI
mepholic Dec 15, 2025
5a885fa
Fix link errors in StaticPoolPacketManager
mepholic Dec 15, 2025
1039047
Fix link errors in TxtDataHelpers
mepholic Dec 15, 2025
f277afb
Split TNC.h and TNC.cpp
mepholic Dec 15, 2025
5db1300
First "working" PC sample program :)
mepholic Dec 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ out/
.vscode/settings.json
.vscode/extensions.json
.idea/
tests/build*
docs/html
docs/latex
3,016 changes: 3,016 additions & 0 deletions Doxyfile

Large diffs are not rendered by default.

654 changes: 0 additions & 654 deletions docs/faq.md

This file was deleted.

56 changes: 0 additions & 56 deletions docs/packet_structure.md

This file was deleted.

189 changes: 0 additions & 189 deletions docs/payloads.md

This file was deleted.

16 changes: 11 additions & 5 deletions examples/simple_repeater/main.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include <Arduino.h> // needed for PlatformIO
#include <Dispatcher.h>
#include <Mesh.h>
#include <MeshCore.h>

#if defined(NRF52_PLATFORM) || defined(STM32_PLATFORM)
#include <InternalFileSystem.h>
Expand Down Expand Up @@ -73,8 +73,9 @@
#define CLI_REPLY_DELAY_MILLIS 600


class MyMesh : public mesh::Mesh, public CommonCLICallbacks {

class MyMesh : public mesh::Dispatcher, public CommonCLICallbacks {
mesh::RTCClock* _rtc;
mesh::RNG* _rng;
FILESYSTEM* _fs;
CommonCLI _cli;
bool _logging;
Expand Down Expand Up @@ -130,10 +131,13 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks {
return ((int)_prefs.agc_reset_interval) * 4000; // milliseconds
}

mesh::DispatcherAction onRecvPacket(mesh::Packet* pkt) override {
return 0;
}

public:
MyMesh(mesh::MainBoard& board, mesh::Radio& radio, mesh::MillisecondClock& ms, mesh::RNG& rng, mesh::RTCClock& rtc)
: mesh::Mesh(radio, ms, *new StaticPoolPacketManager(32)), _cli(board, rtc, &_prefs, this, this)
: mesh::Dispatcher(radio, ms, *new StaticPoolPacketManager(32)), _cli(board, rtc, &_prefs, this, this)
{
set_radio_at = revert_radio_at = 0;
_logging = false;
Expand Down Expand Up @@ -165,7 +169,7 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks {
}

void begin(FILESYSTEM* fs) {
mesh::Mesh::begin();
Dispatcher::begin();
_fs = fs;
_cli.loadPrefs(_fs);

Expand All @@ -188,6 +192,8 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks {
#endif
}

mesh::RNG* getRNG() const { return _rng; }
mesh::RTCClock* getRTCClock() const { return _rtc; }
const char* getFirmwareVer() override { return FIRMWARE_VERSION; }
const char* getBuildDate() override { return FIRMWARE_BUILD_DATE; }
const char* getNodeName() { return _prefs.node_name; }
Expand Down
1 change: 1 addition & 0 deletions license.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
MIT License

Copytight (c) 2025 Daniel Theisen [WI7FI] <dan@wi7fi.dev>
Copyright (c) 2025 Scott Powell / rippleradios.com

Permission is hereby granted, free of charge, to any person obtaining a copy
Expand Down
2 changes: 2 additions & 0 deletions src/Dispatcher.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,8 @@ class Dispatcher {
void releasePacket(Packet* packet);
void sendPacket(Packet* packet, uint8_t priority, uint32_t delay_millis=0);

Radio* getRadio() { return _radio; }
uint32_t getSysUptime() { return _ms->getMillis(); } // in milliseconds
unsigned long getTotalAirTime() const { return total_air_time; } // in milliseconds
uint32_t getNumSentFlood() const { return n_sent_flood; }
uint32_t getNumSentDirect() const { return n_sent_direct; }
Expand Down
17 changes: 0 additions & 17 deletions src/Mesh.cpp

This file was deleted.

35 changes: 0 additions & 35 deletions src/Mesh.h

This file was deleted.

2 changes: 1 addition & 1 deletion src/helpers/ArduinoHelpers.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <Mesh.h>
#include <Dispatcher.h>
#include <Arduino.h>

class VolatileRTCClock : public mesh::RTCClock {
Expand Down
2 changes: 1 addition & 1 deletion src/helpers/AutoDiscoverRTCClock.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <Mesh.h>
#include <Dispatcher.h>
#include <Arduino.h>
#include <Wire.h>

Expand Down
Loading