User:Dolores88/sandbox: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
[[Image:CANpieFD_Logo.png|right|thumb|300px|CANpie FD logo]] |
[[Image:CANpieFD_Logo.png|right|thumb|300px|CANpie FD logo]] |
||
The project was established in 2003 by MicroControl and is licensed under [[GNU Lesser General Public License|LGPL version 3]]. The current version of the CANpie API<ref>http://www.microcontrol.net/download/canpie/canpie_user_v3r00.pdf</ref> covers both classical CAN frames as well as [[CAN FD|ISO CAN FD]] <ref>http://www.can-cia.org/fileadmin/cia/files/icc/13/hartwich.pdf</ref> frames. The API is designed for embedded control applications as well as for PC interface boards: embedded microcontrollers are programmed in C, a C++ API is provided for OS independent access to interface boards. The API provides ISO/OSI Layer-2 (Data Link Layer) functionality. It is not the intention of CANpie to incorporate higher layer functionality (e.g. CANopen, J1939). |
The project was established in 2003 by MicroControl and is licensed under [[GNU Lesser General Public License|LGPL version 3]]. The current version of the CANpie API<ref>http://www.microcontrol.net/download/canpie/canpie_user_v3r00.pdf</ref> covers both classical CAN frames as well as [[CAN FD|ISO CAN FD]] <ref>http://www.can-cia.org/fileadmin/cia/files/icc/13/hartwich.pdf</ref> frames. The API is designed for embedded control applications as well as for PC interface boards: embedded microcontrollers are programmed in C, a C++ API is provided for OS independent access to interface boards. The API provides ISO/OSI Layer-2 (Data Link Layer) functionality. It is not the intention of CANpie to incorporate higher layer functionality (e.g. CANopen, J1939). |
||
The CANpie API support the concept of hardware message buffers with a total limit of 255 buffers. It is also possible to connect a [[FIFO (computing and electronics)|FIFO]] to a buffer for both transfer directions. CANpie provides a method to gather information about the features of the CAN hardware. This is especially important for an application designer who wants to write the code only once. |
|||
==Driver Priciple== |
==Driver Priciple== |
||
[[Image:canpie_structure.png|right|thumb|300px|CANpie Structure]] |
[[Image:canpie_structure.png|right|thumb|300px|CANpie Structure]] The CANpie API supports the concept of hardware message buffers (mailboxes) with a total limit of 255 buffers. A message buffer has a unique direction (receive or transmit). As an option it is possible to connect a [[FIFO (computing and electronics)|FIFO]] with arbitrary size to a message buffer for both transfer directions. The total number of CAN channels is limited to 255, the API provides a method to gather information about the features of each CAN hardware channel. This is especially important for an application designer who wants to write the code only once. |
||
==Usage== |
==Usage== |
Revision as of 12:37, 16 April 2017
CANpie (CAN Programming Interface Environment) is an open source project and pursues the objective of creating and establishing an open and standardized software API for access to the CAN bus.
The project was established in 2003 by MicroControl and is licensed under LGPL version 3. The current version of the CANpie API[1] covers both classical CAN frames as well as ISO CAN FD [2] frames. The API is designed for embedded control applications as well as for PC interface boards: embedded microcontrollers are programmed in C, a C++ API is provided for OS independent access to interface boards. The API provides ISO/OSI Layer-2 (Data Link Layer) functionality. It is not the intention of CANpie to incorporate higher layer functionality (e.g. CANopen, J1939).
Driver Priciple
The CANpie API supports the concept of hardware message buffers (mailboxes) with a total limit of 255 buffers. A message buffer has a unique direction (receive or transmit). As an option it is possible to connect a FIFO with arbitrary size to a message buffer for both transfer directions. The total number of CAN channels is limited to 255, the API provides a method to gather information about the features of each CAN hardware channel. This is especially important for an application designer who wants to write the code only once.
Usage
The following code snippet shows the initialisation of a microcontroller.
Similar projects
can4linux and SocketCAN ... Linux. Autosar ..
The following code snippet shows the initialisation of a microcontroller.