46 if (
port ==
nullptr) {
108 uint16_t crc = 0xFFFF;
113 crc = ((data[i] << 8) ^ crc);
118 crc = (crc << 1) ^ 0x8005;
137 if (new_bitmask & (1U<<i)) {
145 const float safety = 1.3;
149 uint32_t channels_micros = count * 450 * safety;
152 if (channels_micros < 2500) {
153 channels_micros = 2500;
static const struct AP_Param::GroupInfo var_info[]
static AP_SerialManager serial_manager
uint32_t last_used_bitmask
AP_HAL::UARTDriver * port
uint16_t get_output_max(void) const
#define AP_GROUPINFO(name, idx, clazz, element, def)
virtual uint32_t txspace()=0
const AP_HAL::HAL & hal
-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
#define VOLZ_EXTENDED_POSITION_MAX
#define VOLZ_SET_EXTENDED_POSITION_CMD
static SRV_Channel * srv_channel(uint8_t i)
AP_SerialManager & serialmanager()
virtual size_t write(uint8_t)=0
uint16_t get_output_min(void) const
#define VOLZ_EXTENDED_POSITION_MIN
uint16_t get_output_pwm(void) const
uint32_t volz_time_frame_micros
#define VOLZ_DATA_FRAME_SIZE
#define NUM_SERVO_CHANNELS
void send_command(uint8_t data[VOLZ_DATA_FRAME_SIZE])
AP_HAL::UARTDriver * find_serial(enum SerialProtocol protocol, uint8_t instance) const
void update_volz_bitmask(uint32_t new_bitmask)
uint32_t last_volz_update_time
static void setup_object_defaults(const void *object_pointer, const struct GroupInfo *group_info)