CAN Driver Source Code - CANpie FD
The CAN driver CANpie FD (Controller Area Network Programming Interface Environment) offers a standardized programming interface for development of CAN-based applications.
The driver forms the basis for higher layer protocols (CANopen / J1939) and may be used for manufacturer-specific CAN communication between embedded systems. CANpie is avaliable for a wide range of microcontrollers (more than 150 at the moment). A variety of configuration options facilitates adjustment to individual target systems.
An outline of the CANpie FD project is available on GitHub.
Features
- Modular structure with versatile configuration options
- Optimised to low resource requirements (ROM / RAM)
- Wide range of supported CAN controllers
- Support of standard frames (11-bit identifier) and extended frames (29-bit identifier)
- Data exchange via interrupt or polling
- Support of virtual mailboxes
Migration fromCANopen Classic to CANopen FD is possible at any time and only up to your entrepreneurial decision. Long-term efficiency of this new generation of protocol stacks is a standard feature and Industry 4.0 requirements are met at the same time.


Download
- Datasheet Rev. G363 KB
- User manual, Version 3.00679 KB
- User manual, Version 2.00404 KB
- CANpie FD - Simple migration75 KB
- Flyer protocol stacks450 KB
Ordering information
Order Number |
Manufacturer |
Controller |
50.10.079 | Atmel | AT90CAN32 / AT90CAN64 / AT90CAN128 |
50.10.011 | Atmel | AT89C51CC01 / AT89C51CC03 |
50.10.032 | Atmel | AT91SAM7X128 / AT91SAM7X256 / AT91SAM7X512 |
50.10.071 | Atmel | AT32UC3C family (AT32UC3Cx128C, AT32UC3Cx256C, AT32UC3Cx512C) |
50.10.021 | Freescale | Coldfire (MCF523x / MCF528x) |
50.10.023 | Freescale | XGATE (MC9S12XDP512) |
50.10.016 | Fujitsu | 16LX family 340 (MB90F342 / MB90F347 / MB90F349) |
50.10.017 | Fujitsu | 16LX family 385 (MB90F387) |
50.10.024 | Fujitsu | 16LX family 495 (MB90F497 / MB90F498) |
50.10.033 | Fujitsu | 16FX family 340 (MB96F347 / MB96F348) |
50.10.002 | Infineon | C505 |
50.10.004 | Infineon | C16x family (C161 / C164 / C167) |
50.10.030 | Infineon | XC16x family (XC161CS / XC164CS / XC167CI) |
50.10.073 | Infineon | XMC4500 family (XMC4500 / XMC4502 / XMC4504) |
50.10.074 | Infineon | TriCore AUDO MAX family (TC1791 / TC1793 / TC1798) |
50.10.036 | Linux | Driver for Linux socketcan |
50.10.083 | Linux | Driver for can4linux |
50.10.012 | Microchip | PIC 18Fxx8x family (18F4680 / 18F6680 / 18F8680) |
50.10.022 | Microchip | PIC 18Fx68x family (18F2682 / 18F2685 / 18F4682 / 18F4685) |
50.10.034 | Microchip | dsPIC33F family (dsPIC33FJ64 / dsPIC33FJ128 / dsPIC33FJ256) |
50.10.037 | Microchip | PIC 32MX family (PIC 32MX5xx / PIC32MX7xx) |
50.10.008 | NEC | μPD70F32xx family (AFCAN) |
50.10.059 | NuMicro | NUC140 |
50.10.072 | NXP | LPC176x family (LPC1764 / LPC1765 / LPC1766 / LPC1768 / LPC1769) |
50.10.063 | NXP | LPC 177x / LPC178x family |
50.10.062 | NXP | LPC 18xx family |
50.10.015 | NXP | LPC21xx family (LPC2119 / LPC2129 / LPC2292) |
50.10.005 | NXP | SJA1000 |
50.10.064 | Renesas | R8C/34W family |
50.10.038 | Silicon Labs | C8051F04x family (C8051F040, C8051F041) |
50.10.027 | ST | STR7 family (STR710 / STR712) |
50.10.028 | ST | STR9 family (STR910 / STR911 / STR912) |
50.10.065 | ST | STM32 family (STM32F103) |
50.10.066 | ST | STM32 family (STM32F105/107) |
50.10.067 | ST | STM32 family (STM32F2xx) |
50.10.068 | ST | STM32 family (STM32F3xx) |
50.10.069 | ST | STM32 family (STM32F4xx) |
50.10.031 | ST | ST10 family (ST10F26x / ST10F27x) |
50.10.025 | TI | TMS320LF24xx family |
50.10.035 | TI | TMS320F28xx family |
50.10.075 | TI | TMS320F2803x Piccolo family (F28030 / F28031 / F28032 / F28033 / F28034 / F28035) |
50.10.058 | TI | Tiva TM4C123x family |
50.10.076 | TI | Concerto F28M36x family |