Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
can module

General CAN driver

To activate a specific CAN peripheral, define flag USE_CANx where x is your CAN peripheral number

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

<module name="can">
b'<define name="USE_CANx" value="FALSE" />\n '
b'<configure name="USE_CANFD" value="TRUE" />\n '
</module>

Module configuration options

Configure Options

  • name: USE_CANFD value: TRUE
    Description: Use CANFD or just CAN

Define Options

  • name: USE_CANx value: FALSE
    Description: Enable the CANx port

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw can.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="can" dir="mcu_periph" task="mcu">
<doc>
<description>
General CAN driver
To activate a specific CAN peripheral, define flag USE_CANx where x is your CAN peripheral number
</description>
<configure name="USE_CANFD" value="TRUE" description="Use CANFD or just CAN"/>
<define name="USE_CANx" value="FALSE" description="Enable the CANx port"/>
</doc>
<dep>
<depends>mcu</depends>
</dep>
<header>
<file name="can.h" dir="mcu_periph"/>
</header>
<!-- <event fun="can_event()" cond="ifeq ($(ARCH), stm32)"/> -->
<makefile>
<configure name="USE_CANFD" default="FALSE"/>
<define name="USE_CANFD" value="$(USE_CANFD)"/>
<file name="can.c" dir="mcu_periph"/>
<file_arch name="can_arch.c" dir="mcu_periph"/>
<test>
<define name="USE_CAN1"/>
</test>
</makefile>
</module>