Paul Riseborough
af3507ef3c
AP_NavEKF2: Stop bad INS velocity spoiling height reset
...
We should reset the velocity as well as the height if a reasonable reset value is available.
2015-11-18 11:18:50 +11:00
Paul Riseborough
97799ef0b3
AP_NavEKF2: Ensure that GPS origin is set before using data for height
2015-11-18 11:18:50 +11:00
Paul Riseborough
b8427e5d95
AP_NavEKF2: Only allow rangefinder height option during optical flow nav
2015-11-18 11:18:50 +11:00
Paul Riseborough
c9eea98142
AP_NavEKF2: Improve terrain height estimation
...
The ad-hoc scaling of error growth has been replaced with a consistent method that uses the main nav filters published vertical velocity uncertainty and the terrain gradient assumption.
2015-11-18 11:18:46 +11:00
Paul Riseborough
d820a538d5
AP_NavEKF2: Make magnetometer data available status global
...
This assists with debugging and makes it consistent with other measurements that are buffered
2015-11-18 11:18:46 +11:00
Paul Riseborough
04228e0b3b
AP_NavEKF2: Rework selection of height measurements for fusion
...
GPS height has been added as a measurement option along with range finder and baro
Selection of the height measurement source has been moved into a separate function
Each height source is assigned its own measurement noise
If GPS or baro alt is not able to be used, it reverts to baro
When baro is not being used, an offset is continually calculated which enables a switch to baro without a height step.
2015-11-18 11:18:42 +11:00
Paul Riseborough
80bc64ee7a
AP_NavEKF2: Update parameter documentation with GPS height source option
2015-11-18 11:18:18 +11:00
Paul Riseborough
4c72a14e22
AP_NavEKF2: Add function to LPF and spike filter baro data
2015-11-18 11:18:17 +11:00
Paul Riseborough
34311bedfa
AP_NavEKF2: Add data buffers for range finder data
2015-11-18 11:18:17 +11:00
Andrew Tridgell
99da195e37
AP_NavEKF2: make IMU buffer length depend on main loop rate
...
this fixes a problem with Replay and baro data
2015-11-18 10:20:39 +11:00
Andrew Tridgell
f36b2e415a
AP_InertialSensor: fixed flymaple build
2015-11-17 08:52:49 +11:00
Andrew Tridgell
32ed0d58f3
AP_InertialSensor: fixed filter setup on 2nd accel/gyro
2015-11-16 17:57:36 +11:00
Andrew Tridgell
e1cb9beeef
SITL: expose update rate to HAL_SITL
...
and fixed dataflash reference loop
2015-11-16 17:57:36 +11:00
Andrew Tridgell
95ca0b39a8
HAL_SITL: moved virtual INS sensor to AP_InertialSensor_SITL
2015-11-16 17:57:35 +11:00
Andrew Tridgell
4a768d47f3
AP_InertialSensor: created a SITL specific backend
2015-11-16 17:57:35 +11:00
Andrew Tridgell
2675edcb96
HAL_SITL: removed unused variables
2015-11-16 17:57:35 +11:00
Andrew Tridgell
ccd915eb67
AP_InertialSensor: moved raw gyro and accel logging to common code
...
this brings raw logging to non-PX4 ports
2015-11-16 17:57:35 +11:00
Andrew Tridgell
75ea8f3dc0
AP_InertialSensor: removed "have sample" logic from drivers
...
the frontend has all the information it needs, so we can simplify the
drivers some more
2015-11-16 17:57:35 +11:00
Andrew Tridgell
0e4bab74ba
AP_InertialSensor: simplify sensor backends
...
use common code for filtering and update, allowing each sensor driver
to be simpler and more consistent
2015-11-16 17:57:35 +11:00
Randy Mackay
36c0beb918
GPS_UBlox: reorder init to resolve compiler warning
...
Also removed duplicate init of noReceivedHdop
2015-11-16 15:09:17 +09:00
Paul Riseborough
9b82b2200c
AP_NavEKF2: Fix plane in-flight yaw reset
...
The copter method was being used for plane and the plane method was not being run due to the change in flight status not being detected.
The plane reset method did not trigger if the EKF had already dragged the velocity states along with the GPS or could align to an incorrect heading.
The method has been reworked so that it resets to the GPS course, but only if there are inconsistent angles and large innovations.
To stop a failed magnetometer causing a loss of yaw reference later in flight, if all available sensors have been tried in flight and timed out, then no further magnetoemter data will be used
2015-11-16 09:05:42 +11:00
Paul Riseborough
e8706db382
AP_NavEKF2: Update IMU tuning parameter limits
2015-11-16 09:05:42 +11:00
Paul Riseborough
0562529729
AP_NavEKF2: Tuning changes to make attitude less sensitive to GPS and compass errors
2015-11-16 09:05:42 +11:00
Andrew Tridgell
3549c717db
Filter: removed reference to old 'Desktop' build
2015-11-16 08:06:05 +11:00
Andrew Tridgell
8f4ce7f20b
build: removed all nocore.inoflag files
...
these were APM2 specific
2015-11-16 08:05:17 +11:00
Andrew Tridgell
1ffe899a18
PID: fixed example build
2015-11-16 08:04:44 +11:00
Andrew Tridgell
9ea99cba29
HAL_Linux: fixed example build
2015-11-16 08:04:35 +11:00
Andrew Tridgell
c81d4fa07b
AP_Declination: fixed example build
2015-11-16 07:59:18 +11:00
Andrew Tridgell
a9372ad5d7
Filter: fixed example builds
2015-11-16 07:58:55 +11:00
Andrew Tridgell
6cf5e582b9
AP_Common: fixed examples build
2015-11-16 07:58:13 +11:00
Michael Oborne
2f49fa1531
AP_GPS_GSOF: add second comport to base config
2015-11-15 14:56:49 +08:00
Andrew Tridgell
1a033f3b73
HAL_Linux: don't flood the link with errors on uninitialised perf counter
...
that could bring down the vehicle
2015-11-14 14:44:29 +11:00
Julien BERAUD
2f610a400a
AP_HAL_Linux: fix perf
...
Fix warning (warning: declaration of 'perf_count' shadows a member of 'this')
and check that perf is not NULL before indirection
2015-11-14 14:44:29 +11:00
Julien BERAUD
259f5f07e8
AP_NavEKF_core: fix init of perf
...
_perf_FuseOptFlow was used and not allocated
2015-11-14 14:44:29 +11:00
Julien BERAUD
f8f2833c88
AP_HAL_Linux: use I2C_SLAVE_FORCE in case of error
...
When there is already a driver registered on an i2c bus, the I2C_SLAVE ioctl
returns an error.
When it happens, it is better to display a warning and try to force the address.
It is especially useful on the bebop when killing the regular autopilot that uses
iio drivers to access the imu because else we would need to manually unbind the
driver in an init procedure.
I have added a warning because this error can also be resulting of another cause.
If the error is not EBUSY, then panic
If the I2C_SLAVE_FORCE ioctl fails then we panic because one of the i2c devices
won't be working properly.
2015-11-13 21:20:13 +11:00
Andrew Tridgell
cefb32566f
GCS_MAVLink: fixed corner case in MAVLink routing
...
when a GCS sends a command to a system ID that isn't our system ID,
the GCS may use a non-advertised component ID such as
MAV_COMP_ID_SYSTEM_CONTROL. Those packets should be fowarded to the
target system even though the target system has not specifically
advertised that target sysid/compid tuple.
2015-11-13 13:38:53 +11:00
José Roberto de Souza
5ff67a41a1
AP_HAL_Linux: Implement perf API
...
Initial implementation of perf API on Linux, for now just saving
perf data, in a further patch this data will be exported.
2015-11-13 12:16:19 +11:00
mirkix
f00d4f0b3e
AP_HAL_Linux: Improve loading firmware
2015-11-12 21:25:17 +01:00
Robert Lefebvre
4f7246c432
SITL: Helicopter parameter updates
2015-11-12 19:37:38 +09:00
Robert Lefebvre
b89b0d7f9e
AP_MotorsHeli_Single: Move Servo_Test static variables to be class members
2015-11-12 19:37:37 +09:00
Robert Lefebvre
1bc13fb9c0
AC_AttitudeControl_Heli: Add Hover Roll Trim Scalar
2015-11-12 19:37:35 +09:00
Robert Lefebvre
bb7f8c1999
AP_MotorsHeli: Create Servo Test functionality
2015-11-12 19:37:34 +09:00
Robert Lefebvre
eeb544d098
AP_MotorsHeli: Create SV_MAN=5=Oscillate servo setup mode.
2015-11-12 19:37:33 +09:00
Robert Lefebvre
4443ca9602
AP_MotorsHeli: Yaw servo to move when using SV_MAN param for setup.
2015-11-12 19:37:32 +09:00
Robert Lefebvre
c2dff8749e
AP_MotorsHeli: Change SV_MAN=2=Center to output _col_mid_pwm instead of 0 collective
2015-11-12 19:37:31 +09:00
Fredrik Hedberg
212eb85ff2
AP_MotorsHeli: Add min and max collective to manual servo modes
2015-11-12 19:37:30 +09:00
Robert Lefebvre
22729e6927
AP_MotorsHeli: Change servo manual #defines into enum
2015-11-12 19:37:29 +09:00
Robert Lefebvre
750728fa1e
AP_MotorsHeli_Single: Add motor enable aux output functionality
2015-11-12 19:37:28 +09:00
Robert Lefebvre
58e918341d
RC_Channel: Add motor_run_enable aux function
2015-11-12 19:37:27 +09:00
Robert Lefebvre
0b33ef3862
AC_AttitudeControl: Add Hover Roll Trim functionality for helicopters.
2015-11-12 19:37:26 +09:00