mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-13 08:32:08 +00:00
fixes #2239
This commit is contained in:
parent
c908e61611
commit
a13adfb598
@ -13,8 +13,8 @@
|
|||||||
int32_t DeviceTelemetryModule::runOnce()
|
int32_t DeviceTelemetryModule::runOnce()
|
||||||
{
|
{
|
||||||
uint32_t now = millis();
|
uint32_t now = millis();
|
||||||
if ((lastSentToMesh == 0 ||
|
if (((lastSentToMesh == 0) ||
|
||||||
(now - lastSentToMesh) >= getConfiguredOrDefaultMs(moduleConfig.telemetry.device_update_interval)) &&
|
((now - lastSentToMesh) >= getConfiguredOrDefaultMs(moduleConfig.telemetry.device_update_interval))) &&
|
||||||
airTime->isTxAllowedChannelUtil() && airTime->isTxAllowedAirUtil()) {
|
airTime->isTxAllowedChannelUtil() && airTime->isTxAllowedAirUtil()) {
|
||||||
sendTelemetry();
|
sendTelemetry();
|
||||||
lastSentToMesh = now;
|
lastSentToMesh = now;
|
||||||
@ -35,8 +35,6 @@ bool DeviceTelemetryModule::handleReceivedProtobuf(const meshtastic_MeshPacket &
|
|||||||
t->variant.device_metrics.air_util_tx, t->variant.device_metrics.channel_utilization,
|
t->variant.device_metrics.air_util_tx, t->variant.device_metrics.channel_utilization,
|
||||||
t->variant.device_metrics.battery_level, t->variant.device_metrics.voltage);
|
t->variant.device_metrics.battery_level, t->variant.device_metrics.voltage);
|
||||||
|
|
||||||
lastMeasurementPacket = packetPool.allocCopy(mp);
|
|
||||||
|
|
||||||
nodeDB.updateTelemetry(getFrom(&mp), *t, RX_SRC_RADIO);
|
nodeDB.updateTelemetry(getFrom(&mp), *t, RX_SRC_RADIO);
|
||||||
}
|
}
|
||||||
return false; // Let others look at this message also if they want
|
return false; // Let others look at this message also if they want
|
||||||
@ -63,7 +61,6 @@ bool DeviceTelemetryModule::sendTelemetry(NodeNum dest, bool phoneOnly)
|
|||||||
p->decoded.want_response = false;
|
p->decoded.want_response = false;
|
||||||
p->priority = meshtastic_MeshPacket_Priority_MIN;
|
p->priority = meshtastic_MeshPacket_Priority_MIN;
|
||||||
|
|
||||||
lastMeasurementPacket = packetPool.allocCopy(*p);
|
|
||||||
nodeDB.updateTelemetry(nodeDB.getNodeNum(), t, RX_SRC_LOCAL);
|
nodeDB.updateTelemetry(nodeDB.getNodeNum(), t, RX_SRC_LOCAL);
|
||||||
if (phoneOnly) {
|
if (phoneOnly) {
|
||||||
LOG_INFO("Sending packet to phone\n");
|
LOG_INFO("Sending packet to phone\n");
|
||||||
|
@ -12,7 +12,6 @@ class DeviceTelemetryModule : private concurrency::OSThread, public ProtobufModu
|
|||||||
: concurrency::OSThread("DeviceTelemetryModule"),
|
: concurrency::OSThread("DeviceTelemetryModule"),
|
||||||
ProtobufModule("DeviceTelemetry", meshtastic_PortNum_TELEMETRY_APP, &meshtastic_Telemetry_msg)
|
ProtobufModule("DeviceTelemetry", meshtastic_PortNum_TELEMETRY_APP, &meshtastic_Telemetry_msg)
|
||||||
{
|
{
|
||||||
lastMeasurementPacket = nullptr;
|
|
||||||
setIntervalFromNow(10 * 1000);
|
setIntervalFromNow(10 * 1000);
|
||||||
}
|
}
|
||||||
virtual bool wantUIFrame() { return false; }
|
virtual bool wantUIFrame() { return false; }
|
||||||
@ -31,5 +30,4 @@ class DeviceTelemetryModule : private concurrency::OSThread, public ProtobufModu
|
|||||||
private:
|
private:
|
||||||
uint32_t sendToPhoneIntervalMs = SECONDS_IN_MINUTE * 1000; // Send to phone every minute
|
uint32_t sendToPhoneIntervalMs = SECONDS_IN_MINUTE * 1000; // Send to phone every minute
|
||||||
uint32_t lastSentToMesh = 0;
|
uint32_t lastSentToMesh = 0;
|
||||||
const meshtastic_MeshPacket *lastMeasurementPacket;
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user