The existing snRuntime docs setup uses Doxygen to document the C sources, and then converts the generated XML code to Markdown for inclusion in our MkDocs documentation. The tool used for the conversion is no longer maintained. I searched and tried some alternatives (moxygen, mkdoxy) but they didn’t seem robust enough. The best approach would be to use Sphinx+breathe, but our doc engine is MkDocs and shifting to Sphinx would probably require more work.
This PR implements the following contributions:
[x] To ease maintenance, drop the conversion from Doxygen XML docs to Markdown altogether, and just include the Doxygen-generated HTML pages on our site. Unfortunately, the style is not consistent with the other docs, but this is less relevant.
[x] Add docstrings for the team, alloc_v2, sync, dma and ssr modules of the snRuntime, containing the minimum set of functions a user would need to implement optimized code for Snitch.
[x] Install Doxygen on the Docker container, and run the CI job deploying the docs within the container.
[x] Test Doxygen doc build on every branch, not only when deploying on main (cause for the CI failure on main).
The existing snRuntime docs setup uses Doxygen to document the C sources, and then converts the generated XML code to Markdown for inclusion in our MkDocs documentation. The tool used for the conversion is no longer maintained. I searched and tried some alternatives (
moxygen
,mkdoxy
) but they didn’t seem robust enough. The best approach would be to use Sphinx+breathe, but our doc engine is MkDocs and shifting to Sphinx would probably require more work.This PR implements the following contributions:
team
,alloc_v2
,sync
,dma
andssr
modules of the snRuntime, containing the minimum set of functions a user would need to implement optimized code for Snitch.