Browse Source
Merge pull request #1130 from zaquaz/buzzer-feature-pr
Added buzzer config persistance across restart
pull/1153/head
ripplebiz
6 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with
12 additions and
2 deletions
-
examples/companion_radio/DataStore.cpp
-
examples/companion_radio/MyMesh.h
-
examples/companion_radio/NodePrefs.h
-
examples/companion_radio/ui-new/UITask.cpp
-
examples/companion_radio/ui-orig/UITask.cpp
|
|
|
@ -221,6 +221,7 @@ void DataStore::loadPrefsInt(const char *filename, NodePrefs& _prefs, double& no |
|
|
|
file.read((uint8_t *)&_prefs.multi_acks, sizeof(_prefs.multi_acks)); // 77
|
|
|
|
file.read(pad, 2); // 78
|
|
|
|
file.read((uint8_t *)&_prefs.ble_pin, sizeof(_prefs.ble_pin)); // 80
|
|
|
|
file.read((uint8_t *)&_prefs.buzzer_quiet, sizeof(_prefs.buzzer_quiet)); // 84
|
|
|
|
|
|
|
|
file.close(); |
|
|
|
} |
|
|
|
@ -252,6 +253,7 @@ void DataStore::savePrefs(const NodePrefs& _prefs, double node_lat, double node_ |
|
|
|
file.write((uint8_t *)&_prefs.multi_acks, sizeof(_prefs.multi_acks)); // 77
|
|
|
|
file.write(pad, 2); // 78
|
|
|
|
file.write((uint8_t *)&_prefs.ble_pin, sizeof(_prefs.ble_pin)); // 80
|
|
|
|
file.write((uint8_t *)&_prefs.buzzer_quiet, sizeof(_prefs.buzzer_quiet)); // 84
|
|
|
|
|
|
|
|
file.close(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -152,6 +152,9 @@ protected: |
|
|
|
pending_login = pending_status = pending_telemetry = pending_discovery = pending_req = 0; |
|
|
|
} |
|
|
|
|
|
|
|
public: |
|
|
|
void savePrefs() { _store->savePrefs(_prefs, sensors.node_lat, sensors.node_lon); } |
|
|
|
|
|
|
|
private: |
|
|
|
void writeOKFrame(); |
|
|
|
void writeErrFrame(uint8_t err_code); |
|
|
|
@ -171,11 +174,9 @@ private: |
|
|
|
void checkSerialInterface(); |
|
|
|
|
|
|
|
// helpers, short-cuts
|
|
|
|
void savePrefs() { _store->savePrefs(_prefs, sensors.node_lat, sensors.node_lon); } |
|
|
|
void saveChannels() { _store->saveChannels(this); } |
|
|
|
void saveContacts() { _store->saveContacts(this); } |
|
|
|
|
|
|
|
private: |
|
|
|
DataStore* _store; |
|
|
|
NodePrefs _prefs; |
|
|
|
uint32_t pending_login; |
|
|
|
|
|
|
|
@ -24,4 +24,5 @@ struct NodePrefs { // persisted to file |
|
|
|
float rx_delay_base; |
|
|
|
uint32_t ble_pin; |
|
|
|
uint8_t advert_loc_policy; |
|
|
|
uint8_t buzzer_quiet; |
|
|
|
}; |
|
|
|
@ -532,6 +532,7 @@ void UITask::begin(DisplayDriver* display, SensorManager* sensors, NodePrefs* no |
|
|
|
|
|
|
|
#ifdef PIN_BUZZER |
|
|
|
buzzer.begin(); |
|
|
|
buzzer.quiet(_node_prefs->buzzer_quiet); |
|
|
|
#endif |
|
|
|
|
|
|
|
#ifdef PIN_VIBRATION |
|
|
|
@ -872,6 +873,8 @@ void UITask::toggleBuzzer() { |
|
|
|
buzzer.quiet(true); |
|
|
|
showAlert("Buzzer: OFF", 800); |
|
|
|
} |
|
|
|
_node_prefs->buzzer_quiet = buzzer.isQuiet(); |
|
|
|
the_mesh.savePrefs(); |
|
|
|
_next_refresh = 0; // trigger refresh
|
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
@ -56,6 +56,7 @@ void UITask::begin(DisplayDriver* display, SensorManager* sensors, NodePrefs* no |
|
|
|
|
|
|
|
#ifdef PIN_BUZZER |
|
|
|
buzzer.begin(); |
|
|
|
buzzer.quiet(_node_prefs->buzzer_quiet); |
|
|
|
#endif |
|
|
|
|
|
|
|
// Initialize digital button if available
|
|
|
|
@ -396,6 +397,8 @@ void UITask::handleButtonTriplePress() { |
|
|
|
buzzer.quiet(true); |
|
|
|
sprintf(_alert, "Buzzer: OFF"); |
|
|
|
} |
|
|
|
_node_prefs->buzzer_quiet = buzzer.isQuiet(); |
|
|
|
the_mesh.savePrefs(); |
|
|
|
_need_refresh = true; |
|
|
|
#endif |
|
|
|
} |
|
|
|
|