26#ifndef MODULES_UAVCAN_ARCH_H
27#define MODULES_UAVCAN_ARCH_H
36#ifndef UAVCAN_TX_FIFO_SIZE
37#define UAVCAN_TX_FIFO_SIZE 1024
40#ifndef UAVCAN_MSG_MAX_SIZE
41#define UAVCAN_MSG_MAX_SIZE 256
void(* uavcan_callback)(struct uavcan_iface_t *iface, CanardRxTransfer *transfer)
Generic uavcan callback definition.
void uavcan_init(void)
uavcan interfaces
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.
#define UAVCAN_TX_FIFO_SIZE
struct uavcan_event_t * next
uint64_t data_type_signature
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.
Main uavcan event structure for registering/calling callbacks.
This is a general purpose circular buffer for storing variable lenght buffers in a FIFO order.
uint8_t _tx_fifo_buffer[UAVCAN_TX_FIFO_SIZE]
event_source_t tx_request
struct pprzaddr_can can_net
pprz_mutex_t tx_fifo_mutex
struct circular_buffer _tx_fifo
uint8_t canard_memory_pool[1024 *2]
uavcan interface structure
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
unsigned long long uint64_t
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
int transfer(const Mat *from, const image_t *to)