mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
Merge branch 'dev' of github.com:recrof/MeshCore into dev
This commit is contained in:
commit
4fcbc00bea
3 changed files with 15 additions and 1 deletions
|
|
@ -257,7 +257,7 @@ uint8_t SensorMesh::handleRequest(uint16_t perms, uint32_t sender_timestamp, uin
|
||||||
memcpy(&start_secs_ago, &payload[0], 4);
|
memcpy(&start_secs_ago, &payload[0], 4);
|
||||||
memcpy(&end_secs_ago, &payload[4], 4);
|
memcpy(&end_secs_ago, &payload[4], 4);
|
||||||
uint8_t res1 = payload[8]; // reserved for future (extra query params)
|
uint8_t res1 = payload[8]; // reserved for future (extra query params)
|
||||||
uint8_t res2 = payload[8];
|
uint8_t res2 = payload[9];
|
||||||
|
|
||||||
MinMaxAvg data[8];
|
MinMaxAvg data[8];
|
||||||
int n;
|
int n;
|
||||||
|
|
@ -460,6 +460,11 @@ void SensorMesh::handleCommand(uint32_t sender_timestamp, char* command, char* r
|
||||||
command += 3;
|
command += 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// first, see if this is a custom-handled CLI command (ie. in main.cpp)
|
||||||
|
if (handleCustomCommand(sender_timestamp, command, reply)) {
|
||||||
|
return; // command has been handled
|
||||||
|
}
|
||||||
|
|
||||||
// handle sensor-specific CLI commands
|
// handle sensor-specific CLI commands
|
||||||
if (memcmp(command, "setperm ", 8) == 0) { // format: setperm {pubkey-hex} {permissions-int16}
|
if (memcmp(command, "setperm ", 8) == 0) { // format: setperm {pubkey-hex} {permissions-int16}
|
||||||
char* hex = &command[8];
|
char* hex = &command[8];
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,7 @@ protected:
|
||||||
|
|
||||||
virtual void onSensorDataRead() = 0; // for app to implement
|
virtual void onSensorDataRead() = 0; // for app to implement
|
||||||
virtual int querySeriesData(uint32_t start_secs_ago, uint32_t end_secs_ago, MinMaxAvg dest[], int max_num) = 0; // for app to implement
|
virtual int querySeriesData(uint32_t start_secs_ago, uint32_t end_secs_ago, MinMaxAvg dest[], int max_num) = 0; // for app to implement
|
||||||
|
virtual bool handleCustomCommand(uint32_t sender_timestamp, char* command, char* reply) { return false; }
|
||||||
|
|
||||||
// Mesh overrides
|
// Mesh overrides
|
||||||
float getAirtimeBudgetFactor() const override;
|
float getAirtimeBudgetFactor() const override;
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,14 @@ protected:
|
||||||
battery_data.calcMinMaxAvg(getRTCClock(), start_secs_ago, end_secs_ago, &dest[0], TELEM_CHANNEL_SELF, LPP_VOLTAGE);
|
battery_data.calcMinMaxAvg(getRTCClock(), start_secs_ago, end_secs_ago, &dest[0], TELEM_CHANNEL_SELF, LPP_VOLTAGE);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool handleCustomCommand(uint32_t sender_timestamp, char* command, char* reply) override {
|
||||||
|
if (strcmp(command, "magic") == 0) { // example 'custom' command handling
|
||||||
|
strcpy(reply, "**Magic now done**");
|
||||||
|
return true; // handled
|
||||||
|
}
|
||||||
|
return false; // not handled
|
||||||
|
}
|
||||||
/* ======================================================================= */
|
/* ======================================================================= */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue