ON Semiconductor / mbed-os

Dependents:   mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510

Committer:
group-onsemi
Date:
Wed Jan 25 20:34:15 2017 +0000
Revision:
0:098463de4c5d
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-onsemi 0:098463de4c5d 1 1 Introduction
group-onsemi 0:098463de4c5d 2
group-onsemi 0:098463de4c5d 3 This document describes some guidelines for people participating
group-onsemi 0:098463de4c5d 4 in lwIP development.
group-onsemi 0:098463de4c5d 5
group-onsemi 0:098463de4c5d 6 2 How to contribute to lwIP
group-onsemi 0:098463de4c5d 7
group-onsemi 0:098463de4c5d 8 Here is a short list of suggestions to anybody working with lwIP and
group-onsemi 0:098463de4c5d 9 trying to contribute bug reports, fixes, enhancements, platform ports etc.
group-onsemi 0:098463de4c5d 10 First of all as you may already know lwIP is a volunteer project so feedback
group-onsemi 0:098463de4c5d 11 to fixes or questions might often come late. Hopefully the bug and patch tracking
group-onsemi 0:098463de4c5d 12 features of Savannah help us not lose users' input.
group-onsemi 0:098463de4c5d 13
group-onsemi 0:098463de4c5d 14 2.1 Source code style:
group-onsemi 0:098463de4c5d 15
group-onsemi 0:098463de4c5d 16 1. do not use tabs.
group-onsemi 0:098463de4c5d 17 2. indentation is two spaces per level (i.e. per tab).
group-onsemi 0:098463de4c5d 18 3. end debug messages with a trailing newline (\n).
group-onsemi 0:098463de4c5d 19 4. one space between keyword and opening bracket.
group-onsemi 0:098463de4c5d 20 5. no space between function and opening bracket.
group-onsemi 0:098463de4c5d 21 6. one space and no newline before opening curly braces of a block.
group-onsemi 0:098463de4c5d 22 7. closing curly brace on a single line.
group-onsemi 0:098463de4c5d 23 8. spaces surrounding assignment and comparisons.
group-onsemi 0:098463de4c5d 24 9. don't initialize static and/or global variables to zero, the compiler takes care of that.
group-onsemi 0:098463de4c5d 25 10. use current source code style as further reference.
group-onsemi 0:098463de4c5d 26
group-onsemi 0:098463de4c5d 27 2.2 Source code documentation style:
group-onsemi 0:098463de4c5d 28
group-onsemi 0:098463de4c5d 29 1. JavaDoc compliant and Doxygen compatible.
group-onsemi 0:098463de4c5d 30 2. Function documentation above functions in .c files, not .h files.
group-onsemi 0:098463de4c5d 31 (This forces you to synchronize documentation and implementation.)
group-onsemi 0:098463de4c5d 32 3. Use current documentation style as further reference.
group-onsemi 0:098463de4c5d 33
group-onsemi 0:098463de4c5d 34 2.3 Bug reports and patches:
group-onsemi 0:098463de4c5d 35
group-onsemi 0:098463de4c5d 36 1. Make sure you are reporting bugs or send patches against the latest
group-onsemi 0:098463de4c5d 37 sources. (From the latest release and/or the current Git sources.)
group-onsemi 0:098463de4c5d 38 2. If you think you found a bug make sure it's not already filed in the
group-onsemi 0:098463de4c5d 39 bugtracker at Savannah.
group-onsemi 0:098463de4c5d 40 3. If you have a fix put the patch on Savannah. If it is a patch that affects
group-onsemi 0:098463de4c5d 41 both core and arch specific stuff please separate them so that the core can
group-onsemi 0:098463de4c5d 42 be applied separately while leaving the other patch 'open'. The prefered way
group-onsemi 0:098463de4c5d 43 is to NOT touch archs you can't test and let maintainers take care of them.
group-onsemi 0:098463de4c5d 44 This is a good way to see if they are used at all - the same goes for unix
group-onsemi 0:098463de4c5d 45 netifs except tapif.
group-onsemi 0:098463de4c5d 46 4. Do not file a bug and post a fix to it to the patch area. Either a bug report
group-onsemi 0:098463de4c5d 47 or a patch will be enough.
group-onsemi 0:098463de4c5d 48 If you correct an existing bug then attach the patch to the bug rather than creating a new entry in the patch area.
group-onsemi 0:098463de4c5d 49 5. Patches should be specific to a single change or to related changes. Do not mix bugfixes with spelling and other
group-onsemi 0:098463de4c5d 50 trivial fixes unless the bugfix is trivial too. Do not reorganize code and rename identifiers in the same patch you
group-onsemi 0:098463de4c5d 51 change behaviour if not necessary. A patch is easier to read and understand if it's to the point and short than
group-onsemi 0:098463de4c5d 52 if it's not to the point and long :) so the chances for it to be applied are greater.
group-onsemi 0:098463de4c5d 53
group-onsemi 0:098463de4c5d 54 2.4 Platform porters:
group-onsemi 0:098463de4c5d 55
group-onsemi 0:098463de4c5d 56 1. If you have ported lwIP to a platform (an OS, a uC/processor or a combination of these) and
group-onsemi 0:098463de4c5d 57 you think it could benefit others[1] you might want discuss this on the mailing list. You
group-onsemi 0:098463de4c5d 58 can also ask for Git access to submit and maintain your port in the contrib Git module.