I have made my custom firmware by cloning Chrysalis-Firmware-Bundle
and creating a new ino-file for it. I have already build and installed several firmware files.
But today out of the blue I am getting compile errors. Since I thought I have done something wrong, I cloned the repo again and tried to build it. But surprisingly that fails with the same error.
I don’t understand enough of Kaleidoscope, C++, git submodules to be able to understand the problem. Therefore I am asking here.
What is the problem? Why does it even occur on a totally newly cloned repo?
Here is the error message (it continues, but I hope this is enough information):
==========================
Building firmware sketches
==========================
* Building EZ/ErgoDox
Using Kaleidoscope from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope
Building in quiet mode. For a lot more information, add 'VERBOSE=1' to the beginning of your call to make
In file included from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/Keyboardio.h:22:0,
from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/device/ATmega32U4Keyboard.h:24,
from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/plugins/Kaleidoscope-Hardware-EZ-ErgoDox/src/kaleidoscope/device/ez/ErgoDox.h:39,
from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/plugins/Kaleidoscope-Hardware-EZ-ErgoDox/src/Kaleidoscope-Hardware-EZ-ErgoDox.h:20,
from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/device/device.h:57,
from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/Kaleidoscope.h:40,
from /tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/examples/Devices/EZ/ErgoDox/ErgoDox.ino:26:
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h: In member function 'void kaleidoscope::driver::hid::keyboardio::BootKeyboardW
rapper::begin()':
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h:46:18: error: request for member 'begin' in 'BootKeyboard', which is of non-cl
ass type 'BootKeyboard_&()'
BootKeyboard.begin();
^~~~~
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h: In member function 'uint8_t kaleidoscope::driver::hid::keyboardio::BootKeyboa
rdWrapper::getProtocol()':
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h:50:25: error: request for member 'getProtocol' in 'BootKeyboard', which is of
non-class type 'BootKeyboard_&()'
return BootKeyboard.getProtocol();
^~~~~~~~~~~
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h: In member function 'void kaleidoscope::driver::hid::keyboardio::BootKeyboardW
rapper::setProtocol(uint8_t)':
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h:53:18: error: request for member 'setProtocol' in 'BootKeyboard', which is of
non-class type 'BootKeyboard_&()'
BootKeyboard.setProtocol(protocol);
^~~~~~~~~~~
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h: In member function 'void kaleidoscope::driver::hid::keyboardio::BootKeyboardW
rapper::setDefaultProtocol(uint8_t)':
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h:56:18: error: request for member 'default_protocol' in 'BootKeyboard', which i
s of non-class type 'BootKeyboard_&()'
BootKeyboard.default_protocol = protocol;
^~~~~~~~~~~~~~~~
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h: In member function 'void kaleidoscope::driver::hid::keyboardio::BootKeyboardW
rapper::sendReport()':
/tmp/Chrysalis-Firmware-Bundle/lib/Kaleidoscope/src/kaleidoscope/driver/hid/keyboardio/Keyboard.h:61:18: error: request for member 'sendReport' in 'BootKeyboard', which is of n
on-class type 'BootKeyboard_&()'
BootKeyboard.sendReport(); `