Kaimana RGB LED Board thread, RGB animations and more! SRK Tech Talk 2013 Product of the Year!

@Cagan No software difference between kaimana versions.

I got tournament mode working with a button combination. I need to add more documentation on how to add animations and a few of my demoes, coming soon!

So ā€˜tournament mode’ is just a toggleable state, right? Or is it more of a turn everything off. Could it do what I’m asking in terms of just going into my current idle animation and staying locked on that?

I am really having trouble uploading the example into the kaimana. There is always an error and I followed JRDIBBS guide as much as possible but no matter what I do it keeps getting fatal error kaimana.h no such file or directory. It seems JRDIBBS had the same problem but either I’m still doing something wrong or his error was something different.

Yes to the first, no to the second and yes to the third.

My problem was a unint16_t type error which is very different from yours. Yours means the software is not detecting the kaimana.h file in the Documents/Arduino/Kaimana folder could you confirm where your file libraries are located? You can link a screenshot of your folder setup too.

Thanks! please upload the code / way to do this soon. I’m excited to get it implemented into my stick.

So I’ve been trying to edit my Arduino to get rid of the animations (hurricane kick / hadoken) but I’m completely lost. Its been so long since I’ve tinkered with any of this. I’m using the same file I uploaded in the past but every time I try to verify I get the following. I’ve even tried deleting everything in that temp folder but the same stuff comes up.

Spoiler

cagan9\animations.cpp.o: In function animation_combo_6()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:346: multiple definition ofanimation_combo_6()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:346: first defined here
cagan9\animations.cpp.o: In function animation_combo_5()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:333: multiple definition ofanimation_combo_5()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:333: first defined here
cagan9\animations.cpp.o: In function animation_combo_4()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:320: multiple definition ofanimation_combo_4()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:320: first defined here
cagan9\animations.cpp.o: In function animation_combo_2()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:195: multiple definition ofanimation_combo_2()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:195: first defined here
cagan9\animations.cpp.o: In function animation_combo_3()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:208: multiple definition ofanimation_combo_3()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:208: first defined here
cagan9\animations.cpp.o: In function animation_combo_1()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:80: multiple definition ofanimation_combo_1()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:80: first defined here
cagan9\animations.cpp.o: In function animation_idle()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:37: multiple definition ofanimation_idle()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:37: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::setLED(int, int, int, int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:66: multiple definition ofKaimana::setLED(int, int, int, int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:66: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::setALL(int, int, int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:86: multiple definition ofKaimana::setALL(int, int, int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:86: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::updateALL()': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:101: multiple definition ofKaimana::updateALL()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:101: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::switchHistoryClear()': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:225: multiple definition ofKaimana::switchHistoryClear()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:225: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::switchHistorySet(unsigned int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:234: multiple definition ofKaimana::switchHistorySet(unsigned int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:234: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::switchHistoryTest(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:251: multiple definition ofKaimana::switchHistoryTest(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:251: first defined here
cagan9\kaimana.cpp.o: In function Kaimana': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:33: multiple definition ofKaimana::Kaimana()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:33: first defined here
cagan9\kaimana.cpp.o: In function Kaimana': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:33: multiple definition ofKaimana::Kaimana()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:33: first defined here

Then I go through and actually delete any reference to the hadoken / tatsu / whatever else there was in there animations and I get this

Spoiler

cagan9\animations.cpp.o: In function animation_idle()': F:\My Documents\Arduino\libraries\cagan9/animations.cpp:37: multiple definition ofanimation_idle()'
animations.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/animations.cpp:37: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::setLED(int, int, int, int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:66: multiple definition ofKaimana::setLED(int, int, int, int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:66: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::setALL(int, int, int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:86: multiple definition ofKaimana::setALL(int, int, int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:86: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::updateALL()': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:101: multiple definition ofKaimana::updateALL()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:101: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::switchHistoryClear()': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:225: multiple definition ofKaimana::switchHistoryClear()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:225: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::switchHistorySet(unsigned int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:234: multiple definition ofKaimana::switchHistorySet(unsigned int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:234: first defined here
cagan9\kaimana.cpp.o: In function Kaimana::switchHistoryTest(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:251: multiple definition ofKaimana::switchHistoryTest(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:251: first defined here
cagan9\kaimana.cpp.o: In function Kaimana': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:33: multiple definition ofKaimana::Kaimana()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:33: first defined here
cagan9\kaimana.cpp.o: In function Kaimana': F:\My Documents\Arduino\libraries\cagan9/kaimana.cpp:33: multiple definition ofKaimana::Kaimana()'
kaimana.cpp.o:C:\Users\Andrew\AppData\Local\Temp\build5611856390355642924.tmp/kaimana.cpp:33: first defined here

I get these same results whether I have all the libraries on my desktop or in the documents > libraries folder. All I’m trying to do is get rid of the ā€˜on use’ animations’ and possibly set my idle rainbow transition to just play and keep playing regardless of what buttons im hiting, or maybe even just one solid color.

I’m damn near positive this is the exact code that worked when I uploaded it before so I’m not sure why its giving me trouble now. Is there a way to dump the current code from the kaimana onto the pc? I’ve looked online for a solution to that but I haven’t found anything. That way I know I’m working with code that 100% works.

For some reason its confusing the temporary build location with the original file. Could you confirm that your library files are in c:/users/youruser/documents/arduino/Kaimana ?

They’re there.

@JRDIBBS Well based on what you are writing and whats happening it seems there is a sub folder in the arduino folder called libraries that you seem to never mention. c:/users/youruser/documents/arduino/libraries/kaimana-master is my path. Now i have tried to put the kaimana-master before libraries but then the arduino never installs the library.

SUPER EDIT. I will change the guide to reflect a fresh install. I’m not sure why i did not go through it myself but i will post the procedure here soon. Sorry for the confusion!

Guide edit to reflect a fresh download of the Kaimana software. thanks @verdant0 for the tip!

**You will then download the Kaimana code if you haven’t already by going to https://github.com/armi0024/kaimana and clicking on Download ZIP on the right side of your screen. After downloading you will have a kaimana-master.zip file which you should extract. Once extracted, go into the kaimana-master/example folder and you should see all of the code files you will need.

After this, you WILL NEED TO PLACE THE FILES IN THE CORRECT LOCATION. This is called installing libraries. The location is C:\Users-yourUser-\Documents\Arduino\libraries and you should create a folder called Kaimana and move the files here. Your library files should now be in C:\Users-yourUser-\Documents\Arduino\libraries\Kaimana

You should have the following library files in that Kaimana folder:

animations.h
kaimana.h
kaimana_custom.h
animations.cpp
kaimana.cpp
example.ino
You can move the example.ino file to an easier to locate place like your Desktop.**

This guy is a fricken boss. We just spent about 2 hours on skype going over code and getting my kaimana changed up with the tournament mode. Thank you so much!

I keep getting an error no matter what I do. I would like to see a video of a fresh install as that would answer whether or not I did something wrong or computer shenanigans.

It would be better to do the opposite, Start over and document what you do, then post that here. I will be doing code streams this week so you can catch me there.

If I remove my LED balltop do I need to remove the code in the kaimana? Does more kaimana code / any kaimana code cause any input latency or is it just a passthrough? How does all that work with something like this. Also - in tournament mode where all the LEDs are just solid color they seem to flicker just slighty. Even when I’m not pressing any buttons there’s just kind of a light flicker.

Now I am getting new errors without changing much. This is so odd.
I download Arduino 1.6.3 then install. Download the file from GitHub next extract it.
Create a Kaimana folder in the libraries folder located in Documents/Ardunio/libraries.
Click and drag all the files inside example folder into the Kaimana folder.
Move example.ino to desktop. Open example, copy the code create new sketch and paste the code there.
Also new error is

[details=Spoiler]Arduino: 1.6.3 (Windows 7), Board: ā€œArduino Unoā€

In file included from c:\program files (x86)\arduino\hardware ools\avr\avr\include\avr\io.h:99:0,

             from C:\Users

ame\Documents\Arduino\libraries\Kaimana\kaimana.cpp:29:

C:\Users
ame\Documents\Arduino\libraries\Kaimana\kaimana.cpp: In member function ā€˜void Kaimana::updateALL()’:

C:\Users
ame\Documents\Arduino\libraries\Kaimana\kaimana.cpp:212:30: error: ā€˜PORTF’ was not declared in this scope

 [port] "I" (_SFR_IO_ADDR(PORTF)), \

                          ^

Error compiling.[/details]

Because you need to set it to Arduino Leonardo.

Congratulations, your Kaimana Code is ready to download! What to do next?

Verify the correct BOARD is selected: TOOLS > BOARD > Arduino Leonardo
Verify the correct PORT is selected: TOOLS > PORT > COMx
You can find the correct COM PORT for the KAIMANA in Device Manager. Many times Arduino will find it automatically.
Click the upload button! Its a round icon with an arrow pointing right.

Did I miss something? where is the tournament mode code/instructions?

This week I will be updating the guide with how to set up basic tournament mode functionality.

While the lights are on solid in tournament mode there’s a faint flicker. Is that normal since its maintaining one solid color? Whether I’m pushing buttons or not the flicker is still there.