AFAIK this is not done anywhere else for SIH-as-SITL. Just below for
gazebo it is already present.
the corresponding check for SIH-on-FC happens at
ROMFS/px4fmu_common/init.d/rcS:388 - also no airspeed is enabled
anywhere. is that intended?
also, handle airspeed failure correctly in SensorAirspeedSim.cpp
Previously, DataValidator would automatically reject sensor data as
stale if (almost) constant.
But if setting SIH_NOISE_SCALE = 0 for deterministic sim, constant
sensor data are to be expected.
This adds logic to not flag sensor values as stale if noise scale is
very small. If the sensor has *actually* gone stale with very low noise
scale, this means we cannot detect it anymore.
this makes SIH artificial sensor noise smaller or larger. useful for
deterministic-ish sim. setting it to 0 does not work right now for
mysterious reasons.
airspeed, baro, and mag off.
agp has no failures, and other failure types like stuck etc not
implemented at all.
doubting this implementation, lots of repetitions and
almost-repetitions. maybe we should do it more similar to
SimulatorMavlink.cpp? Where simulator_sih handles the sensor failures
itself, with one big if mess, but the rest of it nice and lean.
failing tests for quadx:
- 'Continue on baro stuck during mission (baro height mode)': failed
- 'Continue on baro stuck during mission (GPS height mode)': failed
- 'Fly straight Multicopter Mission': failed
- 'Offboard takeoff and land': failed
- 'Offboard position control': failed
Abort publication immediately when not enough memory is available.
Zero _zenoh_publishers and _zenoh_subscribers to ensure we're not
dereferencing a wrong pointer
We should not build and release with the MAVLink development dialect
because messages in development.xml can change at any time and break
things.
Instead we should prototype and test things using specific mavlink-dev
targets.
* mavlink: esc: fix ESC_STATUS and ESC_INFO message emission.
Fixes mavlink messages emission for ESC messages. Actuator --> MotorNumber mapping was not respected, the mavlink messages should be reporting the ESC status in motor number order not actuator order.
* Update src/modules/mavlink/streams/ESC_STATUS.hpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/modules/mavlink/streams/ESC_INFO.hpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* remove dependency on mixer_module/output_functions.hpp
* add actuator function definitions to EscReport.msg
* clean up
* add missing header
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* tla2528 basic implementation (restarting driver still fails)
* fixed probe function, restarting driver now works
* -added reset call to init
-added return value checks on all important transfers and retry if failed when possible
-removed comments
-removed unnecessary parameters of module
* Introduced initialization-states that can be executed multiple times on failure
* Added one more state s.t. init() only does probing
* added communication error count _comms_errors
* use get() instead of param_find
* changed scheduling interval
* start in reset state. check second byte in probe. add 2 retries to probe function
* add space in front of comments
* jump to reset state when another state fails
* changed SAMPLE_INTERVAL to 10_ms
* added static assert on number of channels in adc_report