I’m not sure the best way to discuss / comment on pages in the Kaleidoscope wiki - certainly editing the page doesn’t seem like the best way to have a conversation, opening a GitHub issue seems a little too aggressive, and there’s no ‘talk’ / ‘discuss’ feature on the wiki. So I’m posting here, unless there’s a better mechanism I’m not yet aware of.
I just wanted to say re: the Develop interdependent Kaleidoscope Plugins wiki page, that the description of the issue there does not match my experience. In particular, in my sketch I have #include "Kaleidoscope.h" first, followed by #includes for a long list of plugins, all of which naturally depend on Kaleidoscope.h, and this compiles fine. I also have #include "Kaleidoscope-LEDControl.h" listed before all of my various LED modes (which each depend on Kaleidoscope-LEDControl.h themselves), and again this compiles fine.
I imagine that the issue described on the wiki page is certainly a real issue, but that it appears in a much narrower set of circumstances than the page seems to claim. I’m not sure offhand what those narrower set of circumstances would be, as I’ve never encountered the linker errors described on the page. Maybe the behavior is only manifests on certain OSes, for instance.
I’m not saying the page gives bad advice, just that the problem is maybe not as bad or pervasive as the page might make it seem.
If you want some place off forum and smaller than an issue to talk about documentation topics, you could create a card on the Documentation project:
I also regularly create draft pages that aren’t linked in the sidebar, and you should feel free to do the same. I won’t let cruft build up there- mine or anyone else’s, but one of the nice things about having the sidebar is having a live editing space that’s at least somewhat out of view.
I agree that the lack of document control or talk pages is frustrating, but it’s a set of trade-offs. Having fewer hoops to jump through makes it easier for novices to contribute fixes.
Good to know. Feel free to adjust the documentation in a way that informs the reader about the issue not occring under all circumstances. For me the described change of the include order affected the library link order.
But as I wrote in the wiki, I did not conduct thorough research concerning Arduino’s link order logic.