![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Interface from actuators to ChibiOS CAN driver using UAVCan. More...
#include "uavcan.h"
Go to the source code of this file.
Macros | |
#define | UAVCAN_NODE_ID 100 |
#define | UAVCAN_BAUDRATE 1000000 |
Functions | |
void | can_init (void) |
static | THD_FUNCTION (uavcan_rx, p) |
static | THD_FUNCTION (uavcan_tx, p) |
static void | onTransferReceived (CanardInstance *ins, CanardRxTransfer *transfer) |
Whenever a valid and 'accepted' transfer is received. | |
static bool | shouldAcceptTransfer (const CanardInstance *ins, uint64_t *out_data_type_signature, uint16_t data_type_id, CanardTransferType transfer_type, uint8_t source_node_id) |
If we should accept this transfer. | |
static bool | uavcanConfigureIface (struct uavcan_iface_t *iface) |
Try to compute the timing registers for the can interface and set the configuration. | |
static void | uavcanInitIface (struct uavcan_iface_t *iface) |
Initialize uavcan interface. | |
void | uavcan_init (void) |
Initialize all uavcan interfaces. | |
void | uavcan_bind (uint16_t data_type_id, uint64_t data_type_signature, uavcan_event *ev, uavcan_callback cb) |
Bind to a receiving message from uavcan. | |
void | uavcan_broadcast (struct uavcan_iface_t *iface, uint64_t data_type_signature, uint16_t data_type_id, uint8_t priority, const void *payload, uint16_t payload_len) |
Broadcast an uavcan message to a specific interface. | |
Variables | |
static uavcan_event * | uavcan_event_hd = NULL |
Interface from actuators to ChibiOS CAN driver using UAVCan.
Definition in file uavcan.c.
Definition at line 94 of file uavcan.c.
Referenced by can_hw_init(), and mcu_init().
|
static |
Whenever a valid and 'accepted' transfer is received.
Definition at line 209 of file uavcan.c.
References abi_struct::cb, ev, foo, abi_struct::next, transfer(), and uavcan_event_hd.
Referenced by uavcanInitIface().
|
static |
If we should accept this transfer.
Definition at line 224 of file uavcan.c.
References ev, foo, abi_struct::next, and uavcan_event_hd.
Referenced by uavcanInitIface().
void uavcan_bind | ( | uint16_t | data_type_id, |
uint64_t | data_type_signature, | ||
uavcan_event * | ev, | ||
uavcan_callback | cb | ||
) |
Bind to a receiving message from uavcan.
Definition at line 417 of file uavcan.c.
References abi_struct::cb, ev, abi_struct::next, and uavcan_event_hd.
Referenced by actuators_uavcan_init(), airspeed_uavcan_init(), can_fuelcell_init(), power_uavcan_init(), and range_sensor_uavcan_init().
void uavcan_broadcast | ( | struct uavcan_iface_t * | iface, |
uint64_t | data_type_signature, | ||
uint16_t | data_type_id, | ||
uint8_t | priority, | ||
const void * | payload, | ||
uint16_t | payload_len | ||
) |
Broadcast an uavcan message to a specific interface.
Definition at line 432 of file uavcan.c.
References foo.
Referenced by actuators_uavcan_cmd_commit(), and actuators_uavcan_commit().
Initialize all uavcan interfaces.
uavcan interfaces
Definition at line 388 of file uavcan.c.
References foo, and uavcanInitIface().
|
static |
Try to compute the timing registers for the can interface and set the configuration.
Definition at line 245 of file uavcan.c.
References foo.
Referenced by uavcanInitIface().
|
static |
Initialize uavcan interface.
Definition at line 359 of file uavcan.c.
References foo, onTransferReceived(), shouldAcceptTransfer(), and uavcanConfigureIface().
Referenced by uavcan_init().
|
static |
Definition at line 37 of file uavcan.c.
Referenced by onTransferReceived(), shouldAcceptTransfer(), and uavcan_bind().