Error when trying to compile the default firmware


(Erik Jernsand) #1
C:\Users\colon\AppData\Local\Temp\arduino_modified_sketch_933048\Model01-Firmware.ino:60:46: fatal error: Kaleidoscope-HostPowerManagement.h: No such file or directory

 #include "Kaleidoscope-HostPowerManagement.h"

                                              ^

compilation terminated.

Multiple libraries were found for "HID.h"
 Used: C:\Users\colon\AppData\Local\Arduino15\packages\keyboardio\hardware\avr\1.22.0\libraries\HID
 Not used: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\HID
exit status 1
Error compiling for board Keyboardio Model 01.

When I comment out the inclusion of the header file I instead get another error.

Arduino: 1.8.5 (Windows 10), Board: “Keyboardio Model 01”

Model01-Firmware:131: error: expected constructor, destructor, or type conversion before ‘(’ token

KEYMAPS(

    ^

Multiple libraries were found for “HID.h”
Used: C:\Users\colon\AppData\Local\Arduino15\packages\keyboardio\hardware\avr\1.22.0\libraries\HID
Not used: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\HID
exit status 1
expected constructor, destructor, or type conversion before ‘(’ token

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


(Chet Sandberg) #2

I have this exact problem and have gotten zero help.


(Gergely Nagy) #3

I think the problem both of you are experiencing stems from installing Arduino-Boards via the IDE, but using the factory firmware from a git checkout.

Does this describe the situation? If so, that’s reasonably easy to fix.


(Jesse) #4

Hi folks,

@Chet_Sandberg - I’m so sorry. The Host Power Management error @snowleap mentioned didn’t show up in the error message you mailed us. If it had, I would have been able to pinpoint the problem much more quickly.

@algernon is correct - this appears to have been caused by using a version of the Model01-Firmware.ino sketch file from a fresh git checkout, but libraries from Arduino. In general, this should work or, if not, should fail with an intelligible error message. The fact that it did not is my fault.

You’d mentioned that this was caused by following the instructions at https://github.com/keyboardio/Kaleidoscope/wiki/edit-a-keymap, but I’m not seeing a place in there where we point you to the GitHub version of Model01-Firmware. If you happen to remember where we told you to do that, could you point me at it so I can go correct things?

Regardless, I’ve just updated the Arduino version of Kaleidoscope to something somewhat newer, with support for the sketch you were working with. This should help improve things, though we’re approaching another transition that may cause a breaking change, though this time we’re putting a bunch of effort into steering you in the right direction if things go wrong.