Previously, the address of the CAN device (`CANbaseAddress`) was specified as a signed or unsigned integer of variable size. This made the ABI specific for each driver and is not generic enough for some use cases. Replaced all usages by using a void pointer instead. Renamed `CANbaseAddress` to `CANdevicePtr`. Refactored the code where it needed to be (some comparisons to -1). Use a pointer to a user-defined variable/structure instead of a 32-bit integer for CANbaseAddress. Renamed CANbaseAddress to CANbaseStruct to reflect that change in behavior. This is more modular and avoids casts. |
||
|---|---|---|
| .. | ||
| application.cpp | ||
| CO_driver.c | ||
| CO_driver.h | ||
| CO_Flash.c | ||
| CO_Flash.h | ||
| CO_PollingTimer.c | ||
| CO_PollingTimer.h | ||
| ecos_helper.cpp | ||
| ecos_helper.h | ||
| main.c | ||
| Makefile | ||
| readme | ||
CANopenNode driver for eCos CAN framework. The driver supports any hardware that is supported by the eCos CAN framework. See http://ecos.sourceware.org/ The driver was developed and tested with the Olimex LCP-E2294-1MB board: https://www.olimex.com/Products/ARM/NXP/LPC-E2294-1MB/ and with the Olimex LPC-L2294-1MB board: https://www.olimex.com/Products/ARM/NXP/LPC-L2294-1MB/ The driver also utilizes the eCos generic flash support to implement parameter storage and default parameter restore functionality via objects 0x1010 and 0x1011. Contributed by Uwe Kindler: http://sourceforge.net/p/canopennode/discussion/387151/thread/7603e3b5/