Files
paparazzi/conf/modules/uavcan.xml
Fabien-B 06a7cde92e
Some checks failed
Issues due date / Add labels to issues (push) Has been cancelled
Doxygen / build (push) Has been cancelled
Uavcan update (#3579)
* Make UAVCAN arch independant
* Comply with uavcan info requests
* Comply with uavcan transfer_ids specifications
* Add uavcan dynamic node id allocation server
* Add uavcan tunnel device
* Add uavcan RC input
* Use uavcan semaphores to achieve thread safety
* Add key-value store
* Various tweaks to make everything work...
2026-01-30 13:10:54 +01:00

50 lines
2.2 KiB
XML

<!DOCTYPE module SYSTEM "module.dtd">
<module name="uavcan" dir="uavcan" task="core">
<doc>
<description>
UAVCan interface for transmitting/receiving uavcan messages on CAN busses
</description>
<configure name="UAVCAN_USE_CAN1" value="FALSE" description="Enable UAVCAN on CAN1 interface"/>
<configure name="UAVCAN_USE_CAN2" value="FALSE" description="Enable UAVCAN on CAN2 interface"/>
<define name="UAVCAN_NODE_ID" value="100" description="The UAVCAN node ID of the AP"/>
<define name="UAVCAN_BAUDRATE" value="1000000" description="The baudrate of the CAN interface"/>
</doc>
<dep>
<depends>can</depends>
</dep>
<header>
<file name="uavcan.h" dir="modules/uavcan"/>
</header>
<init fun="uavcan_init()"/>
<periodic fun="uavcan_reporting()" freq="2"/>
<makefile>
<!-- Enable the CAN busses if needed -->
<configure name="UAVCAN_USE_CAN1" default="FALSE"/>
<configure name="UAVCAN_USE_CAN2" default="FALSE"/>
<define name="USE_CAN1" cond="ifeq ($(UAVCAN_USE_CAN1), TRUE)"/>
<define name="USE_CAN2" cond="ifeq ($(UAVCAN_USE_CAN2), TRUE)"/>
<define name="UAVCAN_USE_CAN1" value="$(UAVCAN_USE_CAN1)"/>
<define name="UAVCAN_USE_CAN2" value="$(UAVCAN_USE_CAN2)"/>
<define name="CANARD_ALLOCATE_SEM"/>
<!-- Load canard -->
<include name="$(PAPARAZZI_SRC)/sw/ext/dronecan/libcanard"/>
<file name="canard.c" dir="$(PAPARAZZI_SRC)/sw/ext/dronecan/libcanard"/>
<!-- Load DSDL generated files-->
<include name="$(PAPARAZZI_HOME)/var/include/DSDLcode/include"/>
<file name="uavcan.protocol.NodeStatus.c" dir="$(PAPARAZZI_HOME)/var/include/DSDLcode/src"/>
<file name="uavcan.protocol.GetNodeInfo_req.c" dir="$(PAPARAZZI_HOME)/var/include/DSDLcode/src"/>
<file name="uavcan.protocol.GetNodeInfo_res.c" dir="$(PAPARAZZI_HOME)/var/include/DSDLcode/src"/>
<file name="uavcan.protocol.dynamic_node_id.Allocation.c" dir="$(PAPARAZZI_HOME)/var/include/DSDLcode/src"/>
<!-- Load uavcan itself -->
<file name="uavcan.c" dir="modules/uavcan"/>
<file name="uavcan_reporting.c" dir="modules/uavcan"/>
<file name="uavcan_allocator.c" dir="modules/uavcan"/>
<file name="framed_ring_buffer.c" dir="utils"/>
<file name="kv_store.c" dir="utils"/>
</makefile>
</module>