[FIX] Use process image object names conforming to the spec

- All input process image variables are called PI_Input_xyy
- All output process image variables are called PI_Output_xyy
- x determines signed (I) or unsigned (U), yy determines the bit size

Change-Id: I36cc2e75f9495976c123a2f70152bd471cba6626
Reviewed-on: http://brateggevoat1/gerrit/2088
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FEATURE] Add 64-bit datatypes to the CiA302-4 MN OD

- Integer64 and Unsigned64 data types are added to the process image
  section of the object dictionary and the MN XDD file is updated
  accordingly.

Change-Id: I0e478b64c8cff05658d70bc465d065202e4fdfc2
Reviewed-on: http://brateggevoat1/gerrit/2089
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Fix plkload/plkunload to properly detect Ethernet devices

The plkload/plkunload scipts fails to distinguish two PCI ID
when there are several Ethernet device of the same type on the
computer.

Based-on-patch-by: Romain Naour <romain.naour@openwide.fr>

Change-Id: Ic4bb3444e76387f2a8df9f345528b9cf6704e2df
Reviewed-on: http://brateggevoat1/gerrit/2097
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FEATURE] Add new array macro with writeable sub-index 0

The new macro is called OBD_RAM_INDEX_RAM_ARRAY_ALT, because the
currently valid array size can be altered.

Based on change for V1.08.3 by
Daniel Krueger <daniel.krueger@systec-electronic.com>

Change-Id: I105002ad7deef210cf97d8a69c1aec46c133359d
Reviewed-on: http://brateggevoat1/gerrit/2099
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Make sub-index 0 of several arrays writeable

The POWERLINK specification EPSG 301 requires that sub-index 0 of
several objects is writeable. This includes objects 0x1F81
NMT_NodeAssignment_AU32, 0x1F84 NMT_MNDeviceTypeIdList_AU32, 0x1F8B
NMT_MNPReqPayloadLimitList_AU16, 0x1F8D NMT_PResPayloadLimitList_AU16
and 0x1F92 NMT_MNCNPResTimeout_AU32.

Based on change for V1.08.3 of Daniel Krueger
<daniel.krueger@systec-electronic.com>

Change-Id: I31aa0afe8120c23ef1278d1990608b6e84ffc726
Reviewed-on: http://brateggevoat1/gerrit/2100
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Add object 0x1F9B NMT_MultiplCycleAssign_AU8

This object is required for CNs with multiplexed feature according to
POWERLINK specification EPSG 301. However, the information of this
object is not used/required by the stack for operation.

Based on changes for V1.08.3 by Daniel Krueger
<daniel.krueger@systec-electronic.com>

Change-Id: I62f36ee46a20e6f63a594a00475fd8de7df38833
Reviewed-on: http://brateggevoat1/gerrit/2101
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Remove unused enum constants in obd.h

Based on change for V1.08.3 of Daniel Krueger
<daniel.krueger@systec-electronic.com>

Change-Id: I015522c7e0893a9a16be22c74b21c67e4c99568f
Reviewed-on: http://brateggevoat1/gerrit/2104
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Add missing DEBUG flag to Altera tools

Change-Id: I5a1f2785f64e68ff2e29686e2f1f4cbb7d4c247e
Reviewed-on: http://brateggevoat1/gerrit/2085
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Fix tightly-coupled memory support in Altera designs

- Add TCI memory size macro to stack.sh
- Remove _pcp suffix from section attribute

Change-Id: I6c2ebc3627857efacfcbade52f11a43132548b5f
Reviewed-on: http://brateggevoat1/gerrit/2086
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
[FIX] Add range check for objects 0x14XX/0x18XX

The change modifies the object dictionaries to add range checks for
objects 0x14XX/0x18XX. The range of 0..254 as noted in the POWERLINK
specification is allowed.

Note: CONFIG_OBD_CHECK_OBJECT_RANGE must be set to TRUE in oplkcfg.h to
enable range checks.

Change-Id: Ia28a1be4740dca9733a5e5085a6e63d7d5f02771
Reviewed-on: http://brateggevoat1/gerrit/2105
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Wolfgang Seiss <wolfgang.seiss@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Respect sub-index count of objects 0x1F81, 0x1F8B and 0x1F8D

The user might reduce the valid sub-index range of those objects.

Based on change for V1.08.3 of Daniel Krueger
<daniel.krueger@systec-electronic.com>

Change-Id: I1305f5faaf50856fb696b008b277193f5ec845be
Reviewed-on: http://brateggevoat1/gerrit/2102
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Add parameter NMT state of CN to cfmu_processNodeEvent()

This will be necessary to detect and handle a loss of connection to a
CN.

Based on change for V1.08.4 of Daniel Krueger
<daniel.krueger@systec-electronic.com>

Change-Id: I07727497e88a3a6aea586907974f40bdeef90746
Reviewed-on: http://brateggevoat1/gerrit/2106
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Forward most node events unconditionally to CFM

The application can only reject forwarding of node events CheckConf
and UpdateConf. Other events like kNmtNodeEventFound and
kNmtNodeEventNmtState are important for CFM to stop an still running
configuration process.

Based on change for V1.08.4 of Daniel Krueger
<daniel.krueger@systec-electronic.com>

Change-Id: Ide02ade09d52be9ca364fae0cba0e8fe15128710
Reviewed-on: http://brateggevoat1/gerrit/2107
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Stop configuration process on IdentResponse and NotActive

When the connection to a node is lost (because of NMT reset for
example), the MN indicates a NMT state change kEplNmtCsNotActive, but
a CFM configuration process for that node might still be running. The
same applies for reception of IdentResponse (kEplNmtNodeEventFound).
This commit closes a potentially running SDO connection on those
events.

Based on change for V1.08.4 of Daniel Krueger
<daniel.krueger@systec-electronic.com>

Change-Id: Ia86743dea134f2bc5c9b9f96bc61c8eef57b862c
Reviewed-on: http://brateggevoat1/gerrit/2108
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] edrv_Shutdown() kernel oops

edrv_shutdown() is called twice on error (from dllk.c and edrv*.c)
This happens when the ethernet cable is not connected.

Based on change for V1.08.4 of Romain Naour <romain.naour@openwide.fr>

Change-Id: Iba05d4d480d859b0146c69d715692c12862acd24
Reviewed-on: http://brateggevoat1/gerrit/2110
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Replace generic memory functions with macros

Replace generic memory functions (malloc, free, memcpy, memcmp, memset)
with the appropriate architecture specific macros.

This does not apply to source code in contrib and hardware directory.

Resolves: #331

Change-Id: I9dc73d80992f346869afa7bc7e18adb74529c385
Reviewed-on: http://brateggevoat1/gerrit/2112
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Change settings file include in Xilinx build system

The settings file for the board demo needs to be included in the following
order: Unset old configuration -> Include new settings -> Generate CFLAGS!

This order was not correct in the stack and apps CMake projects.
The new macro SET_BOARD_CONFIGURATION ensures this order and prevents
configuration faults.

Change-Id: I7b0ed2e41ef30057270559ca1da4f2e99db1190a
Reviewed-on: http://brateggevoat1/gerrit/2113
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
[TASK] Enable hardware multiplier on Xilinx demo

This improves performance on array accesses which are done in the
ami library. The ami library copies the PDOs to the user variables
and is therefore performance critical.

Change-Id: Iaabcafb5f4a9922a32b2dd0057465a6c2407887d
Reviewed-on: http://brateggevoat1/gerrit/2114
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FIX] Enable tightly coupled memory mapping on Xilinx CN

Only map functions to internal memory when the stack is built in release.
Create macro CONFIG_[CN,MN] to be conform to Altera.

Change-Id: I385372db4de5d7dc795da28ecc4cf2f8fd370561
Reviewed-on: http://brateggevoat1/gerrit/2115
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
[FIX] Change eclipse increment build target to "install"

This change ensures the call of the install target in ecliplse when
the libraries are rebuilt.

Change-Id: I686c6a2a9200cacaa050953a4e08f6d79c3f3d3d
Reviewed-on: http://brateggevoat1/gerrit/2116
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>