# HG changeset patch # User Florian Pose # Date 1319794314 -7200 # Node ID af3eda06907811f02cf2268c57ba53aca5ec7e0f # Parent c4afc5fede1927cdc9de25ddc9258bcf411334ff Added coding style document. diff -r c4afc5fede19 -r af3eda069078 CodingStyle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CodingStyle.txt Fri Oct 28 11:31:54 2011 +0200 @@ -0,0 +1,44 @@ +$Id$ + +vim: spelllang=en tw=78 + +This is a short introduction to the coding style that shall be used. The below +rules are applicable for all C source files, except the Ethernet drivers, for +which the Linux Kernel coding style shall be used to minimize the +differences). + +* Lines shall not exceed 78 characters. + +* Indentation shall be done using 4 space characters + +* No whitespace shall be left at the end of a line. + +* After a comma, a single space shall be placed (if not followed by a + line break). + +* Braces shall be placed in the following way (K&R style): + + if (...) { + ... + } else if (...) { + ... + } else { + ... + } + + int function(...) + { + ... + } + +* Macros shall be named in CAPITAL letters. If a macro contains multiple + statements, they should be enclosed by a 'do {} while (0)' loop. Macro + parameters shall also be capital letters and shall be enclosed py parantheses + if necessary. + + #define MACRO(A, B) \ + do { \ + if ((A) == 1) { \ + statement(B); \ + } while (0) + diff -r c4afc5fede19 -r af3eda069078 README --- a/README Mon Oct 24 10:49:27 2011 +0200 +++ b/README Fri Oct 28 11:31:54 2011 +0200 @@ -1,4 +1,4 @@ -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ This is the README file of the IgH EtherCAT Master. @@ -6,7 +6,7 @@ vim: spelllang=en spell tw=78 -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ Contents: 1) General Information @@ -14,8 +14,9 @@ 3) Building and installing 4) Realtime & Tuning 5) License +6) Coding Style -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ 1) General Information ====================== @@ -33,7 +34,7 @@ D-45356 Essen http://igh-essen.com -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ 2) Requirements =============== @@ -48,27 +49,27 @@ A table of supported hardware can be found at http://etherlab.org/en/ethercat/hardware.php. -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ 3) Building and installing ========================== See the INSTALL file. -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ 4) Realtime & Tuning ==================== Realtime patches for the Linux kernel are supported, but not required. The realtime processing has to be done by the calling module (see API -documentation). The EtherCAT master code itself is passive (except for the idle -mode and EoE). +documentation). The EtherCAT master code itself is passive (except for the +idle mode and EoE). To avoid frame timeouts, deactivating DMA access for hard drives is recommended (hdparm -d0 ). -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ 5) License ========== @@ -96,4 +97,11 @@ technology and brand is only permitted in compliance with the industrial property and similar rights of Beckhoff Automation GmbH. -------------------------------------------------------------------------------- +------------------------------------------------------------------------------ + +6) Coding Style +=============== + +Developers shall use the coding style rules in the CodingStyle.txt file. + +------------------------------------------------------------------------------