* Fixedwing rate control into a separate module
* Start fw_rate_control for vtol
* Move over airspeed related parameters to fw_rate_control
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
On CubeOrange where no console is configured by default, starting
MAVLink shell just stalls, and doesn't work.
Also, logfile download has been reported not to work, and again, seems
to work with this change.
Signed-off-by: Julian Oes <julian@oes.ch>
- Do not pull in PWM parameters when DISABLE_PARAMS_MODULE_SCOPING is TRUE since VOXL2 has no PWM nor any of the required timer_config files that go along with that
- Replace non-standard M_PI constants with PX4 defined M_PI_F constants
- Include missing header file for function hrt_absolute_time declaration
- Add new PX4_SOC_ARCH_ID for the VOXL2 board
- move EV yaw and EV position to new state machines
- EV yaw and EV pos now configured via EKF2_EV_CTRL (migrated from EKF2_AID_MASK)
- new EV position offset estimator to enable EV position while GPS position is active (no more EV pos delta fusion)
- yaw_align now strictly means north (no more rotate external vision aid mask)
- automatic switching between EV yaw, and yaw align north based on GPS quality
* AirspeedSelector: use vehicle_air_data.rho for calculating groundspeed-wind CAS
Previously the vehicle_air_data.temperature and pressure was used, instead of the
density field directly.
Only makes a difference if there is an airspeed sensor connected to provide
the air temperature.
* AirspeedSelector: only safe estimated scale in param if airspeed is valid
* AirspeedSelector: remove 0.01 cliff for saving learned scale to param
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This checks was introduced to catch the (unlikely) case of the driver publishing
a stale value that is not actually from a current measurement right after boot.
This was done by declaring it invalid if there is no update of the measurement
within the first 10s after boot.
Practice though has shown that around 0, many airspeed sensors have such a low
resolution that the reported airspeed value is often at the exact same value
for longer periods of time on totally healthy sensors, and thus we trigger
some false positive failure detections.
Given that this failure mode (driver publishing stale data) is quite rare (if
it doesn't receive new data it should stop publishing), I remove this check
here again.
When in aerodynamic flight mode and armed, there is still the data stuck
check that can trigger if there is no update for 2s.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
* GPS_RAW_INT: Only send no gps messages if gps has ever been present
* GPS2_RAW: Keep in sync with GPS_RAW_INT
Signed-off-by: Marcell Rausch <marcell@auterion.com>
- respect new EKF2_EV_CTRL parameter for VPOS usage
- EV hgt rotate EV position before usage (there's often a small offset in frames)
- EV hgt reset use proper EV velocity body frame
- try to keep EV hgt and EV vel state machines consistent
- small incremental piece of https://github.com/PX4/PX4-Autopilot/pull/19128
- first version of IMU driver for the VOXL 2 platform (Qurt)
- this is a customized version of the Invensense ICM42688P driver, it is currently in the VOXL 2 board directory
- don't store unnecessary IMU copy in class, pass it through where required
- remove custom pi constants
- remove unused fields from ahrs_ekf_gsf (vel_NE, fuse_gps, accel_dt)
- explicitly initialize everything in header
- apply PX4 code style
- set GPS velocity before yaw estimator update, not after
Multiple agents can connect to the same client
For sitl builds, if the intance number is different from zero,
XRCE_DDS_KEY is set to the instance number and
the microdds_client is automatically started
with namespace
px4_"instance_number"
and udp port 8888
If the instance number is equal to zero
XRCE_DDS_KEY is left untouched and
the microdds_client is automatically started
without namespace
and udp port 8888
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>
The partecipant name is modified into
"client_namespace"/px4_micro_xrce_dds
For sitl builds the microdds_client is automatically started
with namespace
px4_"instance_number"
and udp port
8888+"intance_number"
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it>