WaveTooEasy with ESP32

I was hoping to control my WaveTooEasy with an ESP32 board via serial, but I can’t seem to get the Arduino library to work with the ESP32.

If I set the board to an ESP32 in the Arduino IDE and try to verify the example sketch, I get the following error:

In file included from [...]wavetooeasy_arduino.ino:1:0:
[...]/libraries/Artekit_WaveTooEasy/src/WaveTooEasy.h: In member function 'void Artekit_WaveTooEasy::begin()':
[...]/libraries/Artekit_WaveTooEasy/src/WaveTooEasy.h:48:50: error: invalid conversion from 'long unsigned int (*)()' to 'cbMillis {aka unsigned int (*)()}' [-fpermissive]
   wteInit(millis, serialReceive, serialSend, this);
                                                  ^
In file included from [...]/libraries/Artekit_WaveTooEasy/src/WaveTooEasy.h:14:0,
                 from [...]/wavetooeasy_arduino.ino:1:
[...]/libraries/Artekit_WaveTooEasy/src/WaveTooEasy_protocol.h:100:6: note:   initializing argument 1 of 'void wteInit(cbMillis, cbSerialReceiveChar, cbSerialSend, void*)'
 void wteInit(cbMillis cbTicks, cbSerialReceiveChar cbReceive, cbSerialSend cbSend, void* param);
      ^
exit status 1
Error compiling for board WEMOS LOLIN32.

Has anyone successfully gotten the WaveTooEasy Arduino library to work on ESP32? Or is does anyone know a way to send commands to the WaveTooEasy over serial manually, without using the library?

Thanks in advance!

Hello @Ties,

Sorry for the late reply.

We see the same error you have, when compiling with ESP32.

Please try the following: modify the WaveTooEasy_protocol.h file, line 74.

From this:

typedef uint32_t (*cbMillis)();

to this:

typedef unsigned long (*cbMillis)();
1 Like

Thank you so much, that was exactly what I was looking for! Now the code is compiling without errors for ESP32.

1 Like