File: duff.c
Original provenience: Lift Controller, see README file


2015-12-21:
- replaced defines, introduced 4 enums to replace #define statements 
  (enum Direction, Sensor, Motor, Command)
- renamed libs to fit general naming scheme: lift_io -> liftio
- benchmark consisted of two benchmarks, test_lift and run_lift, 
  only run_lift remains, i.e., test_lift.data.c/h and test_lift.c removed.
- Makefile removed, file can now be compiled using 'gcc lift.c'
- 'uint16_t' replaced by 'unsigned short int' to get rid of 'stdint.h;
- changed LEVEL_POS_LENGTH from 14 to 16 (16 values were initialized).
- added an additional global variable 'int checksum'
- added function pre-fix 'lift_' to each function
- added function int lift_return() returning the checksum and lift_init()
- global variable checksum filled in function 'lift_ctrl_set_vals()' 
  and initialized to 0 in 'lift_init()'
- Added forward declarations of all functions before the declarations of global
  variables
- in function lift_main, explicit initialization 'int i = 0' added.
- Re-ordered functions to fit template-order
- Applied code formatting according to the following rules
  (incomplete, to be discussed; I basically used astyle with the attached
   options file):
  - Lines shall not be wider than 80 characters; whenever possible, appropriate
    line breaks shall be inserted to keep lines below 80 characters
  - Indentation is done using whitespaces only, no tabs. Code is indented by
    two whitespaces
  - Two empty lines are put between any two functions
  - In non-empty lists or index expressions, opening '(' and '[' are followed by
    one whitespace, closing ')' and ']' are preceded by one whitespace
  - In comma- or colon-separated argument lists, one whitespace is put after
    each comma/colon
  - Names of functions and global variables all start with a benchmark-specific
    prefix (here: st_) followed by lowercase letter (e.g., st_square)
  - For pointer types, one whitespace is put before the '*'
  - Operators within expressions shall be preceded and followed by one
    whitespace
  - Code of then- and else-parts of if-then-else statements shall be put in
    separate lines, not in the same lines as the if-condition or the keyword
    "else"
  - Opening braces '{' denoting the beginning of code for some if-else or loop
    body shall be put at the end of the same line where the keywords "if",
    "else", "for", "while" etc. occur
- Added general TACLeBench header to beginning of source code
