[TASK] Optimize asynchronous scheduling in DLLKCAL with circbuffer instances

In order to optimize the CN request handling of the asynchronous scheduler the
CN requests are forwarded to an NMT and GEN circbuffer instance. Note that
only the node ID is forwarded to the queue.
In order to get a pending CN request the queue is simply read, which reduces
the former worst-case iterations from 2*254 down to 2!
On Altera Nios II target the processing time is reduced from 75 us to 15 us!

Change-Id: I6e569a363a1a712a08072fab84dfed4f4d5301f6
Reviewed-on: http://brateggevoat1/gerrit/1314
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Add circbuffer instances for ident and status requests

Add circbuffer instances to asynchronous scheduler for ident and status
requests.
Note that this approach avoids modulo operation in the former Fifo-
implementation!

Change-Id: I315fb6f4338224478f223e2acabfc18a12a0d220
Reviewed-on: http://brateggevoat1/gerrit/1323
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FEATURE] Add lock to Microblaze processor targets

This lock feature is used to enable a pseudo-atomic instruction for the PDO
triple buffer implementation.
Note that only the local implementation is added by this commit.

Change-Id: I904d079b6a1bbb0c14ded1aaa1926cc1735bdbc5
Reviewed-on: http://brateggevoat1/gerrit/1363
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Rename EplSdo.h

- Rename to sdo.h
- Adapt all references

Change-Id: Ie6bfae6b876bf20a136add3031c709db432b9485
Reviewed-on: http://brateggevoat1/gerrit/1452
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>
[TASK] Rename typedefs in sdo.h

Change-Id: Ib2932ca1bceaf91dfee280fa8e405c8586517bfb
Reviewed-on: http://brateggevoat1/gerrit/1453
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>
[TASK] Refactor sdo.h

Change-Id: I2708c38d3c3075e7f593259d48459a8185a70939
Reviewed-on: http://brateggevoat1/gerrit/1454
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>
[TASK] Rename SDO UDP functions

- Rename functions
- Adapt references

Change-Id: Icbb9eeb92b6ce153d47a62ca5173342fe6ae6b32
Reviewed-on: http://brateggevoat1/gerrit/1455
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>
[TASK] Rename and refactor EplSdoUdpu.h

- Rename into sdoudp.h
- Cleanup
- Adapt file references

Change-Id: I5d53e439488f925733d13f222e7ae8f8420fc264
Reviewed-on: http://brateggevoat1/gerrit/1456
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>
[FEATURE] Add virtual Ethernet driver for Linux userspace

Add a virtual Ethernet driver for Linux userspace. The driver uses
a TUN/TAP network interface for implementing the virtual Ethernet
interface.

Change-Id: Ib656c228020a1d41c40ea3229caaac2df6cddb85
Reviewed-on: http://brateggevoat1/gerrit/1461
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>
[TASK] Cleanup virtual Ethernet for Linux kernel

- Rename veth-linux.c to veth-linuxkernel.c
- Cleanup file
- Remove functions for setting IP address and gateway

Change-Id: I46c69018f2e008de04158e7f0959d7518b8908dc
Reviewed-on: http://brateggevoat1/gerrit/1462
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>
[TASK] Add target specific functions for setting IP parameters

- Add global declarations in Epl.h
- Add implementation for Linux

Change-Id: I275843eb8fe47a05a8d23eed08fd6dbfb0858434
Reviewed-on: http://brateggevoat1/gerrit/1463
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>
[TASK] Change veth init in control module

Change initialization of virtual Ethernet IP parameters in ctrlu.c
to use new target specific functions.

Change-Id: Icfcb3ad4e3bde391f48d453df191fbd08174e3ec
Reviewed-on: http://brateggevoat1/gerrit/1466
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>
[FEATURE] Add common GPIO library for embedded demos

The GPIO library provides a common interface to:
- Node ID switch
- POWERLINK S/E LED
- Application I/Os

Change-Id: I0c3d3536365d1039fdb478b64baa38419bb6dc60
Reviewed-on: http://brateggevoat1/gerrit/1384
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>
[TASK] Relocate lcd library to common example directory

- Relocate lcd library to examples/common/lcd
- Add lcd null implementation for platforms without lcd support

Change-Id: Ic86dbe86d83cf748668cfcfd95e026053d5a4115
Reviewed-on: http://brateggevoat1/gerrit/1388
Tested-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FEATURE] Add embedded CN demo

This demo shall be used by all embedded platforms like FPGA or ARM.

Change-Id: Idbe20d8494364a36141946a9a7b4b1cabedf9450
Reviewed-on: http://brateggevoat1/gerrit/1385
Tested-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Rework Altera FPGA CN demo

- Adapt to new embedded CN demo

Change-Id: I5a5599abd2da839fbc67dd3e00f3438b9b7b7a3b
Reviewed-on: http://brateggevoat1/gerrit/1386
Tested-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FEATURE] Add embedded MN demo

This demo shall be used by all embedded platforms like FPGA or ARM.

Change-Id: I65f0f5ed0ab85e8eaf9c4db201ec8bf95efd32c1
Reviewed-on: http://brateggevoat1/gerrit/1467
Tested-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Rework Altera FPGA MN demo

- Adapt to new embedded MN demo

Change-Id: Iaf5284359c9cb5a7e67fd59c477fb12ace101e26
Reviewed-on: http://brateggevoat1/gerrit/1469
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>
[FIX] Resolve warnings in demo embedded

Change-Id: Ibbc962fc8f82e104bdda6b08e145d083f123ba79
Reviewed-on: http://brateggevoat1/gerrit/1470
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>
[FEATURE] Add gpio microblaze

* Create gpio application for microblaze target

Change-Id: I6f25911a8924d0a81f7eebd3514f770f3bf69b46
Reviewed-on: http://brateggevoat1/gerrit/1471
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>