* refactor: removed mesh::Mesh dependency from CommonCLI

This commit is contained in:
Scott Powell
2025-05-06 11:51:51 +10:00
parent 6dd85880e4
commit f855523481
4 changed files with 12 additions and 7 deletions

View File

@@ -540,7 +540,7 @@ protected:
public: public:
MyMesh(mesh::MainBoard& board, mesh::Radio& radio, mesh::MillisecondClock& ms, mesh::RNG& rng, mesh::RTCClock& rtc, mesh::MeshTables& tables) MyMesh(mesh::MainBoard& board, mesh::Radio& radio, mesh::MillisecondClock& ms, mesh::RNG& rng, mesh::RTCClock& rtc, mesh::MeshTables& tables)
: mesh::Mesh(radio, ms, rng, rtc, *new StaticPoolPacketManager(32), tables), : mesh::Mesh(radio, ms, rng, rtc, *new StaticPoolPacketManager(32), tables),
_cli(board, this, &_prefs, this), telemetry(MAX_PACKET_PAYLOAD - 4) _cli(board, rtc, &_prefs, this), telemetry(MAX_PACKET_PAYLOAD - 4)
{ {
memset(known_clients, 0, sizeof(known_clients)); memset(known_clients, 0, sizeof(known_clients));
next_local_advert = next_flood_advert = 0; next_local_advert = next_flood_advert = 0;
@@ -685,6 +685,8 @@ public:
*dp = 0; // null terminator *dp = 0; // null terminator
} }
const uint8_t* getSelfIdPubKey() { return self_id.pub_key; }
void loop() { void loop() {
mesh::Mesh::loop(); mesh::Mesh::loop();

View File

@@ -692,7 +692,7 @@ protected:
public: public:
MyMesh(mesh::MainBoard& board, mesh::Radio& radio, mesh::MillisecondClock& ms, mesh::RNG& rng, mesh::RTCClock& rtc, mesh::MeshTables& tables) MyMesh(mesh::MainBoard& board, mesh::Radio& radio, mesh::MillisecondClock& ms, mesh::RNG& rng, mesh::RTCClock& rtc, mesh::MeshTables& tables)
: mesh::Mesh(radio, ms, rng, rtc, *new StaticPoolPacketManager(32), tables), : mesh::Mesh(radio, ms, rng, rtc, *new StaticPoolPacketManager(32), tables),
_cli(board, this, &_prefs, this), telemetry(MAX_PACKET_PAYLOAD - 4) _cli(board, rtc, &_prefs, this), telemetry(MAX_PACKET_PAYLOAD - 4)
{ {
next_local_advert = next_flood_advert = 0; next_local_advert = next_flood_advert = 0;
_logging = false; _logging = false;
@@ -821,6 +821,8 @@ public:
strcpy(reply, "not supported"); strcpy(reply, "not supported");
} }
const uint8_t* getSelfIdPubKey() { return self_id.pub_key; }
void loop() { void loop() {
mesh::Mesh::loop(); mesh::Mesh::loop();

View File

@@ -208,7 +208,7 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch
sprintf(reply, "> %s", StrHelper::ftoa(_prefs->freq)); sprintf(reply, "> %s", StrHelper::ftoa(_prefs->freq));
} else if (memcmp(config, "public.key", 10) == 0) { } else if (memcmp(config, "public.key", 10) == 0) {
strcpy(reply, "> "); strcpy(reply, "> ");
mesh::Utils::toHex(&reply[2], _mesh->self_id.pub_key, PUB_KEY_SIZE); mesh::Utils::toHex(&reply[2], _callbacks->getSelfIdPubKey(), PUB_KEY_SIZE);
} else if (memcmp(config, "role", 4) == 0) { } else if (memcmp(config, "role", 4) == 0) {
sprintf(reply, "> %s", _callbacks->getRole()); sprintf(reply, "> %s", _callbacks->getRole());
} else { } else {

View File

@@ -41,16 +41,17 @@ public:
virtual void dumpLogFile() = 0; virtual void dumpLogFile() = 0;
virtual void setTxPower(uint8_t power_dbm) = 0; virtual void setTxPower(uint8_t power_dbm) = 0;
virtual void formatNeighborsReply(char *reply) = 0; virtual void formatNeighborsReply(char *reply) = 0;
virtual const uint8_t* getSelfIdPubKey() = 0;
}; };
class CommonCLI { class CommonCLI {
mesh::Mesh* _mesh; mesh::RTCClock* _rtc;
NodePrefs* _prefs; NodePrefs* _prefs;
CommonCLICallbacks* _callbacks; CommonCLICallbacks* _callbacks;
mesh::MainBoard* _board; mesh::MainBoard* _board;
char tmp[80]; char tmp[80];
mesh::RTCClock* getRTCClock() { return _mesh->getRTCClock(); } mesh::RTCClock* getRTCClock() { return _rtc; }
void savePrefs() { _callbacks->savePrefs(); } void savePrefs() { _callbacks->savePrefs(); }
void checkAdvertInterval(); void checkAdvertInterval();
@@ -58,8 +59,8 @@ class CommonCLI {
void loadPrefsInt(FILESYSTEM* _fs, const char* filename); void loadPrefsInt(FILESYSTEM* _fs, const char* filename);
public: public:
CommonCLI(mesh::MainBoard& board, mesh::Mesh* mesh, NodePrefs* prefs, CommonCLICallbacks* callbacks) CommonCLI(mesh::MainBoard& board, mesh::RTCClock& rtc, NodePrefs* prefs, CommonCLICallbacks* callbacks)
: _board(&board), _mesh(mesh), _prefs(prefs), _callbacks(callbacks) { } : _board(&board), _rtc(&rtc), _prefs(prefs), _callbacks(callbacks) { }
void loadPrefs(FILESYSTEM* _fs); void loadPrefs(FILESYSTEM* _fs);
void savePrefs(FILESYSTEM* _fs); void savePrefs(FILESYSTEM* _fs);