diff --git a/controller/mixercontroller_w5100_pio/src/main.cpp b/controller/mixercontroller_w5100_pio/src/main.cpp index 4254b4e..6af1624 100644 --- a/controller/mixercontroller_w5100_pio/src/main.cpp +++ b/controller/mixercontroller_w5100_pio/src/main.cpp @@ -28,7 +28,8 @@ void setSelectionChannel(uint8_t i, boolean state); void setMuteChannel(uint8_t i, boolean state); void publishCurrentSetVolume(); void publishAllStates(int pn, String pTopicname, boolean (*pgetBit) (uint8_t)); -void changeRelaisByNumber(uint8_t pn, String pTopicPrefix, String pTopic, String pspayload, void (*psetXChannel) (uint8_t, boolean)); +void changeRelaisByNumberTopic(uint8_t pn, String pTopicPrefix, String pTopic, String pspayload, void (*psetXChannel) (uint8_t, boolean)); +void setRelaisByNumber(uint8_t pn, String pTopicPrefix, uint8_t pnumber, bool pstate, void (*psetXChannel) (uint8_t, boolean)); float getSetVolume(); #define LEDPIN 9 //PB1 = D9 = Pin15 @@ -304,7 +305,7 @@ void loop() { case 1: //mute if (menu_selectedChannel<=MENU_MAXCHANNEL) { //inside valid range //setMuteChannel(menu_selectedChannel,!getMute(menu_selectedChannel)); // mute/unmute menu_selectedChannel - changeRelaisByNumber(NUMMUTECHANNELS,"audiomixer/mute_", ""+menu_selectedChannel, ""+!getMute(menu_selectedChannel), &setMuteChannel); //toggle + setRelaisByNumber(NUMMUTECHANNELS,"audiomixer/mute_", menu_selectedChannel, !getMute(menu_selectedChannel), &setMuteChannel); //toggle }else{ //nothing selected menu_mode = 0; //return to volume mode } @@ -313,7 +314,7 @@ void loop() { case 2: //group selection if (menu_selectedChannel<=MENU_MAXCHANNEL) { //inside valid range //setSelectionChannel(menu_selectedChannel,!getSelection(menu_selectedChannel)); // toggle selection menu_selectedChannel - changeRelaisByNumber(NUMSELECTCHANNELS,"audiomixer/select_", ""+menu_selectedChannel, ""+!getSelection(menu_selectedChannel), &setSelectionChannel); //toggle + setRelaisByNumber(NUMSELECTCHANNELS,"audiomixer/select_", menu_selectedChannel, !getSelection(menu_selectedChannel), &setSelectionChannel); //toggle }else{ //nothing selected menu_mode = 0; //return to volume mode } @@ -615,10 +616,10 @@ void callback(char* topic, byte* payload, unsigned int length) { publishAllStates(NUMSELECTCHANNELS,"select_", &getSelection); }else if (String(topic).startsWith("audiomixer/mute_")) { //with range - changeRelaisByNumber(NUMMUTECHANNELS,"audiomixer/mute_", topic, spayload, &setMuteChannel); + changeRelaisByNumberTopic(NUMMUTECHANNELS,"audiomixer/mute_", topic, spayload, &setMuteChannel); }else if (String(topic).startsWith("audiomixer/select_")) { - changeRelaisByNumber(NUMSELECTCHANNELS,"audiomixer/select_", topic, spayload, &setSelectionChannel); + changeRelaisByNumberTopic(NUMSELECTCHANNELS,"audiomixer/select_", topic, spayload, &setSelectionChannel); } @@ -709,7 +710,7 @@ void publishAllStates(int pn, String pTopicname, boolean (*pgetBit) (uint8_t)){ } } -void changeRelaisByNumber(uint8_t pn, String pTopicPrefix, String pTopic, String pspayload, void (*psetXChannel) (uint8_t, boolean)) +void changeRelaisByNumberTopic(uint8_t pn, String pTopicPrefix, String pTopic, String pspayload, void (*psetXChannel) (uint8_t, boolean)) { uint8_t _index=255; for (uint8_t i=0; i