Jump to content

User:Dolores88/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Dolores88 (talk | contribs)
No edit summary
Dolores88 (talk | contribs)
No edit summary
Line 18: Line 18:
The following code snippet shows the initialisation of a microcontroller.
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.
==References==
==References==



Revision as of 10:18, 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.

CANpie FD logo

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).

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 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

CANpie Structure

One of the ideas of CANpie is to keep it independent from the hardware. CANpie uses a message buffer (mailbox) model for hardware abstraction. The core functions access the hardware directly, so an adaption is necessary when implementing on a piece of hardware. A message buffer has a unique direction (receive or transmit), the initial setup is accomplished via CpCoreBufferConfig(). As an option it is possible to connect a FIFO with arbitrary size to a message buffer.


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.

References