2 libraries using the same class name = ambiguous reference

Hi there,
I already saw this question but never saw an aswer that could help me. I'm using an Arduino mega2560. The main problem is that my project uses 2 libraries that have a same class name "Pin". This leads to an terminal error :

Arduino: 1.8.13 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:4:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000

 #    pragma message "FastLED version 3.004.000"

                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:4:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:77:26: error: reference to 'Pin' is ambiguous

 class OutputPin : public Pin {

                          ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:43:16: note:                 struct admux::Pin

 typedef struct Pin {

                ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:4:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h: In constructor 'OutputPin::OutputPin(int)':

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:79:23: error: class 'OutputPin' does not have any field named 'Pin'

  OutputPin(int pin) : Pin(pin) { setOutput(); }

                       ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:79:34: error: 'setOutput' was not declared in this scope

  OutputPin(int pin) : Pin(pin) { setOutput(); }

                                  ^~~~~~~~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:79:34: note: suggested alternative: 'setup'

  OutputPin(int pin) : Pin(pin) { setOutput(); }

                                  ^~~~~~~~~

                                  setup

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h: At global scope:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:82:25: error: reference to 'Pin' is ambiguous

 class InputPin : public Pin {

                         ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:43:16: note:                 struct admux::Pin

 typedef struct Pin {

                ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:4:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h: In constructor 'InputPin::InputPin(int)':

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:84:22: error: class 'InputPin' does not have any field named 'Pin'

  InputPin(int pin) : Pin(pin) { setInput(); }

                      ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:84:33: error: 'setInput' was not declared in this scope

  InputPin(int pin) : Pin(pin) { setInput(); }

                                 ^~~~~~~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:84:33: note: suggested alternative: 'setvbuf'

  InputPin(int pin) : Pin(pin) { setInput(); }

                                 ^~~~~~~~

                                 setvbuf

C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino: At global scope:

LEDMUSIC2021:25:12: error: reference to 'Pin' is ambiguous

 Mux RG_mux(Pin(A7, INPUT, PinType::Analog), Pinset(29, 27, 25, 23));  // create a new Mux object

            ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:4:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:55:3: note:                 typedef struct admux::Pin admux::Pin

 } Pin;

   ^~~

LEDMUSIC2021:28:12: error: reference to 'Pin' is ambiguous

 Mux BI_mux(Pin(A8, INPUT, PinType::Analog), Pinset(37, 35, 33, 31));  //create a new Mux object

            ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:4:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:55:3: note:                 typedef struct admux::Pin admux::Pin

 } Pin;

   ^~~

LEDMUSIC2021:31:14: error: reference to 'Pin' is ambiguous

 Mux Rled_mux(Pin(6, OUTPUT, PinType::Digital), Pinset(39, 41, 43, 45));  // create a new Mux object

              ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:4:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:55:3: note:                 typedef struct admux::Pin admux::Pin

 } Pin;

   ^~~

exit status 1

reference to 'Pin' is ambiguous



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

#CODE // if needed

#include <AudioAnalyzer.h>// audio analyser library
#include "Mux.h"//multiplexer library
using namespace admux;
#include <FastLED.h>




Analyzer Audio = Analyzer(10, 9, 0); //Strobe pin ->10  RST pin ->9 Analog Pin ->0

int  FreqVal[6];// frequency values
float FreqValhelp[6];// frequency values

//list per potentiometer type (R, G, B, intensity, quantiy)
double Rpotval[6];//list of all values of red knobs start Rpotval[0]= value knob red 63Hz
double Gpotval[6];//list of all values of green knobs start Gpotval[0]= value knob red 63Hz
double Bpotval[6];//list of all values of blue knobs start Bpotval[0]= value knob red 63Hz
int intensitypotval[6];//list of potentiometer value for intensity start potval[0]= potentiometer value of knob 63Hz
double quantitypotval[6];//list of potentiometer value to choose the quantity of the frequence to put on the led stripe




//multiplexer 1
Mux RG_mux(Pin(A7, INPUT, PinType::Analog), Pinset(29, 27, 25, 23));  // create a new Mux object

//multiplexer 2
Mux BI_mux(Pin(A8, INPUT, PinType::Analog), Pinset(37, 35, 33, 31));  //create a new Mux object

//multiplexer 3
Mux Rled_mux(Pin(6, OUTPUT, PinType::Digital), Pinset(39, 41, 43, 45));  // create a new Mux object


void setup() {
  Serial.begin(57600);  //Init the baudrate
  Audio.Init();//Init module
}


void loop() {

  Audio.ReadFreq(FreqVal);//return 7 value of 7 bands pass filiter
  //Frequency(Hz):63  160  400  1K  2.5K  6.25K  16K
  //FreqVal[]:      0    1    2    3    4    5    6


  //    for (int i = 0; i < 7; i++)
  //    {
  //      if (FreqVal[i] > potval) {
  //        FreqValhelp[i] = Map(FreqVal[i]);
  //      } else {
  //        FreqValhelp[i] = 0;
  //      }
  //    }

  for (int i = 0; i < 14; i++) {
    if (i < 7) {
      Rpotval[i] = RG_mux.read(i);
      Bpotval[i] = BI_mux.read(i);
      quantitypotval[i] = analogRead(9 + i);//reads values from intesity potentimeter
    } else {//if (i >= 7)
      Gpotval[i - 7] = RG_mux.read(i);
      intensitypotval[i - 7] = BI_mux.read(i);
      intensitypotval[i - 7] = 1023 - (intensitypotval[i - 7]); //reverting signal value in order to turn the knob in the right direction
      if (intensitypotval[i - 7] < FreqVal[i - 7]) {
        Rled_mux.write(FreqVal[i - 7], i - 7); //give the frequency impulse to the red led
      } else {
        Rled_mux.write(LOW, i - 7); //give the frequency impulse to the red led
      }

    }
  }
}

//    for (int i = 0; i < 10 ; i++)
//    {
//      leds[i].setRGB(( Map(valB) / 255)*FreqValhelp[Mapinteger(potvalnum)], (Map(valR) / 255)*FreqValhelp[Mapinteger(potvalnum)], (Map(valG) / 255)*FreqValhelp[Mapinteger(potvalnum)]);
//    }


double Map(double x) { //maps all value from 0-1023 to 0-255
  return map(x, 0, 1023, 0, 255);
}

double Maptoone(double x) {
  return map(x, 0, 1023, 0, 1);
}

I've read that I could change the name of the class in one of the library itself but this isn't realy a solution to the problem beacause every time that I'ld update the library I'ld have to rechange the classes name. Can't I tell in the code that I'm refering to the class of the Mux.h library when using "Pin" ?

If the 'Pin' class and the 'Pin' struct are local to their libraries, perhaps this would work:

#include "Mux.h"//multiplexer library
#undef Pin
using namespace admux;
#include <FastLED.h>
#undef Pin

:frowning: it sadly stays ambiguous ... but thanks for trying :wink:

#CODE

#include <AudioAnalyzer.h>// audio analyser library
#include "Mux.h"//multiplexer library
#undef Pin
using namespace admux;
#include <FastLED.h>
#undef Pin

Analyzer Audio = Analyzer(10, 9, 0); //Strobe pin ->10  RST pin ->9 Analog Pin ->0

int  FreqVal[7];// frequency values
float FreqValhelp[7];// frequency values

//list per potentiometer type (R, G, B, intensity, quantiy)
double Rpotval[7];//list of all values of red knobs start Rpotval[0]= value knob red 63Hz
double Gpotval[7];//list of all values of green knobs start Gpotval[0]= value knob red 63Hz
double Bpotval[7];//list of all values of blue knobs start Bpotval[0]= value knob red 63Hz
int intensitypotval[7];//list of potentiometer value for intensity start potval[0]= potentiometer value of knob 63Hz
double quantitypotval[7];//list of potentiometer value to choose the quantity of the frequence to put on the led stripe

//multiplexer 1
Mux RG_mux(Pin(A7, INPUT, PinType::Analog), Pinset(29, 27, 25, 23));  // create a new Mux object

//multiplexer 2
Mux BI_mux(Pin(A8, INPUT, PinType::Analog), Pinset(37, 35, 33, 31));  //create a new Mux object

//multiplexer 3
Mux Rled_mux(Pin(6, OUTPUT, PinType::Digital), Pinset(39, 41, 43, 45));  // create a new Mux object


void setup() {
  Serial.begin(57600);  //Init the baudrate
  Audio.Init();//Init module
}


void loop() {

  Audio.ReadFreq(FreqVal);//return 7 value of 7 bands pass filiter
  //Frequency(Hz):63  160  400  1K  2.5K  6.25K  16K
  //FreqVal[]:      0    1    2    3    4    5    6


  //    for (int i = 0; i < 7; i++)
  //    {
  //      if (FreqVal[i] > potval) {
  //        FreqValhelp[i] = Map(FreqVal[i]);
  //      } else {
  //        FreqValhelp[i] = 0;
  //      }
  //    }

  for (int i = 0; i < 14; i++) {
    if (i < 7) {
      Rpotval[i] = RG_mux.read(i);
      Bpotval[i] = BI_mux.read(i);
      quantitypotval[i] = analogRead(9 + i);//reads values from intesity potentimeter
    } else {//if (i >= 7)
      Gpotval[i - 7] = RG_mux.read(i);
      intensitypotval[i - 7] = BI_mux.read(i);
      intensitypotval[i - 7] = 1023 - (intensitypotval[i - 7]); //reverting signal value in order to turn the knob in the right direction
      if (intensitypotval[i - 7] < FreqVal[i - 7]) {
        Rled_mux.write(FreqVal[i - 7], i - 7); //give the frequency impulse to the red led
      } else {
        Rled_mux.write(LOW, i - 7); //give the frequency impulse to the red led
      }

    }
  }
}

//    for (int i = 0; i < 10 ; i++)
//    {
//      leds[i].setRGB(( Map(valB) / 255)*FreqValhelp[Mapinteger(potvalnum)], (Map(valR) / 255)*FreqValhelp[Mapinteger(potvalnum)], (Map(valG) / 255)*FreqValhelp[Mapinteger(potvalnum)]);
//    }


double Map(double x) { //maps all value from 0-1023 to 0-255
  return map(x, 0, 1023, 0, 255);
}

double Maptoone(double x) {
  return map(x, 0, 1023, 0, 1);
}

Arduino: 1.8.13 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

#ERROR CODE

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h: In constructor 'admux::Pin::Pin()':

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:49:7: error: class 'admux::Pin' does not have any field named 'Pins'

       Pins(UNDEFINED, OUTPUT, PinType::Digital) {

       ^~~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:5:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h: At global scope:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000

 #    pragma message "FastLED version 3.004.000"

                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:5:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:77:26: error: reference to 'Pin' is ambiguous

 class OutputPin : public Pin {

                          ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:43:16: note:                 struct admux::Pin

 typedef struct Pin {

                ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:5:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h: In constructor 'OutputPin::OutputPin(int)':

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:79:23: error: class 'OutputPin' does not have any field named 'Pin'

  OutputPin(int pin) : Pin(pin) { setOutput(); }

                       ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:79:34: error: 'setOutput' was not declared in this scope

  OutputPin(int pin) : Pin(pin) { setOutput(); }

                                  ^~~~~~~~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:79:34: note: suggested alternative: 'setup'

  OutputPin(int pin) : Pin(pin) { setOutput(); }

                                  ^~~~~~~~~

                                  setup

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h: At global scope:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:82:25: error: reference to 'Pin' is ambiguous

 class InputPin : public Pin {

                         ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:43:16: note:                 struct admux::Pin

 typedef struct Pin {

                ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:5:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h: In constructor 'InputPin::InputPin(int)':

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:84:22: error: class 'InputPin' does not have any field named 'Pin'

  InputPin(int pin) : Pin(pin) { setInput(); }

                      ^~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:84:33: error: 'setInput' was not declared in this scope

  InputPin(int pin) : Pin(pin) { setInput(); }

                                 ^~~~~~~~

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:84:33: note: suggested alternative: 'setvbuf'

  InputPin(int pin) : Pin(pin) { setInput(); }

                                 ^~~~~~~~

                                 setvbuf

C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino: At global scope:

LEDMUSIC2021:21:12: error: reference to 'Pin' is ambiguous

 Mux RG_mux(Pin(A7, INPUT, PinType::Analog), Pinset(29, 27, 25, 23));  // create a new Mux object

            ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:5:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:55:3: note:                 typedef struct admux::Pin admux::Pin

 } Pin;

   ^~~

LEDMUSIC2021:24:12: error: reference to 'Pin' is ambiguous

 Mux BI_mux(Pin(A8, INPUT, PinType::Analog), Pinset(37, 35, 33, 31));  //create a new Mux object

            ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:5:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:55:3: note:                 typedef struct admux::Pin admux::Pin

 } Pin;

   ^~~

LEDMUSIC2021:27:14: error: reference to 'Pin' is ambiguous

 Mux Rled_mux(Pin(6, OUTPUT, PinType::Digital), Pinset(39, 41, 43, 45));  // create a new Mux object

              ^~~

In file included from C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/FastLED.h:48:0,

                 from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:5:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\FastLED\src/fastpin.h:34:7: note: candidates are: class Pin

 class Pin : public Selectable {

       ^~~

In file included from C:\Users\Matteo Zucchi\Desktop\LEDMUSIC2021\LEDMUSIC2021.ino:2:0:

C:\Users\Matteo Zucchi\Documents\Arduino\libraries\Analog-Digital_Multiplexers\src/Mux.h:55:3: note:                 typedef struct admux::Pin admux::Pin

 } Pin;

   ^~~

exit status 1

reference to 'Pin' is ambiguous



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Too bad that didn't work.

The next thing I would try is: "#define Pin PinForMux" at the top of the file "Mux.h". That should change the name in the .h and everywhere the .h is used, like in the .cpp. That would be a one-line change you can re-do in the library if you ever update it.

Then, in your code, insert "#undef Pin" after "#include "Mux.h"" and replace "(Pin(" with "(PinForMux(". That should get your code working with the modified Mux library.

It sadly didn't worked either but I just changed library and this was it. I hope they are gona make some changes to handle this problem :slight_smile: looking forward and thanks for support

I guess that depends on who "they" are and if "they" think there actually is a problem. You could do a Pull Request on one or both of the libraries' GitHub pages.