An API listing is not full software documentation. There always needs to be supplementary documentation, which could be arranged with dedicated pages (e.g. a README and more) that are placed somewhere in the source directory.
Also, watching this video reminds me that Windows really could use a package manager.
I watched through the whole thing last night. Having gained experience with the combination of CMake, Make, GCC and OpenOCD, yes.. setting up these tools can be overwhelming at first, but after doing so is well worth it. Especially being able to choose your own GCC version and architecture, plus not being dependent on GUI tools, for example if you want to do CI (Continuous Integration).
What OS do you use? If you use Windows, there is no reason to set up Visual Studio code for small ARM projects.
You can user Keil MDK Lite. Is is free. The only limitation is that it compiles code up to 32KB but it is OK for the uSupply.
https://www2.keil.com/mdk5/editions/lite
They need to update their compilers or website:
http://www2.keil.com/mdk5/compiler/5/ Not even C++11? I see David is using lots of template stuff, such as PackedTuple using
variadic templates, introduced in C++11.
Also I think the USB micro is 32K, but was too small for the USB side project, implying that the final binary will be bigger than that to support all the USB C and communication features. Also I'm sure that the supply-side microcontroller will slowly grow out of 32K. For example, controlling half a dozen peripherals with/without DMA, add some protocol sauce on top (e.g. for computer control via string commands), and have a comprehensive UI will grow out of hand.
Templates are great for embedded due to their speed, but can grow the codesize out of control, especially if you let it to be on optimization level O2 or O3.