CodingStyle.txt
author Knud Baastrup <kba@deif.com>
Tue, 14 Apr 2015 13:12:24 -0400
changeset 2629 a2701af27fde
parent 2127 0814802f5928
permissions -rw-r--r--
Internal SDO requests now synchronized with external requests.
Internal SDO requests are managed by master FSM and can conflict with
external requests managed by slave FSM. The internal SDO requests
includes SDO requests created by an application and external request are
typical created by EtherCAT Tool for SDO upload/download or a directory
fetch initiated with ethercat sdos command. The conflict will cause a
FPWR from an external request to be overwritten by a FPWR from an
internal SDO request (or oppersite) in the same "train" of datagrams.
$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).

1) Line length

- Lines shall not exceed 78 characters.

2) Whitespace

- Indentation shall be done using 4 space characters

- No whitespace shall be left at the end of a line.

- After commas, colons and semicolons, a single space shall be
  placed (if not followed by a line break).

- Binary operators (=, ==, ~=, |, ||, etc.) shall be enclosed by 2 spaces
  (except . and ->).

3) Placing braces

- Braces shall be placed in the following way (K&R style):

    if (...) {
        ...
    } else if (...) {
        ...
    } else {
        ...
    }

    int function(...)
    {
        ...
    }

4) Defines and Macros

- Defines and 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)