grovelight.cxx: add grovelight sample code
[contrib/upm.git] / docs / contributions.md
1 Contributing a module                         {#contributions}
2 =====================
3
4 Here are the rules of contribution:
5 - Your module must have an example that builds against your UPM library
6 - Commits must have a sign-off line by everyone who reviewed them
7 - Commits must be named <file/module>: Some decent description
8 - You must license your module under a FOSS license. The recommended license
9   is MIT but any permissive license is fine. Please consider that people using
10   UPM may want to write proprietary programs with your sensors so we like to
11   avoid GPL. (LGPL is fine). If your license is not MIT please include a
12   LICENSE file in src/<mymodule>/
13 - Please test your module builds before contributing and make sure it works on
14   the latest version of mraa. If you tested on a specific board/platform please
15   tell us what this was in your PR.
16 - Try not to break master. In any commit.
17 - Attempt to have some decent API documentation below are the explicit rules on documentation:
18
19 Documentation
20 =============
21
22 - Try to have no warnings in doxygen, this is generally fairly easy
23 - Have the specific sensor manufacturer/model & version that you used, if you
24   support multiple versions please list
25 - Comments do not need full stops
26 - Stick to <80 chars per line even in comments
27 - No text is allowed on the same line as the start or end of a comment /** */
28 - All classes should have a "@brief" and a "@snippet"
29
30 The example should have an 'Interesting' section which will be highlighted as a
31 code sample in doxygen.  Everything in between such tags will show up in the
32 class documentation when the following is put at the end of a class docstring
33 as show above.
34