So sorry about cross posting on the fb proffieboard support group and rebel armory… I was advised that the was the best place to post.
Secondly, like all of you I’m a huge fan of star wars and lightsabers, and I love that proffie is an open source board and OS and I’m really appreciative of all the works that’s been done already.
So I just downloaded proffie OS6.7 and started looking at the code. And excuse me for talking like someone who’s job title includes the phrase “R&D computer science” but that’s who I am in real life, so this is largely a set of questions about the choice of build/test/documentation/etc. harness/infrastructure.
I mean I’m assuming there are very good reasons behind the current choices for and im just ignorant of what the historical motivation for those choices are. Then again it could have just been organic opensource development over a long period of time and the quality of software infrastructure tools have dramatically improved in the last 1.5 decades, and maybe switching to better tools hasn’t been done because of inertia/the cost (in terms of man hours) of retooling the code, because that’s true of a lot of projects I’ve been on at work and this is just something people contribute to as a hobby. So that’s the context of the following comments/questions.
So maybe I’m blind and/or just missed it in my very cursory examination of the code base but I’m not seeing a whole lot of documentation to help proffie OS newbs like me get a big picture of the os, how things connect (the folder structure is useful thoug).
Is there a reason the project is isn’t using doxygen (to autgenerate api docs from marked up comments?) Is there something about the compiler used by ardunio that the comments wouldn’t be stripped out during compile and they’d result in a bigger image to load?
Because doxygen opens the door to doxygraph. Doxygraph auto-generates uml diagrams from source code and when you load the web page you can checkbox what you want to see or not (so the amount of complexity of the diagrams is somewhat controllable) … normally I consider doxygraph pretty “meh” (you get what you pay for and you’re getting the uml for free) but in an open source project like this free documentation is a lot better than no documentation.
Also is there any reason that CMAKE (cross platform make) wouldn’t work with ardunio. With CMAKe you have these very small CMakelists.txt files that cmake turns into Makefile’s to it’s a like a better, more general, easier to maintain version of the configure automake paradigm for Linux.
With CMAKE you also get the ctest harness, and while I haven’t drunk the test driven development kool-aid (largely because tdd omits the design phase from consideration in favor of emergent design) I do see merit in the idea of “test everything” with an automated test suite and ctest is one standardized testing framework.
At work I rely on a Infrastructure wizard to handle all of that for me including lcov code coverage (I do most of my professional code development on linux) and CI, so I can focus on algorithm development, but I probably ought to increase my hands on experience with setting that stuff up (rather than just using it). Or maybe I can get my guy to do the retooling really quick in exchange for taking him and his family out for dinner or something. That’s if there’s even a willingness to switch too a “better” toolset… Are the things I’ve mentioned the community/powers that be would even be interested in?