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 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 Apparently, I haven’t done that in a while.

(Noseglasses) #6

Because you mention Could the following issue be related. There was also problem with'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]