added logic to encode NAN as INT16_MAX to transfer to IO from FMU

This commit is contained in:
dlwalter
2019-08-19 21:08:11 +02:00
committed by Lorenz Meier
parent c1c253d9be
commit 310fd80405
2 changed files with 15 additions and 2 deletions
+8 -1
View File
@@ -1304,8 +1304,15 @@ PX4IO::io_set_control_state(unsigned group)
for (unsigned i = 0; i < _max_controls; i++) {
/* ensure FLOAT_TO_REG does not produce an integer overflow */
const float ctrl = math::constrain(controls.control[i], -1.0f, 1.0f);
if(!isfinite(ctrl)){
regs[i] = INT16_MAX;
}
else
{
regs[i] = FLOAT_TO_REG(ctrl);
}
regs[i] = FLOAT_TO_REG(ctrl);
}
if (!_test_fmu_fail) {