58 unsigned mix(
float *outputs,
unsigned space);
154 unsigned set_trims(int16_t *v,
unsigned n);
MixerGroup & operator=(const MixerGroup &)=delete
int load_from_buf(Mixer::ControlCallback control_cb, uintptr_t cb_handle, const char *buf, unsigned &buflen)
Adds mixers to the group based on a text description in a buffer.
void reset()
Remove all the mixers from the group.
uint16_t get_saturation_status()
unsigned get_multirotor_count()
void add_mixer(Mixer *mixer)
Add a mixer to the group.
Generic, programmable, procedural control signal mixers.
unsigned count() const
Count the mixers in the group.
int(* ControlCallback)(uintptr_t handle, uint8_t control_group, uint8_t control_index, float &control)
Fetch a control value.
unsigned set_trims(int16_t *v, unsigned n)
static MultirotorMixer * mixer
mixer initialization
void set_max_delta_out_once(float delta_out_max)
Update slew rate parameter.
void set_thrust_factor(float val)
Sets the thrust factor used to calculate mapping from desired thrust to motor control signal output...
void groups_required(uint32_t &groups)
void set_airmode(Mixer::Airmode airmode)
unsigned mix(float *outputs, unsigned space)
Group of mixers, built up from single mixers and processed in order when mixing.
Abstract class defining a mixer mixing zero or more inputs to one or more outputs.
unsigned get_trims(int16_t *values)
List< Mixer * > _mixers
linked list of mixers