Documentation about using 3rd party plugins


(Noseglasses) #1

I had a hard time finding documentation about where to put 3rd party plugins when building the firmware. I searched the READMEs and the Kaleidoscope Wiki but I could not find any information.

Of course I am pretty sure that most of the users are able to figure this out by means of trial and error. If there already exists any documentation that I was not able to find, it would definitely be worth being added in some prominent place in the Kaleidoscope-Wiki (if no already there :wink:)


(Michael Richters) #2

I’ve found that the best place to add them is under the sketch directory. For example:

$ git clone https://github.com/keyboardio/Model01-Firmware.git my-model01-firmware

$ cd my-model01-firmware

$ git clone <third-party-plugin>

Edit Model01-Firmware.ino

$ make flash

I haven’t checked to see if this works with the new build system yet, but it works well with kaleidoscope-builder.


(Noseglasses) #3

With this setup, do you have a symbolic link to the bundle hardware path in your Arduino installation? Or do you clone Model01-Firmware.git into the bundle’s library directory?


(Michael Richters) #4

It should work with the sketch directory anywhere in the filesystem, as long as the symlink to the Kaleidoscope libraries is correct. In practice, I’ve almost always been using the Model01-Firmware directory inside the bundle.


(Michael Richters) #5

Interesting. Building a sketch outside of the bundle tree seems not to work because of an incorrect path to rules.mk. Apparently, I haven’t done that in a while.


(Noseglasses) #6

Because you mention rules.mk. Could the following issue be related. There was also problem with rules.mk's path. Jesse recently pushed a quick fix.


(Michael Richters) #7

My link needs to change so it’s up one level, because build-tools is a sibling of avr, not a child, but in the bundle, avr/build-tools is a symlink pointing to ../build-tools.


(Michael Richters) #8

You are correct! That fix is what broke building the sketch outside the bundle.


(Noseglasses) #9

:thinking: Can the fix be fixed?


(Michael Richters) #10

I think if I change the level at which my symlink works, it will be fine.

[edit: i.e. link from ~/Arduino/hardware/keyboardio instead of from ~/Arduino/hardware/keyboardio/avr]