Merge pull request #314 from seagull9000/RTTTL-tweaks1

RTTTL on message types
This commit is contained in:
ripplebiz 2025-05-20 17:44:19 +10:00 committed by GitHub
commit ecfeb2ff63
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 32 additions and 10 deletions

View file

@ -59,12 +59,23 @@ void UITask::begin(DisplayDriver* display, NodePrefs* node_prefs, const char* bu
#endif #endif
} }
void UITask::soundBuzzer() { void UITask::soundBuzzer(UIEventType bet) {
#if defined(PIN_BUZZER) #if defined(PIN_BUZZER)
// gemini's pick switch(bet){
buzzer.play("MsgRcv3:d=4,o=6,b=200:32e,32g,32b,16c7"); case UIEventType::contactMessage:
//Serial.println("DBG: Buzzzzzz"); // gemini's pick
buzzer.play("MsgRcv3:d=4,o=6,b=200:32e,32g,32b,16c7");
break;
case UIEventType::channelMessage:
case UIEventType::roomMessage:
case UIEventType::newContactMessage:
case UIEventType::none:
default:
break;
}
#endif #endif
// Serial.print("DBG: Buzzzzzz -> ");
// Serial.println((int) bet);
} }
void UITask::msgRead(int msgcount) { void UITask::msgRead(int msgcount) {

View file

@ -10,6 +10,15 @@
#include "NodePrefs.h" #include "NodePrefs.h"
enum class UIEventType
{
none,
contactMessage,
channelMessage,
roomMessage,
newContactMessage
};
class UITask { class UITask {
DisplayDriver* _display; DisplayDriver* _display;
mesh::MainBoard* _board; mesh::MainBoard* _board;
@ -31,6 +40,7 @@ class UITask {
void userLedHandler(); void userLedHandler();
void renderBatteryIndicator(uint16_t batteryMilliVolts); void renderBatteryIndicator(uint16_t batteryMilliVolts);
public: public:
UITask(mesh::MainBoard* board) : _board(board), _display(NULL) { UITask(mesh::MainBoard* board) : _board(board), _display(NULL) {
@ -44,6 +54,6 @@ public:
void clearMsgPreview(); void clearMsgPreview();
void msgRead(int msgcount); void msgRead(int msgcount);
void newMsg(uint8_t path_len, const char* from_name, const char* text, int msgcount); void newMsg(uint8_t path_len, const char* from_name, const char* text, int msgcount);
void soundBuzzer(); void soundBuzzer(UIEventType bet = UIEventType::none);
void loop(); void loop();
}; };

View file

@ -520,7 +520,7 @@ protected:
} }
} else { } else {
#ifdef DISPLAY_CLASS #ifdef DISPLAY_CLASS
ui_task.soundBuzzer(); ui_task.soundBuzzer(UIEventType::newContactMessage);
#endif #endif
} }
@ -583,7 +583,7 @@ protected:
_serial->writeFrame(frame, 1); _serial->writeFrame(frame, 1);
} else { } else {
#ifdef DISPLAY_CLASS #ifdef DISPLAY_CLASS
ui_task.soundBuzzer(); ui_task.soundBuzzer(UIEventType::contactMessage);
#endif #endif
} }
#ifdef DISPLAY_CLASS #ifdef DISPLAY_CLASS
@ -636,7 +636,7 @@ protected:
_serial->writeFrame(frame, 1); _serial->writeFrame(frame, 1);
} else { } else {
#ifdef DISPLAY_CLASS #ifdef DISPLAY_CLASS
ui_task.soundBuzzer(); ui_task.soundBuzzer(UIEventType::channelMessage);
#endif #endif
} }
#ifdef DISPLAY_CLASS #ifdef DISPLAY_CLASS

View file

@ -2,8 +2,8 @@
#include "buzzer.h" #include "buzzer.h"
void genericBuzzer::begin() { void genericBuzzer::begin() {
Serial.print("DBG: Setting up buzzer on pin "); // Serial.print("DBG: Setting up buzzer on pin ");
Serial.println(PIN_BUZZER); // Serial.println(PIN_BUZZER);
#ifdef PIN_BUZZER_EN #ifdef PIN_BUZZER_EN
pinMode(PIN_BUZZER_EN, OUTPUT); pinMode(PIN_BUZZER_EN, OUTPUT);
digitalWrite(PIN_BUZZER_EN, HIGH); digitalWrite(PIN_BUZZER_EN, HIGH);

View file

@ -15,6 +15,7 @@
- make message ring tone configurable - make message ring tone configurable
*/ */
class genericBuzzer class genericBuzzer
{ {
public: public: