diff --git a/examples/companion_radio/AbstractUITask.h b/examples/companion_radio/AbstractUITask.h index fa0146a1..0eee45ae 100644 --- a/examples/companion_radio/AbstractUITask.h +++ b/examples/companion_radio/AbstractUITask.h @@ -41,9 +41,6 @@ public: void disableSerial() { _serial->disable(); } virtual void msgRead(int msgcount) = 0; virtual void newMsg(uint8_t path_len, const char* from_name, const char* text, int msgcount) = 0; - virtual void soundBuzzer(UIEventType bet = UIEventType::none) = 0; -#ifdef PIN_VIBRATION - virtual void triggerVibration() = 0; -#endif + virtual void notify(UIEventType t = UIEventType::none) = 0; virtual void loop() = 0; }; diff --git a/examples/companion_radio/MyMesh.cpp b/examples/companion_radio/MyMesh.cpp index ea54e051..a2c2f8f8 100644 --- a/examples/companion_radio/MyMesh.cpp +++ b/examples/companion_radio/MyMesh.cpp @@ -243,12 +243,7 @@ void MyMesh::onDiscoveredContact(ContactInfo &contact, bool is_new, uint8_t path } } else { #ifdef DISPLAY_CLASS - if (_ui) _ui->soundBuzzer(UIEventType::newContactMessage); - if (_ui) { -#ifdef PIN_VIBRATION - if (is_new) _ui->triggerVibration(); -#endif - } + if (_ui) _ui->notify(UIEventType::newContactMessage); #endif } @@ -358,7 +353,7 @@ void MyMesh::queueMessage(const ContactInfo &from, uint8_t txt_type, mesh::Packe if (should_display && _ui) { _ui->newMsg(path_len, from.name, text, offline_queue_len); if (!_serial->isConnected()) { - _ui->soundBuzzer(UIEventType::contactMessage); + _ui->notify(UIEventType::contactMessage); } } #endif @@ -417,7 +412,7 @@ void MyMesh::onChannelMessageRecv(const mesh::GroupChannel &channel, mesh::Packe _serial->writeFrame(frame, 1); } else { #ifdef DISPLAY_CLASS - if (_ui) _ui->soundBuzzer(UIEventType::channelMessage); + if (_ui) _ui->notify(UIEventType::channelMessage); #endif } #ifdef DISPLAY_CLASS diff --git a/examples/companion_radio/ui-new/UITask.cpp b/examples/companion_radio/ui-new/UITask.cpp index 0e906e41..d117a7fb 100644 --- a/examples/companion_radio/ui-new/UITask.cpp +++ b/examples/companion_radio/ui-new/UITask.cpp @@ -348,9 +348,7 @@ public: return true; } if (c == KEY_ENTER && _page == HomePage::ADVERT) { - #ifdef PIN_BUZZER - _task->soundBuzzer(UIEventType::ack); - #endif + _task->notify(UIEventType::ack); if (the_mesh.advert()) { _task->showAlert("Advert sent!", 1000); } else { @@ -501,9 +499,9 @@ void UITask::showAlert(const char* text, int duration_millis) { _alert_expiry = millis() + duration_millis; } -void UITask::soundBuzzer(UIEventType bet) { +void UITask::notify(UIEventType t) { #if defined(PIN_BUZZER) -switch(bet){ +switch(t){ case UIEventType::contactMessage: // gemini's pick buzzer.play("MsgRcv3:d=4,o=6,b=200:32e,32g,32b,16c7"); @@ -521,13 +519,15 @@ switch(bet){ break; } #endif -} #ifdef PIN_VIBRATION -void UITask::triggerVibration() { - vibration.trigger(); -} + // Trigger vibration for all UI events except none + if (t != UIEventType::none) { + vibration.trigger(); + } #endif +} + void UITask::msgRead(int msgcount) { _msgcount = msgcount; @@ -542,9 +542,6 @@ void UITask::newMsg(uint8_t path_len, const char* from_name, const char* text, i ((MsgPreviewScreen *) msg_preview)->addPreview(path_len, from_name, text); setCurrScreen(msg_preview); -#ifdef PIN_VIBRATION - triggerVibration(); -#endif if (_display != NULL) { if (!_display->isOn()) _display->turnOn(); @@ -773,11 +770,11 @@ void UITask::toggleGPS() { if (strcmp(_sensors->getSettingName(i), "gps") == 0) { if (strcmp(_sensors->getSettingValue(i), "1") == 0) { _sensors->setSettingValue("gps", "0"); - soundBuzzer(UIEventType::ack); + notify(UIEventType::ack); showAlert("GPS: Disabled", 800); } else { _sensors->setSettingValue("gps", "1"); - soundBuzzer(UIEventType::ack); + notify(UIEventType::ack); showAlert("GPS: Enabled", 800); } _next_refresh = 0; @@ -792,7 +789,7 @@ void UITask::toggleBuzzer() { #ifdef PIN_BUZZER if (buzzer.isQuiet()) { buzzer.quiet(false); - soundBuzzer(UIEventType::ack); + notify(UIEventType::ack); showAlert("Buzzer: ON", 800); } else { buzzer.quiet(true); diff --git a/examples/companion_radio/ui-new/UITask.h b/examples/companion_radio/ui-new/UITask.h index 7aaeabc7..bc12c679 100644 --- a/examples/companion_radio/ui-new/UITask.h +++ b/examples/companion_radio/ui-new/UITask.h @@ -77,10 +77,7 @@ public: // from AbstractUITask void msgRead(int msgcount) override; void newMsg(uint8_t path_len, const char* from_name, const char* text, int msgcount) override; - void soundBuzzer(UIEventType bet = UIEventType::none) override; -#ifdef PIN_VIBRATION - void triggerVibration() override; -#endif + void notify(UIEventType t = UIEventType::none) override; void loop() override; void shutdown(bool restart = false); diff --git a/examples/companion_radio/ui-orig/UITask.cpp b/examples/companion_radio/ui-orig/UITask.cpp index 29d995a7..045c955d 100644 --- a/examples/companion_radio/ui-orig/UITask.cpp +++ b/examples/companion_radio/ui-orig/UITask.cpp @@ -88,9 +88,9 @@ void UITask::begin(DisplayDriver* display, SensorManager* sensors, NodePrefs* no ui_started_at = millis(); } -void UITask::soundBuzzer(UIEventType bet) { +void UITask::notify(UIEventType t) { #if defined(PIN_BUZZER) -switch(bet){ +switch(t){ case UIEventType::contactMessage: // gemini's pick buzzer.play("MsgRcv3:d=4,o=6,b=200:32e,32g,32b,16c7"); @@ -108,8 +108,8 @@ switch(bet){ break; } #endif -// Serial.print("DBG: Buzzzzzz -> "); -// Serial.println((int) bet); +// Serial.print("DBG: Alert user -> "); +// Serial.println((int) t); } void UITask::msgRead(int msgcount) { @@ -370,7 +370,7 @@ void UITask::handleButtonDoublePress() { MESH_DEBUG_PRINTLN("UITask: double press triggered, sending advert"); // ADVERT #ifdef PIN_BUZZER - soundBuzzer(UIEventType::ack); + notify(UIEventType::ack); #endif if (the_mesh.advert()) { MESH_DEBUG_PRINTLN("Advert sent!"); @@ -388,7 +388,7 @@ void UITask::handleButtonTriplePress() { #ifdef PIN_BUZZER if (buzzer.isQuiet()) { buzzer.quiet(false); - soundBuzzer(UIEventType::ack); + notify(UIEventType::ack); sprintf(_alert, "Buzzer: ON"); } else { buzzer.quiet(true); @@ -407,11 +407,11 @@ void UITask::handleButtonQuadruplePress() { if (strcmp(_sensors->getSettingName(i), "gps") == 0) { if (strcmp(_sensors->getSettingValue(i), "1") == 0) { _sensors->setSettingValue("gps", "0"); - soundBuzzer(UIEventType::ack); + notify(UIEventType::ack); sprintf(_alert, "GPS: Disabled"); } else { _sensors->setSettingValue("gps", "1"); - soundBuzzer(UIEventType::ack); + notify(UIEventType::ack); sprintf(_alert, "GPS: Enabled"); } break; diff --git a/examples/companion_radio/ui-orig/UITask.h b/examples/companion_radio/ui-orig/UITask.h index a59ddc41..60cd0d04 100644 --- a/examples/companion_radio/ui-orig/UITask.h +++ b/examples/companion_radio/ui-orig/UITask.h @@ -66,7 +66,7 @@ public: // from AbstractUITask void msgRead(int msgcount) override; void newMsg(uint8_t path_len, const char* from_name, const char* text, int msgcount) override; - void soundBuzzer(UIEventType bet = UIEventType::none) override; + void notify(UIEventType t = UIEventType::none) override; void loop() override; void shutdown(bool restart = false);