Эх сурвалжийг харах

* Advert type fix
* GPS pref defaults tidy

Scott Powell 10 сар өмнө
parent
commit
837e7dcbdb

+ 1 - 0
examples/simple_repeater/MyMesh.cpp

@@ -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) {

+ 8 - 3
examples/simple_room_server/MyMesh.cpp

@@ -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;

+ 8 - 3
examples/simple_sensor/SensorMesh.cpp

@@ -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) {

+ 1 - 3
src/helpers/CommonCLI.cpp

@@ -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