Doxygen¶
doxygen is an open source program that creates software documentations in HTML, RTF, and LaTex from the marked comments in source files. The main web page is as follows: http://www.stack.nl/~dimitri/doxygen/index.htm. It supports a number of languages including C/C++ and Matlab.
The download page is: https://www.doxygen.nl/download.html <- NOTE, subject to change like all web links! Google if not found here!
It is easy to get started using a binary distribution for Windows 95/98/ME/NT/2000/XP.
A one sheet font & back 'cheat sheet' of the most common Doxygen codes can be found at: http://www.digilife.be/quickreferences/QRC/Doxygen%20Quick%20Reference.pdf
A good documentation for C prepared by the CS Dept at Carnegie Mellon University is found at: http://www-2.cs.cmu.edu/~410/doc/doxygen.html#commands
This author put the comments in the .h file. This practice helps the users of the library. On the other hand, it is easier for a developer to maintain both source codes and comments in .c files instead of .h files. You can choose an approach that is easier for you.
You can use a Readme file containing the main command to maintain the overview of the software and installation instructions.
Arduino / ESP32 Software¶
Helpful links: https://www.woolseyworkshop.com/2020/03/20/documenting-arduino-sketches-with-doxygen/
Once you generate the doxyfile, you will need to make several simple modifications, as per the above article, to make it compatible with the Arduino code.