Merge pull request #154 from recrof/dev
added new CommonCLI get commands: `get role` and `get public.key`
This commit is contained in:
@@ -66,6 +66,8 @@
|
|||||||
static UITask ui_task(display);
|
static UITask ui_task(display);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define FIRMWARE_ROLE "repeater"
|
||||||
|
|
||||||
#define PACKET_LOG_FILE "/packet_log"
|
#define PACKET_LOG_FILE "/packet_log"
|
||||||
|
|
||||||
/* ------------------------------ Code -------------------------------- */
|
/* ------------------------------ Code -------------------------------- */
|
||||||
@@ -512,6 +514,7 @@ public:
|
|||||||
|
|
||||||
const char* getFirmwareVer() override { return FIRMWARE_VERSION; }
|
const char* getFirmwareVer() override { return FIRMWARE_VERSION; }
|
||||||
const char* getBuildDate() override { return FIRMWARE_BUILD_DATE; }
|
const char* getBuildDate() override { return FIRMWARE_BUILD_DATE; }
|
||||||
|
const char* getRole() override { return FIRMWARE_ROLE; }
|
||||||
const char* getNodeName() { return _prefs.node_name; }
|
const char* getNodeName() { return _prefs.node_name; }
|
||||||
|
|
||||||
void savePrefs() override {
|
void savePrefs() override {
|
||||||
|
|||||||
@@ -74,6 +74,8 @@
|
|||||||
static UITask ui_task(display);
|
static UITask ui_task(display);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define FIRMWARE_ROLE "room_server"
|
||||||
|
|
||||||
#define PACKET_LOG_FILE "/packet_log"
|
#define PACKET_LOG_FILE "/packet_log"
|
||||||
|
|
||||||
/* ------------------------------ Code -------------------------------- */
|
/* ------------------------------ Code -------------------------------- */
|
||||||
@@ -261,7 +263,7 @@ class MyMesh : public mesh::Mesh, public CommonCLICallbacks {
|
|||||||
return _fs->open(fname, "a", true);
|
return _fs->open(fname, "a", true);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
float getAirtimeBudgetFactor() const override {
|
float getAirtimeBudgetFactor() const override {
|
||||||
return _prefs.airtime_factor;
|
return _prefs.airtime_factor;
|
||||||
@@ -598,7 +600,7 @@ protected:
|
|||||||
memcpy(reply_data, &now, 4); // response packets always prefixed with timestamp
|
memcpy(reply_data, &now, 4); // response packets always prefixed with timestamp
|
||||||
memcpy(&reply_data[4], &stats, sizeof(stats));
|
memcpy(&reply_data[4], &stats, sizeof(stats));
|
||||||
uint8_t reply_len = 4 + sizeof(stats);
|
uint8_t reply_len = 4 + sizeof(stats);
|
||||||
|
|
||||||
if (packet->isRouteFlood()) {
|
if (packet->isRouteFlood()) {
|
||||||
// let this sender know path TO here, so they can use sendDirect(), and ALSO encode the response
|
// let this sender know path TO here, so they can use sendDirect(), and ALSO encode the response
|
||||||
mesh::Packet* path = createPathReturn(client->id, secret, packet->path, packet->path_len,
|
mesh::Packet* path = createPathReturn(client->id, secret, packet->path, packet->path_len,
|
||||||
@@ -701,6 +703,7 @@ public:
|
|||||||
|
|
||||||
const char* getFirmwareVer() override { return FIRMWARE_VERSION; }
|
const char* getFirmwareVer() override { return FIRMWARE_VERSION; }
|
||||||
const char* getBuildDate() override { return FIRMWARE_BUILD_DATE; }
|
const char* getBuildDate() override { return FIRMWARE_BUILD_DATE; }
|
||||||
|
const char* getRole() override { return FIRMWARE_ROLE; }
|
||||||
const char* getNodeName() { return _prefs.node_name; }
|
const char* getNodeName() { return _prefs.node_name; }
|
||||||
|
|
||||||
void savePrefs() override {
|
void savePrefs() override {
|
||||||
|
|||||||
@@ -198,6 +198,12 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch
|
|||||||
sprintf(reply, "> %d", (uint32_t) _prefs->tx_power_dbm);
|
sprintf(reply, "> %d", (uint32_t) _prefs->tx_power_dbm);
|
||||||
} else if (memcmp(config, "freq", 4) == 0) {
|
} else if (memcmp(config, "freq", 4) == 0) {
|
||||||
sprintf(reply, "> %s", StrHelper::ftoa(_prefs->freq));
|
sprintf(reply, "> %s", StrHelper::ftoa(_prefs->freq));
|
||||||
|
} else if (memcmp(config, "public.key", 10) == 0) {
|
||||||
|
char pub_key_hex[PUB_KEY_SIZE * 2 + 1];
|
||||||
|
mesh::Utils::toHex(pub_key_hex, _mesh->self_id.pub_key, PUB_KEY_SIZE);
|
||||||
|
sprintf(reply, "> %s", pub_key_hex);
|
||||||
|
} else if (memcmp(config, "role", 4) == 0) {
|
||||||
|
sprintf(reply, "> %s", _callbacks->getRole());
|
||||||
} else {
|
} else {
|
||||||
sprintf(reply, "??: %s", config);
|
sprintf(reply, "??: %s", config);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ public:
|
|||||||
virtual void savePrefs() = 0;
|
virtual void savePrefs() = 0;
|
||||||
virtual const char* getFirmwareVer() = 0;
|
virtual const char* getFirmwareVer() = 0;
|
||||||
virtual const char* getBuildDate() = 0;
|
virtual const char* getBuildDate() = 0;
|
||||||
|
virtual const char* getRole() = 0;
|
||||||
virtual bool formatFileSystem() = 0;
|
virtual bool formatFileSystem() = 0;
|
||||||
virtual void sendSelfAdvertisement(int delay_millis) = 0;
|
virtual void sendSelfAdvertisement(int delay_millis) = 0;
|
||||||
virtual void updateAdvertTimer() = 0;
|
virtual void updateAdvertTimer() = 0;
|
||||||
@@ -56,7 +57,7 @@ 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::Mesh* mesh, NodePrefs* prefs, CommonCLICallbacks* callbacks)
|
||||||
: _board(&board), _mesh(mesh), _prefs(prefs), _callbacks(callbacks) { }
|
: _board(&board), _mesh(mesh), _prefs(prefs), _callbacks(callbacks) { }
|
||||||
|
|
||||||
void loadPrefs(FILESYSTEM* _fs);
|
void loadPrefs(FILESYSTEM* _fs);
|
||||||
|
|||||||
Reference in New Issue
Block a user