6static float clampf(
float v,
float lo,
float hi) {
return v < lo ? lo : (v > hi ? hi : v); }
26 const float e = vz_sp - vz;
30 if (!((lim >= c->
thr_max && e > 0.0f) || (lim <= c->thr_min && e < 0.0f)))
float alt_ctrl_vz_sp(const alt_ctrl_t *c, float h_sp, float h, float up, float dn)
void alt_ctrl_reset(alt_ctrl_t *c, float integ)
void alt_ctrl_init(alt_ctrl_t *c, float hover)
static float clampf(float v, float lo, float hi)
float alt_ctrl_step(alt_ctrl_t *c, float vz_sp, float vz, float ct, float dt)
Vertical control: height -> climb rate -> collective thrust.
float hover
initial hover thrust guess (0..1)