29#include "generated/airframe.h"
33#if SERVOS_SBUS_NB > ACTUATORS_SBUS_MAX_NB
34#error SBUS actuators only support less then 7 servos
38#if PERIODIC_FREQUENCY < 150
39#error Sbus actuators need at leest a frequency of 150 Hz
93#define SBUS_START_BYTE 0x0f
94#define SBUS_END_BYTE 0x00
96#define SBUS_BIT_PER_CHANNEL 11
static void actuators_sbus_send(struct link_device *dev)
struct ActuatorsSbus actuators_sbus
void actuators_sbus_init(void)
void actuators_sbus_set(uint8_t idx, int16_t value)
void actuators_sbus_commit(void)
Sbus actuator driver, which can output as 7 sbus channels at ~11ms.
int32_t cmds[ACTUATORS_SBUS_MAX_NB]
struct link_device * device
void uart_periph_set_bits_stop_parity(struct uart_periph *periph, uint8_t bits, uint8_t stop, uint8_t parity)
void uart_periph_set_baudrate(struct uart_periph *periph, uint32_t baud)
Hardware independent API for actuators (servos, motor controllers).
static const struct usb_device_descriptor dev
void WEAK uart_periph_invert_data_logic(struct uart_periph *p, bool invert_rx, bool invert_tx)
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
short int16_t
Typedef defining 16 bit short type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.