jdlien / kaleidoscope-ledeffect-functionalcolor Goto Github PK
View Code? Open in Web Editor NEWLighting effect for Keyboardio Model 01 that colors keys by function
License: GNU General Public License v2.0
Lighting effect for Keyboardio Model 01 that colors keys by function
License: GNU General Public License v2.0
The plugin does now work with firmware v2.
#8 introduced some macros that still need to be documented. After this PR, the example sketch fc_example.ino
still needs to be updated in the same way as it has been done for fc_example_simple.ino
.
Using the latest version of the Arduino IDE (1.8.8) from arduino.cc and and getting the latest version of Keleidoscope, I am unable to build an .ino with a FunctionalColors object defined.
I've been poking at this for a while and can't figure out why the compiler is complaining about undefined references. The location it mentions is definitely the latest version of FunctionalColor.
I'm at a loss here... In my test .ino I just took the default included one from Kaleidoscope and added these lines after the initial includes:
#include <Kaleidoscope-LEDEffect-FunctionalColor.h>
using namespace kaleidoscope::LEDFunctionalColor;
FCPlugin funColor;
The complete compiler output follows, in case it reveals something I didn't already mention.
WARNING: Category 'Debug' in library Kaleidoscope-Hardware-Virtual is not valid. Setting to 'Uncategorized'
libraries/Kaleidoscope-LEDEffect-FunctionalColor/Kaleidoscope-LEDEffect-FunctionalColor.a(Kaleidoscope-LEDEffect-FunctionalColor.cpp.o): In function `cRGB kaleidoscope::LEDFunctionalColor::groupColorLookup<kaleidoscope::LEDFunctionalColor::colorMapDefault>(kaleidoscope::Key const&, bool&)':
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::control'
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::control'
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::control'
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::gui'
Multiple libraries were found for "HID.h"
Used: /Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/HID
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::gui'
Not used: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/HID
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::gui'
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::shift'
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::shift'
/Users/jdlien/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/Kaleidoscope-LEDEffect-FunctionalColor/src/Kaleidoscope-LEDEffect-FunctionalColor.cpp:17: undefined reference to `kaleidoscope::LEDFunctionalColor::colorMapDefault::shift'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Keyboardio Model 01.
To answer questions posed in #5 (comment), I am building this with the IDE on macOS Mojave. As long as I comment out "FCPlugin funColor" this will compile. Interestingly, it also compiles if I change it to "FCPlugin funColor", although giving a numerical argument (which would normally set brightness) doesn't work.
I must be doing something wrong. I cannot get the samples to compile (error on void LEDFunctionalColor::FCPlugin::update(void). ::Layer not defined).
Am I the only one with this issue?
I recently added a 9th layer and the plugin does not work on that layer.
The following change fixed the problem for me: In void LEDFunctionalColor::FCPlugin::update(void)
I changed uint8_t current_layerState
to uint32_t current_layerState
.
Not sure if this is systematically correct, though.
Hello,
The system does not recognize the special keys, like M()
(from Macros), OSL()
, OSM()
(from OneShot), RALT_T()
(from QuKeys), etc.
The only workaround I found was to configure all other key groups (modifying some and adding some others like International keys) and giving the default color to them.
Thank you for your great work, anyway.
Cheers.
Hello, I experience some problems compiling this plugin. Starting with stock firmware, including this plugin and compiling throws this error :
`Arduino: 1.8.9 (Mac OS X), Board: "Keyboardio Model 01"
In file included from /var/folders/33/p2xpwvxs4lbflr7g9hkszvqc0000gn/T/arduino_modified_sketch_537675/Model01-Firmware.ino:408:0:
/Users/zorkeel/Documents/Arduino/libraries/Kaleidoscope-LEDEffect-FunctionalColor-master/src/Kaleidoscope-LEDEffect-FunctionalColor.h:608:18: error: 'KeyAddr' has not been declared
void refreshAt(KeyAddr key_addr) final;
^
/Users/zorkeel/Documents/Arduino/libraries/Kaleidoscope-LEDEffect-FunctionalColor-master/src/Kaleidoscope-LEDEffect-FunctionalColor.h:608:8: error: 'void kaleidoscope::plugin::LEDFunctionalColor::FunctionalColor::refreshAt(int)' marked 'final', but is not virtual
void refreshAt(KeyAddr key_addr) final;
^
Multiple libraries were found for "HID.h"
Used: /Users/zorkeel/Library/Arduino15/packages/keyboardio/hardware/avr/1.94.0-beta/libraries/HID
Not used: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/HID
exit status 1
Error compiling for board Keyboardio Model 01.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
`
Any insights ?
Thanks a lot, Zorkeel
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.