keyboardio / Kaleidoscope-Bundle-Keyboardio

A Kaleidoscope distribution for the Keyboardio Model 01 and other keyboards.
Other
17 stars 24 forks source link

Adds build recipe to paste header/footer to sketch #23

Closed noseglasses closed 4 years ago

noseglasses commented 4 years ago

Important: Only merge this it/after https://github.com/keyboardio/Kaleidoscope/pull/763 has been merged and pull up the bundle afterwards. Otherwise build errors will result.

This change adds a build recipe that pastes a header and footer include to the preprocessed sketch file.

Signed-off-by: Florian Fleissner florian.fleissner@inpartik.de

noseglasses commented 4 years ago

Just noticed that I forgot to modify the virtual platform file accordingly...

obra commented 4 years ago

I think that going with the simpler implementation for now makes sense.

Sent from my iPhone

On Dec 11, 2019, at 6:07 AM, noseglasses notifications@github.com wrote:

 @noseglasses commented on this pull request.

In avr/platform.txt:

@@ -188,3 +188,20 @@ tools.ctags.path={runtime.tools.ctags.path} tools.ctags.cmd.path={path}/ctags tools.ctags.pattern="{cmd.path}" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "{source_file}"

+# The following recipes enable adding code to specific places +# of the preprocessed firmware sketch. This is done by pasting +# the content of two files +# kaleidoscope_internal/sketch_preprocessing/sketchheader.h, +# kaleidoscope_internal/sketch_preprocessing/sketchfooter.h +# to the top and the bottom of the preprocessed sketch file. +# +# These two files will make the include files +# kaleidoscope_internal/sketch_preprocessing/sketch_header.h and +# kaleidoscope_internal/sketch_preprocessing/sketch_footer.h +# being included during the firmware compile. Nothing. I just found it to be more verbose when looking at the preprocessed sketch. There, the includes lead the way to where the code came from.

But I am also ok with including directly.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

noseglasses commented 4 years ago

The implementations seem equally simple. @obra, which one do you mean? With or without .h_ files?

obra commented 4 years ago

Without. Fewer files is simpler :)

Sent from my iPhone

On Dec 11, 2019, at 11:34 AM, noseglasses notifications@github.com wrote:

 The implementations seem equally simple. @obra, which one do you mean? With or without .h_ files?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

noseglasses commented 4 years ago

I changed this to work with one set of files only. I also added the header/footer pasting part to the virtual platform.txt.

noseglasses commented 4 years ago

In a separate commit this PR adds the special case ctag treatment for Arduino 1.8.10 also to virtual/platform.txt.

noseglasses commented 4 years ago

I tested this also with msys2.