NMEA2000 Library
0.1
Library to handle NMEA 2000 Communication written in C++
|
This chapter gives some basic information aimed primarily at developers of the library.
TODO: There's probably a nice way to run the unit tests from Arduino IDE or PlatformIO. Please document that here.
Here's how to run the unit tests from the command line:
The library documentation is automatically generated by Doxygen which combines all information from the source code with the markdown files from the ./Documents/src folder. The full documentation is listed on github pages.
See also:
The general content is written in markdown files. Each file greats one page on the toplevel of the navigation tree. Inside the file structure can be generated by headers and all doxygen commands can be used as well. The pages are listed in alphabetical order of the filenames in the navtree, thats why the filenames are starting with numbers.
Doxygen is very powerful in generating documentation from annotated C++ sources. Therefor it is most importend that all the source code files are proper documented.
The documentation for all variables, functions, classes, defines and so on is placed directly inside the header files.
Each Header file should start like this: see N2kTypes.h
Documenting an enum: see tN2kChargeState
Documenting a class is similar to the enum, just replace \enum with \class.
Documenting a function: see SetN2kPGN129802
Other useful doxygen commands for linking things together
All Files for the documentation are placed in a specific folder structure. This is important, because this structure is part of the configuration file **(./Documents/src/DoxyConf)**.
Before committing new content to github it is mandatory to test all changes locally. Therefor you can generate the doxygen html docu. Download doxygen to your PC from download
Step by Step
There is a way to download the full documentation to your local PC. Go to githup Docu and clone all the files.
In order to keep the documentation always up to date there is a github workflow in place which always get triggered when new changes were pushed to the master branch. The workflow is written in the file "./github/workflows/doxygen-gh-pages.yml" It generates the html documentation and push it to the branch "gh-pages". The "gh-pages" branch is the published under https://ttlappalainen.github.io/NMEA2000/