mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-26 09:59:01 +00:00
Set reasonable defaults for sensor role and adjust packet priority (#2305)
This commit is contained in:
parent
fab5e4c5cc
commit
9650adb616
@ -1 +1 @@
|
|||||||
Subproject commit 275ddfd2d017c5a806f2de2975892d197e404c27
|
Subproject commit 9825eadc84d3af5ffe8b3432b7b2072f03e3de23
|
@ -239,6 +239,9 @@ void NodeDB::installRoleDefaults(meshtastic_Config_DeviceConfig_Role role)
|
|||||||
config.position.position_broadcast_smart_enabled = false;
|
config.position.position_broadcast_smart_enabled = false;
|
||||||
config.position.position_broadcast_secs = 120;
|
config.position.position_broadcast_secs = 120;
|
||||||
config.position.gps_update_interval = 60;
|
config.position.gps_update_interval = 60;
|
||||||
|
} else if (role == meshtastic_Config_DeviceConfig_Role_SENSOR) {
|
||||||
|
moduleConfig.telemetry.environment_measurement_enabled = true;
|
||||||
|
moduleConfig.telemetry.environment_update_interval = 450;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,7 +31,10 @@ typedef enum _meshtastic_Config_DeviceConfig_Role {
|
|||||||
meshtastic_Config_DeviceConfig_Role_REPEATER = 4,
|
meshtastic_Config_DeviceConfig_Role_REPEATER = 4,
|
||||||
/* Tracker device role
|
/* Tracker device role
|
||||||
Position Mesh packets will be prioritized higher and sent more frequently by default. */
|
Position Mesh packets will be prioritized higher and sent more frequently by default. */
|
||||||
meshtastic_Config_DeviceConfig_Role_TRACKER = 5
|
meshtastic_Config_DeviceConfig_Role_TRACKER = 5,
|
||||||
|
/* Sensor device role
|
||||||
|
Telemetry Mesh packets will be prioritized higher and sent more frequently by default. */
|
||||||
|
meshtastic_Config_DeviceConfig_Role_SENSOR = 6
|
||||||
} meshtastic_Config_DeviceConfig_Role;
|
} meshtastic_Config_DeviceConfig_Role;
|
||||||
|
|
||||||
/* Defines the device's behavior for how messages are rebroadcast */
|
/* Defines the device's behavior for how messages are rebroadcast */
|
||||||
@ -453,8 +456,8 @@ extern "C" {
|
|||||||
|
|
||||||
/* Helper constants for enums */
|
/* Helper constants for enums */
|
||||||
#define _meshtastic_Config_DeviceConfig_Role_MIN meshtastic_Config_DeviceConfig_Role_CLIENT
|
#define _meshtastic_Config_DeviceConfig_Role_MIN meshtastic_Config_DeviceConfig_Role_CLIENT
|
||||||
#define _meshtastic_Config_DeviceConfig_Role_MAX meshtastic_Config_DeviceConfig_Role_TRACKER
|
#define _meshtastic_Config_DeviceConfig_Role_MAX meshtastic_Config_DeviceConfig_Role_SENSOR
|
||||||
#define _meshtastic_Config_DeviceConfig_Role_ARRAYSIZE ((meshtastic_Config_DeviceConfig_Role)(meshtastic_Config_DeviceConfig_Role_TRACKER+1))
|
#define _meshtastic_Config_DeviceConfig_Role_ARRAYSIZE ((meshtastic_Config_DeviceConfig_Role)(meshtastic_Config_DeviceConfig_Role_SENSOR+1))
|
||||||
|
|
||||||
#define _meshtastic_Config_DeviceConfig_RebroadcastMode_MIN meshtastic_Config_DeviceConfig_RebroadcastMode_ALL
|
#define _meshtastic_Config_DeviceConfig_RebroadcastMode_MIN meshtastic_Config_DeviceConfig_RebroadcastMode_ALL
|
||||||
#define _meshtastic_Config_DeviceConfig_RebroadcastMode_MAX meshtastic_Config_DeviceConfig_RebroadcastMode_LOCAL_ONLY
|
#define _meshtastic_Config_DeviceConfig_RebroadcastMode_MAX meshtastic_Config_DeviceConfig_RebroadcastMode_LOCAL_ONLY
|
||||||
|
@ -108,6 +108,9 @@ bool AirQualityTelemetryModule::sendTelemetry(NodeNum dest, bool phoneOnly)
|
|||||||
meshtastic_MeshPacket *p = allocDataProtobuf(m);
|
meshtastic_MeshPacket *p = allocDataProtobuf(m);
|
||||||
p->to = dest;
|
p->to = dest;
|
||||||
p->decoded.want_response = false;
|
p->decoded.want_response = false;
|
||||||
|
if (config.device.role == meshtastic_Config_DeviceConfig_Role_SENSOR)
|
||||||
|
p->priority = meshtastic_MeshPacket_Priority_RELIABLE;
|
||||||
|
else
|
||||||
p->priority = meshtastic_MeshPacket_Priority_MIN;
|
p->priority = meshtastic_MeshPacket_Priority_MIN;
|
||||||
|
|
||||||
// release previous packet before occupying a new spot
|
// release previous packet before occupying a new spot
|
||||||
|
@ -244,8 +244,10 @@ bool EnvironmentTelemetryModule::sendTelemetry(NodeNum dest, bool phoneOnly)
|
|||||||
meshtastic_MeshPacket *p = allocDataProtobuf(m);
|
meshtastic_MeshPacket *p = allocDataProtobuf(m);
|
||||||
p->to = dest;
|
p->to = dest;
|
||||||
p->decoded.want_response = false;
|
p->decoded.want_response = false;
|
||||||
|
if (config.device.role == meshtastic_Config_DeviceConfig_Role_SENSOR)
|
||||||
|
p->priority = meshtastic_MeshPacket_Priority_RELIABLE;
|
||||||
|
else
|
||||||
p->priority = meshtastic_MeshPacket_Priority_MIN;
|
p->priority = meshtastic_MeshPacket_Priority_MIN;
|
||||||
|
|
||||||
// release previous packet before occupying a new spot
|
// release previous packet before occupying a new spot
|
||||||
if (lastMeasurementPacket != nullptr)
|
if (lastMeasurementPacket != nullptr)
|
||||||
packetPool.release(lastMeasurementPacket);
|
packetPool.release(lastMeasurementPacket);
|
||||||
|
Loading…
Reference in New Issue
Block a user