gps_cli: gps advert to control advert location policy

This commit is contained in:
Florent
2025-10-11 19:00:02 +02:00
parent f6064b41e9
commit bf1da43d7d
5 changed files with 72 additions and 8 deletions

View File

@@ -241,8 +241,16 @@ mesh::Packet* SensorMesh::createSelfAdvert() {
uint8_t app_data[MAX_ADVERT_DATA_SIZE];
uint8_t app_data_len;
{
AdvertDataBuilder builder(ADV_TYPE_SENSOR, _prefs.node_name, _prefs.node_lat, _prefs.node_lon);
app_data_len = builder.encodeTo(app_data);
if (_prefs.advert_loc_policy == ADVERT_LOC_NONE) {
AdvertDataBuilder builder(ADV_TYPE_REPEATER, _prefs.node_name);
app_data_len = builder.encodeTo(app_data);
} else if (_prefs.advert_loc_policy == ADVERT_LOC_SHARE) {
AdvertDataBuilder builder(ADV_TYPE_REPEATER, _prefs.node_name, sensors.node_lat, sensors.node_lon);
app_data_len = builder.encodeTo(app_data);
} else {
AdvertDataBuilder builder(ADV_TYPE_REPEATER, _prefs.node_name, _prefs.node_lat, _prefs.node_lon);
app_data_len = builder.encodeTo(app_data);
}
}
return createAdvert(self_id, app_data, app_data_len);