27#include "uavcan/uavcan.h"
30#include "uavcan.equipment.power.BatteryInfo.h"
31#include "uavcan.equipment.power.CircuitStatus.h"
35#ifndef POWER_UAVCAN_BATTERIES_MAX
36#define POWER_UAVCAN_BATTERIES_MAX 3
40#ifndef POWER_UAVCAN_CIRCUITS_MAX
41#define POWER_UAVCAN_CIRCUITS_MAX 15
45#ifndef POWER_UAVCAN_BATTERY_CIRCUITS
46#define POWER_UAVCAN_BATTERY_CIRCUITS {}
141 if (
msg.voltage > 0) {
209#if PERIODIC_TELEMETRY
Main uavcan event structure for registering/calling callbacks.
struct Electrical electrical
Interface for electrical status: supply voltage, current, battery status, etc.
float current
current in A
float vsupply
supply voltage in V
uint8_t msg[10]
Buffer used for general comunication over SPI (out buffer)
static struct uavcan_circuit_battery_t battery_circuits[]
static void power_uavcan_battery_cb(struct uavcan_iface_t *iface, CanardRxTransfer *transfer)
#define POWER_UAVCAN_BATTERY_CIRCUITS
static void power_uavcan_circuit_cb(struct uavcan_iface_t *iface, CanardRxTransfer *transfer)
static struct battery_info batteries[POWER_UAVCAN_BATTERIES_MAX]
static void power_uavcan_send_power_device(struct transport_tx *trans, struct link_device *dev)
struct uavcan_equipment_power_BatteryInfo info
struct uavcan_equipment_power_CircuitStatus status
static uavcan_event circuit_uavcan_ev
#define POWER_UAVCAN_CIRCUITS_MAX
void power_uavcan_init(void)
static uavcan_event power_uavcan_ev
#define POWER_UAVCAN_BATTERIES_MAX
static struct circuit_status circuits[POWER_UAVCAN_CIRCUITS_MAX]
Power sensors on the uavcan bus.
double rand_uniform(void)
uavcan interface structure
static const struct usb_device_descriptor dev
int8_t register_periodic_telemetry(struct periodic_telemetry *_pt, uint8_t _id, telemetry_cb _cb)
Register a telemetry callback function.
Periodic telemetry system header (includes downlink utility and generated code).
#define DefaultPeriodic
Set default periodic telemetry.
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.
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
int transfer(const Mat *from, const image_t *to)