* Advert type fix

* GPS pref defaults tidy
This commit is contained in:
Scott Powell
2025-10-12 12:33:20 +11:00
parent 487b7c6576
commit 837e7dcbdb
4 changed files with 18 additions and 9 deletions

View File

@@ -645,6 +645,7 @@ MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondCloc
// GPS defaults
_prefs.gps_enabled = 0;
_prefs.gps_interval = 0;
_prefs.advert_loc_policy = ADVERT_LOC_PREFS;
}
void MyMesh::begin(FILESYSTEM *fs) {

View File

@@ -117,13 +117,13 @@ mesh::Packet *MyMesh::createSelfAdvert() {
uint8_t app_data_len;
{
if (_prefs.advert_loc_policy == ADVERT_LOC_NONE) {
AdvertDataBuilder builder(ADV_TYPE_REPEATER, _prefs.node_name);
AdvertDataBuilder builder(ADV_TYPE_ROOM, _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);
AdvertDataBuilder builder(ADV_TYPE_ROOM, _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);
AdvertDataBuilder builder(ADV_TYPE_ROOM, _prefs.node_name, _prefs.node_lat, _prefs.node_lon);
app_data_len = builder.encodeTo(app_data);
}
}
@@ -620,6 +620,11 @@ MyMesh::MyMesh(mesh::MainBoard &board, mesh::Radio &radio, mesh::MillisecondCloc
StrHelper::strncpy(_prefs.guest_password, ROOM_PASSWORD, sizeof(_prefs.guest_password));
#endif
// GPS defaults
_prefs.gps_enabled = 0;
_prefs.gps_interval = 0;
_prefs.advert_loc_policy = ADVERT_LOC_PREFS;
next_post_idx = 0;
next_client_idx = 0;
next_push = 0;

View File

@@ -242,13 +242,13 @@ mesh::Packet* SensorMesh::createSelfAdvert() {
uint8_t app_data_len;
{
if (_prefs.advert_loc_policy == ADVERT_LOC_NONE) {
AdvertDataBuilder builder(ADV_TYPE_REPEATER, _prefs.node_name);
AdvertDataBuilder builder(ADV_TYPE_SENSOR, _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);
AdvertDataBuilder builder(ADV_TYPE_SENSOR, _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);
AdvertDataBuilder builder(ADV_TYPE_SENSOR, _prefs.node_name, _prefs.node_lat, _prefs.node_lon);
app_data_len = builder.encodeTo(app_data);
}
}
@@ -690,6 +690,11 @@ SensorMesh::SensorMesh(mesh::MainBoard& board, mesh::Radio& radio, mesh::Millise
_prefs.disable_fwd = true;
_prefs.flood_max = 64;
_prefs.interference_threshold = 0; // disabled
// GPS defaults
_prefs.gps_enabled = 0;
_prefs.gps_interval = 0;
_prefs.advert_loc_policy = ADVERT_LOC_PREFS;
}
void SensorMesh::begin(FILESYSTEM* fs) {

View File

@@ -67,9 +67,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) {
file.read(pad, 4); // 152
file.read((uint8_t *)&_prefs->gps_enabled, sizeof(_prefs->gps_enabled)); // 156
file.read((uint8_t *)&_prefs->gps_interval, sizeof(_prefs->gps_interval)); // 157
if (file.read((uint8_t *)&_prefs->advert_loc_policy, sizeof (_prefs->advert_loc_policy)) == -1) {
_prefs->advert_loc_policy = ADVERT_LOC_PREFS; // default value
} // 161
file.read((uint8_t *)&_prefs->advert_loc_policy, sizeof (_prefs->advert_loc_policy)); // 161
// 162
// sanitise bad pref values