Mike Clement
c5c40adb76
GCS_MAVLink: use instance in find_baudrate
2015-04-06 14:47:51 -07:00
Mike Clement
89a50b99bb
SerialManager: use instance in find_baudrate
2015-04-06 14:47:11 -07:00
Paul Riseborough
9b3656e77c
AP_NavEKF: Fix bug introduced in Y axis flow fusion
2015-04-05 21:17:20 -07:00
Andrew Tridgell
6e52ef2a74
GCS_MAVLink: added send_local_position()
2015-04-05 09:16:41 -07:00
Andrew Tridgell
baf292def1
AP_NavEKF: prevent float exception on startup
2015-04-05 09:16:14 -07:00
Paul Riseborough
7fc0f026d2
AP_NavEKF: Fix bug in optical flow innovation variance integrity check
...
The check allowed negative innovation variances to pass. If this did occur, the filter would diverge.
2015-04-04 17:03:06 -07:00
Andrew Tridgell
389148ac54
AP_RangeFinder: use RNGFND_OFFSET for distance offset in PWM and I2C
2015-04-04 17:03:00 -07:00
Andrew Tridgell
55019abd71
AP_HAL: allow for default parameter override for PX4 and SITL
2015-04-04 09:01:40 -07:00
Andrew Tridgell
5a755c0400
AP_Param: allow a HAL_PARAM_DEFAULTS_PATH to override defaults
...
this allows a HAL_PARAM_DEFAULTS_PATH to be specified for a build to
override the default parameters for a build. This is useful to build a
firmware that has different default parameters
2015-04-04 09:01:40 -07:00
Andrew Tridgell
82a51e8791
GCS_MAVLink: use AP_Param::set_param_by_name()
2015-04-04 09:01:40 -07:00
Andrew Tridgell
5ca38e3d75
AP_Param: added set_param_by_name()
...
this simplifies the GCS_MAVLink code
2015-04-04 09:01:39 -07:00
Andrew Tridgell
c1a0375562
AP_NavEKF: prevent divide by zero in EKF logging
2015-04-04 07:09:02 -07:00
Paul Riseborough
d44cf14178
AP_AHRS : Publish EKF learned compass offsets
2015-04-03 15:24:47 -07:00
Paul Riseborough
10f050c53b
AP_NavEKF: Prevent baro drift causing toilet bowling
...
The magnetic field states are reset once at 1.5 metres and again at 5 metres. This height check was using the height at the first arm event as the reference. In the situation where there is baro drift and extgended time between the first arm event and flight, this can cause the magnetic field state to be reset when on the ground. If this happens when flying off a metallic surface, the resultant heading errors can cause sever toilet bowling.
2015-04-03 15:18:42 -07:00
Paul Riseborough
d4c60ca956
AP_NavEKF: Fix bug preventing reset of velocity after OF fusion timeout
2015-04-03 15:18:39 -07:00
Jonathan Challinger
95cd3480ec
AP_NavEKF: review all uses of dtIMU and use dtIMUactual where necessary
...
pair-programmed-with: Paul Riseborough <p_riseborough@live.com.au>
2015-04-03 15:18:09 -07:00
Andrew Tridgell
79b44d3988
AP_NavEKF: initialise gndEffectMode
2015-04-03 15:15:11 -07:00
Andrew Tridgell
3165c43dfe
AP_NavEKF: initialise gpsSpdAccuracy
2015-04-03 15:15:11 -07:00
Paul Riseborough
98c32012fa
AP_NavEKF: remove accel bias rate limit when disarmed
2015-04-03 15:15:11 -07:00
Paul Riseborough
fe76cb4c0b
AP_NavEKF : Make initial height variance consistent with baro noise
...
This makes sense to do because we initialise the state to the instantaneous baro reading
2015-04-03 15:15:11 -07:00
Paul Riseborough
a976e9dad2
AP_NavEKF : Fix bug in scaling of initial Z accel bias state variance
2015-04-03 15:15:11 -07:00
Paul Riseborough
92df3adb5e
AP_NavEKF : Fix bug in Z accel bias update for IMU1
2015-04-03 15:15:10 -07:00
Paul Riseborough
5d0952ba23
AP_NavEKF: eliminate onGndBaroNoise
2015-04-03 15:15:10 -07:00
Paul Riseborough
fafb898341
AP_NavEKF: tuning change to accel bias learning
2015-04-03 15:15:10 -07:00
Paul Riseborough
398accd151
AP_NavEKF: Improve pre-flight ready checking
2015-04-03 15:15:10 -07:00
Paul Riseborough
5c1a226bef
AP_NavEKF : Improvements to pre-arm IMU bias estimation
2015-04-03 15:15:10 -07:00
Jonathan Challinger
a5924acb3d
AP_NavEKF: set dtIMU from ins expected sample rate
2015-04-03 15:15:10 -07:00
Paul Riseborough
a1351e73ab
AP_NavEKF : Compensate mag bias states for external copass offset changes
2015-04-03 15:15:09 -07:00
Paul Riseborough
14795719f6
AP_NavEKF: Add public function for estimated magnetometer offsets
2015-04-03 15:15:09 -07:00
Paul Riseborough
1c244af3d8
AP_NavEKF: Fix bug affecting in-flight GPS acquisition
...
This bug caused velocities to be reset to zero
2015-04-03 15:15:09 -07:00
Paul Riseborough
b9b6938b1d
AP_NavEKF: Add ability to start using GPS in-flight
...
Improve the quality of the GPS required to set an EKF origin
Eliminate repeated update of origin height - origin height updates once when EKF origin is set.
Operation in GPS mode is linked to setting of origin
2015-04-03 15:15:09 -07:00
Paul Riseborough
98fa918b84
AP_NavEKF: Add new compass learning option
...
Enables compass learning to be on continuously for non-position hold operation
2015-04-03 15:15:09 -07:00
Paul Riseborough
961faa59d9
AP_NavEKF: Don't let reported GPS accuracy modify horiz vel data checks
2015-04-03 15:15:08 -07:00
Paul Riseborough
a607eb8469
AP_NavEKF: Reduce the GPS glitch tether length from 100 to 50m
2015-04-03 15:15:08 -07:00
Paul Riseborough
496d31ab83
AP_NavEKF: Reduce max time Copters can reject GPS
...
The maximum time copters can reject GPS has been reduced from 10 to 7 seconds as flight logs have show that inertial dead reckoning with vibration and calibration errors is not good enough to support 10 seconds without aiding.
2015-04-03 15:15:08 -07:00
Paul Riseborough
8c2029d896
AP_NavEKF: Accel bias learning improvements
...
Speed up pre-flight learning
Smoothen in-flight learning
2015-04-03 15:15:08 -07:00
Paul Riseborough
19d1b3b813
AP_NavEKF: Update EKF origin height whilst disarmed
...
This patch causes the EKF to update the height of its origin each time it receives a valid GPs message whislt disarmed.
The resultant EKF origin height represents the height of the zero baro alt datum relative to the GPS height datum.
2015-04-03 15:15:08 -07:00
Paul Riseborough
70afcd7e70
AP_NavEKF: Add second stage alignment of yaw and earth field states
...
Flight tests have shown that the magnetic field distortion associated with flight from steel structures can extend 3m or higher. To counteract this, a second and final yaw and magnetic field alignment has been added which is activated when the height exceeds 5m for the first time.
2015-04-03 15:15:08 -07:00
Paul Riseborough
ed9c05cf2a
AP_NavEKF: Remove logic used to delay fusion for load levelling
...
Logic used to delay optical flow and airspeed fusion to prevent it occurring on the same time step as magnetometer fusion has been removed. This is no longer required to efficiency improvements made at the firmware level.
2015-04-03 15:15:07 -07:00
Paul Riseborough
c0d23ffc30
AP_NavEKF: Filter accuracy and stability improvements
...
Improvements in PX4 firmware have reduced the computational load and mkae the previous practicwe of splitting magnetometer and optical flow fusion across multiple time steps unnecessary and make it possible to perform a covariance prediction prior to fusing data on the same time step. This patch:
1) Ensures that a covariance prediction is always performed prior to fusion of any observation
2) Removes the splitting of magnetometer fusion so that fusion of the X,Y and Z components occurs on the same time time step
3) Removes the splitting of optical flow fusion so that fusion of X and Y components occurs on the same time step
2015-04-03 15:15:07 -07:00
Jonathan Challinger
de1f7f5e63
AP_NavEKF: use published delta velocities and delta angles if available
2015-04-03 15:15:07 -07:00
priseborough
3421a320b5
AP_NavEKF: Compensate for ground effect when takeoff or landing expected
2015-04-03 15:15:07 -07:00
Jonathan Challinger
20d92f5f9d
AP_NavEKF: floor GPS velocity noise at parameter value for conservatism
2015-04-03 15:15:07 -07:00
priseborough
9a797a5d49
AP_NavEKF: Use GPS reported speed accuracy if available
...
UBlox receivers report an estimate of the speed accuracy that tests show correlates well to speed glitches. Using this to scale the GPS velocity observation noise will reduce the effect of bad GPS velocity data.
2015-04-03 15:15:06 -07:00
Andrew Tridgell
45e016ea5b
AP_InertialSensor: check for zero delta_velocity dt
2015-04-03 15:10:47 -07:00
Jonathan Challinger
b306d7a356
AP_InertialSensor: accel cal sample for 400ms instead of 1s
2015-04-03 14:54:19 -07:00
Jonathan Challinger
1e1d8efa22
AP_InertialSensor: use expected update rate for accel cal sampling
2015-04-03 14:54:17 -07:00
Jonathan Challinger
bd84328440
AP_InertialSensor: hack to "reset" the accel filter before taking a cal sample
2015-04-03 14:54:15 -07:00
Jonathan Challinger
b2b42e081a
AP_InertialSensor: use delta_velocity/dt for calibration if available
2015-04-03 14:54:10 -07:00
Jonathan Challinger
423160eaf8
AP_InertialSensor: publish delta_velocity_dt
2015-04-03 14:54:06 -07:00
Andrew Tridgell
4147825b87
AP_InertialSensor: fixed gyro calibration bug
...
we must not update _gyro_offset[] until we have completed calibration
of that gyro, or we will end up using the new offsets when asking for
the raw gyro vector
2015-04-03 06:57:30 -07:00
Andrew Tridgell
728dbf24db
AP_Math: fixed vector inequality test
...
many thanks to cat888
fixes issue #2039
2015-04-01 20:40:37 -07:00
Randy Mackay
d738eda59d
GCS_MAVLink: integrate Serial Manager instance
2015-04-01 14:59:23 -07:00
Randy Mackay
1ed7737669
Mount: integrate Serial Manager instance
2015-04-01 14:59:21 -07:00
Randy Mackay
cbcd32d698
GPS: integrate Serial Manager instance
2015-04-01 14:59:20 -07:00
Randy Mackay
c148330c2b
FrSkyTelem: integrate Serial Manager instance
2015-04-01 14:59:18 -07:00
Randy Mackay
aef16160dc
SerialManager: consolidate MAVLink1 and 2
2015-04-01 14:59:17 -07:00
Randy Mackay
ca92821445
Filter: LowPassFilter gets another div-by-zero check
2015-04-01 10:34:28 -07:00
Jonathan Challinger
57f8a4d29d
Filter: add get_cutoff_frequency
2015-04-01 10:15:07 -07:00
Jonathan Challinger
1828515b3b
AP_Motors: bug fix to _batt_voltage_filt
2015-04-01 10:15:06 -07:00
Jonathan Challinger
89cdd02f58
AP_Motors: remove duplicate get_throttle function
2015-04-01 10:15:05 -07:00
Jonathan Challinger
0e53c0a892
AP_Motors: make output_armed() and output_disarmed() pure virtual
2015-04-01 10:14:38 -07:00
Andrew Tridgell
5acc4c333b
AP_Arming: accept accel/gyro if OK in last 10 seconds
...
this should prevent short periods of movement from triggering arming
status change alarms
2015-03-31 15:37:24 -07:00
Randy Mackay
3f3e622be5
AC_PID: fix example sketch
2015-03-30 16:07:56 -07:00
Andrew Tridgell
8ba043e593
AP_AHRS: fixed EKF startup bug
...
This fixes the EKF for when GPS lock takes more than 10 seconds
fixes issue #2010
2015-03-28 10:52:22 -07:00
Andrew Tridgell
3289d38339
AP_NavEKF: make the init functions return bool
...
we need to know if it has initialised successfully
2015-03-28 10:51:38 -07:00
Andrew Tridgell
7cd7ff89fd
HAL_PX4: recover 12k of ram from USB buffers
...
faster NuttX means we don't need such larger buffers
2015-03-27 15:08:52 -07:00
Andrew Tridgell
10ec1b8290
DataFlash: example no longer builds with APM2
2015-03-26 06:32:00 -07:00
Andrew Tridgell
5cbfe4fd11
HAL_SITL: fixed copter interactive SITL
2015-03-25 12:27:27 -07:00
Andrew Tridgell
0c2232a4be
HAL_SITL: don't sync clocks during system initialisation
2015-03-24 08:06:50 -07:00
Jonathan Challinger
127791127c
AC_PosControl: fix double literals
2015-03-24 06:29:04 -07:00
Leonard Hall
09aa2f8114
AC_AttitudeControl: Fix function discription
2015-03-23 07:40:04 -07:00
Leonard Hall
6b104c0529
AC_AttitudeControl: No Overshoot limit for Stab
...
This maybe done in a more obvious way using a switch rather than just
making the overshoot larger than 180 degrees.
2015-03-23 07:40:02 -07:00
Andrew Tridgell
9748cb1e3e
HAL_SITL: use a synthetic clock when possible
...
this decouples wall clock time from simulation time if the FDM
supports it
2015-03-22 18:57:30 -07:00
Randy Mackay
8a3a7bdcd1
Mount: add set_angle_target method
2015-03-21 21:52:22 +09:00
Randy Mackay
f6021010c5
Mission: support do-mount-control
2015-03-21 21:52:19 +09:00
Randy Mackay
2189b16165
Mount_SToRM: remove message throttling
...
recent versions of gimbal firmware can handle 50hz update rate
2015-03-21 05:56:18 +09:00
Randy Mackay
b3362d5829
Mount: calc_angle_to_location returns vehicle relative yaw
2015-03-21 05:56:16 +09:00
Randy Mackay
d2739c5ce5
Mount_SToRM: slow updates to 10hz, reverse yaw, pitch
2015-03-20 20:46:45 +09:00
Randy Mackay
c7dd6ae816
BattMon: SMBus becomes unhealthy after 5sec timeout
...
Also remove unused internal variable
2015-03-20 11:05:30 +09:00
Randy Mackay
c44f304253
BattMon: analog monitor always healthy
2015-03-20 11:05:27 +09:00
Randy Mackay
98efcd5f03
AHRS: always use EKF for copter
2015-03-19 15:15:51 +09:00
Andrew Tridgell
5a4ed85588
AP_TECS: added TECS_LAND_PMAX
...
this limits maximum pitch during the flare, which both reduces
integrator windup and prevents too high pitch which can cause a stall
2015-03-19 14:46:41 +11:00
Randy Mackay
9aba885231
AC_Fence: fix prearm check
...
before arming the EKF's pred_horiz_pos_abs flag should be used
2015-03-18 21:25:47 +09:00
Andrew Tridgell
ecd2a6f515
DataFlash: log temperature of IMUs
...
this is the first step towards supporting temperature calibration of
IMUs
2015-03-17 13:33:26 +11:00
Andrew Tridgell
23272e4013
AP_InertialSensor: added get_temperature() interface
...
this will allow logging of individual temperature sensors
2015-03-17 13:32:54 +11:00
Randy Mackay
7f25938834
AHRS: fix example sketch
2015-03-16 20:29:19 +09:00
Randy Mackay
b01f9505b1
Mission: fix example sketch
...
Also replace printf with print where possible
2015-03-16 20:29:05 +09:00
Randy Mackay
385b3744ea
MotorTri: check servo_out above min_throttle
2015-03-16 14:49:38 +09:00
Randy Mackay
f9e29a7f77
MotorSingle: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:37 +09:00
Randy Mackay
8de5d16f96
MotorCoax: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:35 +09:00
Leonard Hall
9a3f48cc1f
AC_PosControl: ensure throttle output above zero
2015-03-16 14:49:33 +09:00
Leonard Hall
31a55b2bd6
MotorsMatrix: fix div by zero by ensuring throttle is above min
2015-03-16 14:49:31 +09:00
Paul Riseborough
9c2f1ce869
AP_Mount: Fix bug in mavlink gimbal attitude control
2015-03-16 09:54:43 +11:00
ahcorde
103bb2a08d
AP_InertialSensor: Fix orientation MPU6000 PXF
2015-03-16 09:50:51 +11:00
mirkix
d4d42599b0
AP_HAL_Linux: Add RcInput and RcOutput with only one PRU when using a BBB. BBBMINI use the RC AIO PRU firmware already
2015-03-16 09:33:54 +11:00
mirkix
a6b018eab9
AP_HAL_Linux: BBBMINI use kernel CS now
2015-03-16 09:15:06 +11:00
Jonathan Challinger
dff899647f
AP_Mount: use AP_AHRS_TYPE instead of AP_AHRS_MOUNT
2015-03-16 09:14:03 +11:00
Jonathan Challinger
f92c711d14
AP_AHRS: define AP_AHRS_TYPE to be the type of AHRS in use
2015-03-16 09:14:03 +11:00
Andrew Tridgell
569626ac1a
AP_TECS: fixed APM2 build
2015-03-16 08:40:18 +11:00
Andrew Tridgell
cf2445dc97
AP_InertialSensor: prevent nested accelerometer calibration
2015-03-15 15:22:59 +11:00
Andrew Tridgell
8fc58d1cbe
AP_Vehicle: expose LAND_FLARE_SEC in vehicle parameters for fixed wing
2015-03-15 13:52:34 +11:00
Andrew Tridgell
060f553097
AP_TECS: provide a much smoother transition before flare
...
this moves the pitch constraint smoothly between unconstrained and
fully constrained over two time constants before the flare. This
greatly reduces the sudden pitch changes at flare
2015-03-15 13:52:17 +11:00
Andrew Tridgell
9c0614c7bb
AP_RangeFinder: default test to I2C Lidar
2015-03-15 13:50:59 +11:00
Andrew Tridgell
c8b0970e61
AP_Compass: show compass count in example
2015-03-14 20:00:29 +11:00
Andrew Tridgell
c565d3b805
AP_Airspeed: fixed example build
2015-03-14 20:00:15 +11:00
Andrew Tridgell
f4455d063e
AP_Compass: fixed example
2015-03-14 17:07:39 +11:00
Andrew Tridgell
585a105128
AP_AHRS: use compass->last_update_usec()
2015-03-14 12:31:50 +11:00
Andrew Tridgell
de3f461a55
AP_NavEKF: use compass->last_update_usec()
2015-03-14 12:31:39 +11:00
Andrew Tridgell
1962706a33
AP_Compass: fixed last_update, using last_update_usec()
...
this broke use of compass in the EKF
2015-03-14 12:31:23 +11:00
Andrew Tridgell
86fc90f54c
AP_Compass: removed spurious rotation in PX4 backend
...
and cleanup rotation macros
2015-03-14 08:52:37 +11:00
Andrew Tridgell
d7bac39539
AP_Compass: removed two unused functions
2015-03-14 08:52:37 +11:00
Andrew Tridgell
73782c41a9
DataFlash: disable CLI on APM2
2015-03-13 22:52:55 +11:00
Andrew Tridgell
8a99cab535
AP_InertialSensor: load only HIL backend for hil_mode
2015-03-13 22:52:55 +11:00
Andrew Tridgell
fec2025469
AP_Compass: added set_hil_mode()
2015-03-13 22:52:55 +11:00
Andrew Tridgell
2e9d2e6449
AP_Baro: load only HIL backend for hil_mode
2015-03-13 22:52:55 +11:00
Randy Mackay
bb74b8dec8
AC_PosControl: fix twitch when entering RTL
...
Also removed slow_cpu flag
Fixed bug in update to _accel_target_jerk_limited.
2015-03-13 20:47:19 +09:00
Andrew Tridgell
8f6982860f
AP_Compass: fixed devid for 2nd compass
2015-03-13 20:46:32 +11:00
Andrew Tridgell
7b51c907f5
AP_Compass: zero some more variables in constructor and init
2015-03-13 19:22:11 +11:00
Andrew Tridgell
4bc92b6373
AP_Compass: removed _product_id var
2015-03-13 18:59:52 +11:00
Andrew Tridgell
3a1cbaeb25
AP_Mission: fix for new compass API
2015-03-13 18:46:18 +11:00
Andrew Tridgell
b488d6de00
AP_AHRS: fix for new compass API
2015-03-13 18:46:17 +11:00
Andrew Tridgell
520c7c1306
AP_InertialSensor: always allow for AK8963 on MPU9250
2015-03-13 18:46:17 +11:00
Andrew Tridgell
d040318014
AP_Baro: removed unused define
2015-03-13 18:46:17 +11:00
Vic
033bd243d6
SITL: Changes in compass for SITL
2015-03-13 18:46:16 +11:00
Andrew Tridgell
60b8736cf1
AP_InertialSensor: use right AK8963 compass defines
2015-03-13 18:46:15 +11:00
Andrew Tridgell
b52918331a
AP_HAL: make PXF use AK8963 compass by default
2015-03-13 18:46:15 +11:00
Andrew Tridgell
d186b82edc
AP_HAL: consolidate AK8963 defines
2015-03-13 18:46:15 +11:00
Andrew Tridgell
0efd3bacea
AP_Compass: make new backend match old PX4 behaviour
...
when a compass is internal only apply board orientation, not user
specified rotation
2015-03-13 18:46:15 +11:00
Andrew Tridgell
a871c87cad
AP_Compass: use state array for compass variables
2015-03-13 18:46:15 +11:00
Víctor Mayoral Vilches
13f0aa5ecd
AP_Compass: Separate common code into backend
...
_copy_to_frontend function takes care of abstracting
this code from the driver. For now the function takes
care of the offset and rotation that is common.
2015-03-13 18:46:15 +11:00
Víctor Mayoral Vilches
d3b76cd8d3
AP_Compass: split compass into frontend/backend
2015-03-13 18:46:15 +11:00
Randy Mackay
385558db4d
OptFlow: fix example sketch
2015-03-13 16:41:01 +09:00
Randy Mackay
4772fd338c
Mission: fix example sketch
2015-03-13 16:40:59 +09:00
Randy Mackay
c88ff00f5f
AC_WPNav: remove example sketch
...
this only tested compiling anyway
2015-03-13 16:40:57 +09:00
Randy Mackay
ce2d0a14a6
AC_Sprayer: remove example sketch
...
This only tested compiling anyway
2015-03-13 16:40:54 +09:00
Randy Mackay
4754ecc9e2
AC_Fence: remove example sketch
...
This only tested compiling anyway
2015-03-13 16:40:52 +09:00
Randy Mackay
90702e2d79
AC_AttControl: remove example sketch
...
This sketch only tested compiling anyway
2015-03-13 16:40:50 +09:00
Randy Mackay
883e23b97d
GPS_Glitch: remove class
...
This logic is now within the EKF
2015-03-13 16:40:48 +09:00
Randy Mackay
0344ec5d89
Arming: remove GPS glitch checks
2015-03-13 16:40:43 +09:00
Randy Mackay
0dc985a6ab
Notify: remove GPS glitch notification
2015-03-13 16:40:41 +09:00
Randy Mackay
4461952534
InertialNav: remove GPS glitch protection and baro reference
2015-03-13 16:40:39 +09:00
Randy Mackay
9012c538fb
InertialNav: remove example sketch
2015-03-13 16:40:35 +09:00
Randy Mackay
a76d970cc6
InertialNav_EKF: remove fall back to complementary filter
2015-03-13 16:40:33 +09:00
Randy Mackay
7221070533
InertialNav: make parent virtual
2015-03-13 16:40:31 +09:00
Randy Mackay
4e7d92094c
Baro: remove glitch detection
2015-03-13 16:40:29 +09:00
Randy Mackay
c54b5b9af9
InertialNav: remove baro glitch protection
2015-03-13 16:40:25 +09:00
Randy Mackay
8e8487c699
Notify: remove baro_glitch reporting
2015-03-13 16:40:23 +09:00
Andrew Tridgell
1f70b34cbc
AP_Baro: fixed baro startup on PXF cape
2015-03-13 13:48:41 +11:00
Andrew Tridgell
808c33d0a7
AP_InertialSensor: support both MPU9250 and MPU9255
...
seems to be just different WHOAMI register
2015-03-13 13:26:49 +11:00
Andrew Tridgell
8fee936ad7
HAL_SITL: fixed emulation of MTK1.6 GPS
2015-03-13 10:30:20 +11:00
Andrew Tridgell
e0870d5038
AP_GPS: disable NMEA and SiRF on AVR 2560
...
we are too low on flash space for plane on APM2 now
2015-03-13 10:30:00 +11:00
Andrew Tridgell
5da80f44b1
AP_GPS: fixed MTK1.6 time handling
...
my MTK1.6 does not use hectoseconds, it uses milliseconds
2015-03-13 10:29:36 +11:00
Randy Mackay
230ca583d1
NavEKF: support sending EKF_STATUS_REPORT
2015-03-12 12:20:00 +09:00
Randy Mackay
5ee67e63ec
GCS_MAVLink: add EKF_STATUS_REPORT to enum
2015-03-12 12:19:58 +09:00
Randy Mackay
3c555fc396
GCS_MAVLink: version number after adding EKF_STATUS_REPORT
2015-03-12 12:19:56 +09:00
Randy Mackay
5aef7e6d1a
GCS_MAVLink: generate after adding EKF_STATUS_REPORT
2015-03-12 12:19:54 +09:00
Randy Mackay
d464344c34
GCS_MAVLink: add EKF_STATUS_REPORT message to xml
2015-03-12 12:19:50 +09:00
Andrew Tridgell
07fd31c724
AP_InertialSensor: change copter filters to 20Hz
...
with the backend filters disabled 20Hz is closer to the old default of
30Hz
2015-03-12 13:11:17 +11:00
Andrew Tridgell
e0a0c3afcf
AP_Arming: default to arming required
2015-03-12 12:53:27 +11:00
Andrew Tridgell
a1d43e39e0
AP_InertialSensor: added get_gyro_filter_hz() and get_accel_filter_hz()
2015-03-12 12:50:31 +11:00
Andrew Tridgell
3d7d46b9b0
AP_InertialSensor: replaced INS_MPU6K_FILTER with INS_ACCEL_FILTER and INS_GYRO_FILTER
...
this allows filtering to be set separately on accels and gyros where possible
2015-03-12 12:50:31 +11:00
Andrew Tridgell
f3314791f2
AP_InertialSensor: removed INS_CALSENSFRAME
...
it is no longer needed as we have shifted the accel cal indexes
2015-03-12 12:50:31 +11:00
Andrew Tridgell
4bc6c8e655
AP_InertialSensor: shift to new parameter indexes for accel calibration
...
this allows for users to switch between development trees and previous
stable versions while retaining their accel calibration values.
2015-03-12 12:50:30 +11:00
Andrew Tridgell
5d0eb49114
AP_InertialSensor: calculate queue depth based on requested sample rate
...
this auto-scales the queue depth for plane, rover and copter
2015-03-12 12:50:30 +11:00
Andrew Tridgell
f3706d63c7
Filter: prevent copying the filter parms on apply
2015-03-12 12:50:30 +11:00
Andrew Tridgell
ea49d1cd39
AP_InertialSensor: removed unused variable
2015-03-12 12:50:30 +11:00
Andrew Tridgell
b36122dec0
Filter: removed stdio.h
...
breaks AVR build
2015-03-12 12:50:30 +11:00
Andrew Tridgell
e6a4b9f68c
AP_InertialSensor: check accel health during accel cal
2015-03-12 12:50:29 +11:00
Andrew Tridgell
875339f12a
AP_InertialSensor: try to avoid a compiler fault in travis
2015-03-12 12:50:29 +11:00
Andrew Tridgell
031c81beee
AP_AHRS: removed call to 1D accel cal
2015-03-12 12:50:29 +11:00
Andrew Tridgell
4deb136bb0
AP_Arming: require 3D accel cal always
2015-03-12 12:50:28 +11:00
Andrew Tridgell
786172aa4e
AP_InertialSensor: removed 1D accel calibration
...
it is finally time to move on from this. We want to push people
towards better calibration and removing the 1D accel cal is the first
step
2015-03-12 12:50:28 +11:00
Andrew Tridgell
a975520033
AP_InertialSensor: check range of accels in 3D calibration
...
during 3D accel cal it is possible to get data which passes the sphere
fit but which has very poor coverage and does not provide sufficient
data for a good result. This checks that each axis covers a range of
at least 12 m/s/s in body frame
2015-03-12 12:50:28 +11:00
Andrew Tridgell
a8a8628515
AP_InertialSensor: added INS_CALSENSFRAME parameter
...
this allows us to detect if accel calibration was done in sensor frame
or not. If it was done in sensor frame then the accel calibration is
independent of AHRS_ORIENTATION, which makes it easier to move a board
to a new airframe without having to recalibrate.
2015-03-12 12:50:28 +11:00
Jonathan Challinger
bc655ff0cc
AP_InertialSensor_PX4: add optional debug
2015-03-12 12:50:28 +11:00
Jonathan Challinger
074ee49cd0
AP_InertialSensor_PX4: interleave accel and gyro samples by time
2015-03-12 12:50:28 +11:00
Jonathan Challinger
addf80b669
AP_InertialSensor_PX4: explicitly configure sensors, publish deltas
2015-03-12 12:50:27 +11:00
Jonathan Challinger
b5131b7b64
AP_InertialSensor: add coning.py example
2015-03-12 12:50:27 +11:00
Jonathan Challinger
2a547f329b
AP_InertialSensor: allow backends to publish delta velocities and angles
2015-03-12 12:50:27 +11:00
Jonathan Challinger
155c173ed1
AP_InertialSensor: rename _rotate_and_offset to _publish
2015-03-12 12:50:27 +11:00
Jonathan Challinger
502446d821
AP_InertialSensor: use LowPassFilter2pVector3f
2015-03-12 12:50:27 +11:00
Jonathan Challinger
0133f0bb57
LowPassFilter2p: split into LowPassFilter2pfloat and LowPassFilter2pVector3f
2015-03-12 12:50:27 +11:00
ustas
a2d5ac6805
AP_GPS: add includes for success build example sketch
...
include AP_Scheduler.h for achieve build GPS_UBLOX_passthrough example
2015-03-11 21:30:31 +09:00
mirkix
4f1dd85e47
AP_HAL: Add test sketch for RC input to RC output pass through
2015-03-11 21:14:15 +09:00
Randy Mackay
12724e9556
AC_PID: remove include of stdio.h
2015-03-11 20:40:05 +09:00
Randy Mackay
cc0d5b9ced
AC_PI_2D: replace set_filt_hz method with filt_hz
...
Thanks to Jonathan Challinger for spotting this bug
2015-03-11 17:28:36 +09:00
Randy Mackay
c10b0b34ca
AC_PID: replace set_filt_hz method with filt_hz
...
Thanks to Jonathan Challinger for spotting this bug
Also add sanity check to filt_hz
2015-03-11 17:28:20 +09:00
Jonathan Challinger
88ec13b10d
AC_PosControl: fix build
2015-03-11 10:00:00 +09:00
Randy Mackay
50d2e98aa4
AC_AttControl: init throttle_hover in constructor
2015-03-10 22:10:36 +09:00
Randy Mackay
965db2c7f7
AC_PosControl: add comments and defines for jerk limits
2015-03-10 22:10:34 +09:00
Jonathan Challinger
4408c1b935
AC_PosControl: 2d jerk constraint in accel_to_lean_angles
2015-03-10 22:10:32 +09:00
Jonathan Challinger
9871b95586
AC_PosControl: fix dt sanity checking
2015-03-10 22:10:30 +09:00
Jonathan Challinger
e7efe23fb5
GCS_MAVLink: reserve message IDs for future feature additions
2015-03-10 15:30:14 +09:00
Randy Mackay
5e26450a6f
AP_Motors: make THR_LOW_COMP a variable instead of param
2015-03-10 12:20:27 +09:00
Leonard Hall
007c96a3d8
AP_Motors: Low throttle compensation setters
2015-03-10 12:20:21 +09:00
Leonard Hall
6275ee0289
AP_Motors: Check for battery voltage reading fail
2015-03-10 12:20:19 +09:00
Randy Mackay
5f26a36060
INS: protect against two calibrations running at the same time
2015-03-09 17:58:38 +11:00
Randy Mackay
f9c6e35d19
INS: add calibrating method
2015-03-09 17:58:38 +11:00
Randy Mackay
b0e7990c90
INS: set gyro_cal_ok only after completing calibration
2015-03-09 17:58:37 +11:00
Andrew Tridgell
aec7907571
AP_InertialSensor: updated comment on accel check in gyro cal
2015-03-09 17:58:36 +11:00
Andrew Tridgell
494e909703
AP_InertialSensor: ensure accel cal completion messages get through
2015-03-09 07:36:50 +11:00
Andrew Tridgell
38bde56523
AP_InertialSensor: continue finding best gyro after convergence
...
with multiple gyros if we are still calibrating one of the gyros then
keep looking for better values for the already converged gyros.
2015-03-08 07:49:38 +11:00
Andrew Tridgell
20a4c98bac
AP_InertialSensor: use accelerometers to prevent bad gyro cal
...
if the board is rotating at a steady rate we can end up with a bad
gyro calibration. This can happen on a steadily moving platform such
as a ship.
This uses the accelerometers to detect the steady movement and not
accept the gyro calibration
2015-03-08 07:48:16 +11:00
Andrew Tridgell
434d094993
AP_InertialSensor: allow MAVLink packets to flow during accelcal
...
this uses the snoop functionality of GCS_MAVLink to allow the delay
callback to be used during accel calibration
2015-03-07 21:56:39 +11:00
Andrew Tridgell
af7765c57c
GCS_MAVLink: fixed typo
2015-03-07 13:54:58 +11:00
Andrew Tridgell
ac848dc103
GCS_MAVLink: zero packet data before reply in serial control
2015-03-07 13:53:44 +11:00
Randy Mackay
7675160e33
Notify: add firmware update flag and implement for OreoLED
2015-03-06 17:26:51 +09:00
Jace A Mogill
442d07a6c9
Notify: OreoLED fast startup with solid green
...
For manual flight modes: Solid white in front, red in rear
For automatic flight modes: Breathing white in front, red in rear
Loss of RC: Alternating red/black in front and rear
merge with fast green
2015-03-06 17:26:45 +09:00
Jonathan Challinger
e2383581cc
AC_AttitudeControl: relax_bf_rate_controller resets rate integrators
2015-03-06 14:02:57 +09:00
Leonard Hall
3ad9b1a06b
AP_MotorsMatrix: remove incorrect throttle limit flag
2015-03-06 14:02:55 +09:00
Leonard Hall
20de383084
AC_AttControl: accel limiting for angular control only if feed forward enabled
2015-03-06 14:02:52 +09:00
Jonathan Challinger
d148039f65
AP_Motors: stricter batt_voltage misconfiguration check
2015-03-06 14:02:49 +09:00
Leonard Hall
7de5bccc93
AC_PosControl: remove THR_HOVER parameter
...
Parameter is set by main code so no need to store to eeprom
2015-03-06 14:02:46 +09:00
Leonard Hall
9866eaded1
AC_PosControl: rename p_alt_pos to p_pos_z
...
Also pid_alt_accel to pid_accel_z
2015-03-06 14:02:44 +09:00
Leonard Hall
349f1aeceb
AC_PosControl: use 2-axis PI controller
2015-03-06 14:02:42 +09:00
Leonard Hall
8d4f0ec80c
AC_PosControl: integrate PID input filter
2015-03-06 14:02:39 +09:00
Randy Mackay
e4d48fdc92
AC_AttControlHeli: separate accel max for roll, pitch
...
renamed _accel_y_max to _accel_yaw_max
2015-03-06 14:02:36 +09:00
Leonard Hall
51455af51a
AC_AttConHeli: integrate PID input filter
2015-03-06 14:02:35 +09:00
Leonard Hall
792b2a2eb3
AC_AttControl: separate accel max for roll, pitch, yaw
...
Also add:
Rate filters
rename rate filter defines
d-term only filter for roll, pitch rate control
accessors to save max accel for roll, pitch, yaw
fix for duplicate ACCEL_Y_MAX param
2015-03-06 14:02:33 +09:00
Leonard Hall
9833c91b2b
AC_AttControl: get_max_rate_step_bf_roll, pitch and yaw
2015-03-06 14:02:30 +09:00
Leonard Hall
f00025e5c9
AC_AttControl: accessor for rate feedforward
2015-03-06 14:02:27 +09:00
Leonard Hall
691fb8947e
AC_AttControl: accessor for rate_bf_targets
2015-03-06 14:02:25 +09:00
Leonard Hall
784a4ce51a
AC_AttControl: increase max angle overshoot to 30deg
2015-03-06 14:02:23 +09:00
Leonard Hall
eb084f7c58
AC_AttControl: bf yaw control uses input filtered PID
2015-03-06 14:02:21 +09:00
Leonard Hall
11a19803e0
Motors: add accessors for motor logging
...
accessor include get_roll, get_pitch, get_yaw, throttle input
2015-03-06 14:01:58 +09:00
Leonard Hall
34a5bc8b33
AC_PI_2D: 2-axis PI controller
2015-03-06 14:01:56 +09:00
Leonard Hall
046949ea8a
AC_HELI_PID: add input filter and restructure
...
Also removed unused initial_ff from construtor
2015-03-06 14:01:54 +09:00
Leonard Hall
517448e536
AC_PID: add input filtering and restructure
2015-03-06 14:01:52 +09:00
Andrew Tridgell
2aae594371
GCS_MAVLink: handle serial loopback in routing
2015-03-04 20:24:11 +11:00
Andrew Tridgell
086f878bdc
HAL_PX4: split IO thread into separate IO and storage threads
...
this prevents a blocked microSD card from blocking IO to the FRAM,
causing parameter changes not to be sticky
2015-03-04 20:18:17 +11:00
Andrew Tridgell
58c92b0158
GCS_MAVLink: added SCALED_IMU3 logging
2015-03-04 19:30:08 +11:00
Andrew Tridgell
79be500e04
GCS_MAVLink: re-generate headers
2015-03-04 19:29:28 +11:00
Andrew Tridgell
eeacbe518b
GCS_MAVLink: update from upstream XML
2015-03-04 19:21:24 +11:00
Randy Mackay
f5f7cd540f
Motors: fix example sketches
2015-03-03 21:39:24 +09:00
Leonard Hall
cf8c211c35
Motors: fix thrust curve and add constraint
2015-03-03 15:49:07 +09:00
Leonard Hall
3e960dfc3b
Motors: add get_voltage_comp_gain
...
This clarifies that lift_max is the inverse of the battery voltage gain
compensation
2015-03-03 15:49:04 +09:00
Leonard Hall
997c6f0868
Motors: move battery resistance calcs to parent
...
Moving from MotorsMatrix to parent Motors class allows these to be used
from other frame types
Also initialise battery resistance
2015-03-03 15:49:02 +09:00
Randy Mackay
09d7cdbc23
Motors: batt_voltage_filt becomes filter object
2015-03-03 15:49:00 +09:00
Randy Mackay
4b78b2ce80
Filter: add get method to LowPassFilter
2015-03-03 15:48:58 +09:00
Leonard Hall
529c6fed3a
Motors: move over current throttle limiting to parent
...
Moving from MotorsMatrix to parent Motors class allows this to be used
from other frame types
2015-03-03 15:48:54 +09:00
Randy Mackay
812473fd9a
MotorsMatrix: use get_hover_throttle_as_pwm
2015-03-03 15:48:52 +09:00
Randy Mackay
1a9d3125ef
Motors: _hover_out to pct * 10 instead of pwm
2015-03-03 15:48:50 +09:00
Leonard Hall
6b7bdf64bd
Motors: move batt voltage lift_max calcs to parent
...
Moving from MotorsMatrix to parent Motors class allows them to be used
by other frame types
Also added sanity check of batt_voltage_min
2015-03-03 15:48:48 +09:00
Randy Mackay
c549b58eb7
MotorsMatrix: remove check of throttle_curve_enabled
2015-03-03 15:48:46 +09:00
Randy Mackay
5fb3de48ee
MotorsTri, Single, Coax: use new thrust curve
2015-03-03 15:48:44 +09:00
Randy Mackay
2eaa4a8445
Motors: remove old throttle curve
2015-03-03 15:48:42 +09:00
Leonard Hall
751dbb7df7
Motors: move thrust curve and volt scaling to parent
...
Moving from MotorsMatrix to Motors allows it to be used from other frames
2015-03-03 15:48:41 +09:00
Randy Mackay
80b498f598
Motors: add loop_rate to test sketch
2015-03-03 15:48:39 +09:00
Randy Mackay
7ab76dbd0e
Motors: add loop_rate to constructor for all frames
2015-03-03 15:48:34 +09:00
Randy Mackay
77d4b3a2ae
Motors: add loop_rate to constructor
2015-03-03 15:48:32 +09:00
Leonard Hall
ec9d7dd99e
Motors: minor comment fixes
2015-03-03 15:48:30 +09:00
Leonard Hall
1d0ee68116
Motors: over current throttle limiting
2015-03-03 15:48:28 +09:00
Randy Mackay
1217ab9579
BattMon: add get_type method
2015-03-03 15:48:24 +09:00
Randy Mackay
f6523c0997
Motors: Add THR_LOW_CMP to adjust low throttle inputs affect on attitude control
2015-03-03 15:48:21 +09:00
Leonard Hall
83e3e2fec2
Motors: thrust curve and voltage scaling for matrix supported frames
2015-03-03 15:48:19 +09:00
Leonard Hall
5b0bd49ff2
Motors: configurable yaw headroom for matrix frames
2015-03-03 15:48:15 +09:00
Randy Mackay
51213235b4
OreoLED_PX4: available only on PX4
2015-03-02 16:58:17 +09:00
Randy Mackay
f1ce70e748
Notify: disable oreoled by default
2015-03-02 16:58:14 +09:00
Randy Mackay
89cd74c35f
Notify: OreoLED supports handle_led_control
...
includes support for send bytes ioctl
2015-03-02 16:58:12 +09:00
Randy Mackay
90cac02bd7
Notify: OreoLED fix to fade-in when armed
2015-03-02 16:58:10 +09:00
Randy Mackay
35a3a52f29
Notify: add support for handle_led_control
2015-03-02 16:58:06 +09:00
Randy Mackay
9159c7107d
GCS_MAVLink: version update after LED_CONTROL added
2015-03-02 16:58:03 +09:00
Randy Mackay
26d54398e2
GCS_MAVlink: generate after LED_CONTROL added
2015-03-02 16:58:01 +09:00
Randy Mackay
3fdabb3667
GCS_MAVlink: define LED_CONTROL in ardupilotmega.xml
2015-03-02 16:57:59 +09:00
Randy Mackay
b8ef765b3e
Notify: add OreoLED to PX4
2015-03-02 16:57:56 +09:00
Randy Mackay
0a33a7c15a
Notify: OreoLED_PX4 driver
2015-03-02 16:57:50 +09:00
Jonathan Challinger
e9bbe062f3
AC_PosControl: modify accel_to_lean_angles to apply filters before yaw rotation
2015-02-24 16:41:03 +09:00
Andrew Tridgell
1f417dce86
AP_SerialManager: added note on external converter requirement for Frsky
...
thanks to Luis for the suggestion
2015-02-24 10:19:42 +11:00
Andrew Tridgell
a6d76b4e03
AP_RangeFinder: added PX4-PWM rangefinder
...
uses PWM input driver to read a rangefinder
2015-02-23 14:15:14 +11:00
Randy Mackay
b650d39786
InertialSensor: remove product_id set to zero
2015-02-21 09:14:33 +09:00
Jonathan Challinger
7b0e806db1
AP_Mount: correct status_msg to conform to MAVLink specification
2015-02-21 08:33:50 +09:00
Andrew Tridgell
3a51bac0d0
AP_Arming: use new enum for home_is_set
2015-02-21 10:13:43 +11:00
Andrew Tridgell
a53395cdb8
AP_Common: added HomeState enum from copter
2015-02-21 10:13:17 +11:00
Andrew Tridgell
6781a8d329
AP_AHRS: fixed get_position for EKF to use correct relative altitude
...
we need to use the EKF relative height plus the current AHRS home
2015-02-21 10:12:53 +11:00
Andrew Tridgell
869fb23062
HAL_SITL: implement SIM_GPSDRIFTALT
2015-02-21 08:33:01 +11:00
Andrew Tridgell
63c792bc1c
SITL: added SIM_GPSDRIFTALT simulation control
2015-02-21 08:32:49 +11:00
Randy Mackay
73e00108e4
Mount: SToRM32 remove unnecessary include
2015-02-20 11:27:15 +09:00
Randy Mackay
23f0bab5d6
Mount: integrate SToRM32 backend
2015-02-20 11:05:40 +09:00
Randy Mackay
92c7949355
Mount: SToRM32 mount backend
2015-02-20 11:05:31 +09:00
Andrew Tridgell
b21c00fcf9
AP_L1_Control: changed default L1 tuning to 20
...
this is more appropriate for most aircraft
2015-02-19 16:19:33 +11:00
Andrew Tridgell
ec70042d25
APM_Control: raise default IMAX to 3000
...
on the first flight users often need more I gain to overcome poor
choices for the P gain
2015-02-19 16:15:33 +11:00
Andrew Tridgell
6959cdbf15
RC_Channel: fixed usage of _reverse to be consistent
...
users could set RCn_REV to 0 and get very confusing results
2015-02-18 12:47:56 +11:00
Andrew Tridgell
26ac29840c
AP_Common: added UNUSED_FUNCTION macro
...
useful for functions that are only in some builds
2015-02-18 11:12:43 +11:00
Andrew Tridgell
50a11c7d5a
AP_Mount: added an alternative tilt-only gimbal control method
...
this adds some nice control characteristics based on work by Paul and
Arthur, but is tilt only
2015-02-16 16:48:55 +11:00
Andrew Tridgell
9b2d44d6ed
AP_InertialSensor: use delay_microseconds_boost()
...
this gives much more consistent timing for PX4
2015-02-16 12:19:13 +11:00
Andrew Tridgell
18131eae13
HAL_PX4: added delay_microseconds_boost()
...
implemented using hrt callback with sem_post wrapper
2015-02-16 12:19:13 +11:00
Andrew Tridgell
c63540f7b1
AP_HAL: added delay_microseconds_boost()
...
this will be used by wait_for_sample() to boost priority for a short
period at the end of each delay_microseconds()
2015-02-16 11:52:37 +11:00
Andrew Tridgell
f54d799bff
AP_InertialSensor: added TIMING_DEBUG code for finding loop timing issues
2015-02-16 10:12:10 +11:00
Randy Mackay
8e75c9580c
InertialNav: get_origin returns zero when no origin
...
If the EKF has not yet set the origin return location of all zeros
instead of uninitialised location
2015-02-15 11:17:37 +09:00
Andrew Tridgell
04bef5ccf3
AP_InertialSensor: don't skip delay if we are a bit early
...
this produces a bit more even timing
2015-02-14 12:25:44 +11:00
Andrew Tridgell
619196b6b3
HAL_PX4: fixes for new PX4 device paths
2015-02-14 12:25:44 +11:00
Andrew Tridgell
38d63d51a5
AP_RangeFinder: change for new PX4 device paths
2015-02-14 12:25:44 +11:00
Andrew Tridgell
995311f807
AP_OpticalFlow: change for new PX4 device paths
2015-02-14 12:25:44 +11:00
Andrew Tridgell
9f7e20090c
AP_Notify: change for new PX4 device paths
2015-02-14 12:25:43 +11:00
Andrew Tridgell
4537acb898
AP_InertialSensor: change for new PX4 device paths
2015-02-14 12:25:43 +11:00
Andrew Tridgell
99ed508903
AP_Compass: change for new PX4 paths
2015-02-14 12:25:43 +11:00
Andrew Tridgell
beeb9173ea
AP_Baro: change for new PX4 paths
2015-02-14 12:25:43 +11:00
Andrew Tridgell
26a77dc502
AP_Airspeed: change for new PX4 paths
2015-02-14 12:25:43 +11:00
Andrew Tridgell
001643d5a3
HAL_PX4: always use the hrt semaphore based delay
...
the up_udelay() could cause too much timing jitter
2015-02-14 12:25:43 +11:00
Andrew Tridgell
7f0060b881
HAL_PX4: reduce the amount of time between loop() calls
...
500usec is too long for 400Hz copter
2015-02-14 12:25:43 +11:00
myly10
7bb079b348
AP_Parachute.cpp: Typo correction.
2015-02-13 16:16:10 +09:00
Staroselskii Georgii
75cd41a7c1
AP_HAL_Linux: added NavioAnalogIn
2015-02-12 12:57:45 +11:00
Staroselskii Georgii
b5aef01f72
AP_ADC: added ADS1115 support
2015-02-12 12:57:45 +11:00
Staroselskii Georgii
195aa5fc6b
AP_HAL_Linux: take the semaphore in SPIUARTDriver for shorter periods of time
2015-02-12 12:52:56 +11:00
Staroselskii Georgii
64da7f0360
AP_HAL_Linux: fix macro that defines number of I/O callbacks
2015-02-12 12:52:56 +11:00
Staroselskii Georgii
5b21bd2f1d
AP_HAL_Linux: make Ublox transactions shorter
2015-02-12 12:52:56 +11:00
Staroselskii Georgii
4034004194
AP_HAL_Linux: switch NavIO to kernel CS handling
2015-02-12 12:52:56 +11:00
Paul Riseborough
9f552eaa4b
AP_NavEKF: Fix bug that resets position to origin when vehicle arms
2015-02-12 12:40:55 +11:00
Paul Riseborough
b8d3da3846
AP_NavEKF: Report last known position when vehicle is disarmed
2015-02-12 12:40:55 +11:00
Andrew Tridgell
4aa8a012de
GCS_MAVLink: re-generate headers (updated stdint.h usage)
2015-02-12 09:13:17 +11:00
Andrew Tridgell
991afa9999
GCS_MAVLink: re-generate headers
2015-02-12 09:03:34 +11:00
Andrew Tridgell
7a6d91035e
GCS_MAVLink: merge upstream changes
2015-02-12 09:03:22 +11:00
Andrew Tridgell
55041c7a7a
AP_NavEKF: prevent division by zero in SmallEKF
2015-02-12 09:02:59 +11:00
Andrew Tridgell
db9c8548a5
HAL_VRBrain: call parent Util constructor
2015-02-11 20:57:28 +11:00
Andrew Tridgell
ebacb2b496
HAL_PX4: call parent Util constructor
2015-02-11 20:57:28 +11:00
Jonathan Challinger
59cf1c29ff
AP_HAL_VRBRAIN: attempt to initialize USB while soft-disarmed
2015-02-11 20:57:28 +11:00
Jonathan Challinger
e908fcafb1
AP_HAL_PX4: attempt to initialize USB while soft-disarmed
2015-02-11 20:57:27 +11:00
Jonathan Challinger
50466848f7
AP_NavEKF: use hal.util soft_armed state
2015-02-11 20:25:11 +11:00
Jonathan Challinger
180c85817d
AP_AHRS: remove armed state, use hal.util soft_armed state
2015-02-11 20:25:11 +11:00
Jonathan Challinger
aa7776ea59
AP_HAL: add soft_armed state to hal.util
2015-02-11 20:25:10 +11:00
Andrew Tridgell
fdcd5ca1a1
GCS_MAVLink: re-generate headers
2015-02-11 20:14:08 +11:00
Andrew Tridgell
b227f8463f
GCS_MAVLink: merge upstream mavlink changes
2015-02-11 20:13:27 +11:00
Andrew Tridgell
8cfe8c5823
GCS_MAVLink: moved send_autopilot_version() to common code
2015-02-11 19:50:40 +11:00
Andrew Tridgell
8e35baaef8
GCS_MAVLink: re-generate headers
2015-02-11 19:13:31 +11:00
Jonathan Challinger
0d1f0f4eb0
GCS_MAVLink: add AUTOPILOT_VERSION_REQUEST
2015-02-11 19:11:30 +11:00
Andrew Tridgell
e43fe520e8
AP_BoardConfig: added BRD_SBUS_OUT parameter
...
when this is set to 1 it enables SBUS servo output on the SBUS
connector.
2015-02-11 18:35:34 +11:00
mirkix
460b434708
AP_InertialSensor: add apm1 oilpan support
2015-02-11 18:22:44 +11:00
mirkix
98b78e61c2
AP_InertialNav: fix apm1 oilpan support
2015-02-11 18:22:42 +11:00
mirkix
49d81a9c99
AP_AHRS: fix apm1 oilpan support
2015-02-11 18:22:39 +11:00
Grant Morphett
3a5eb33d86
GCS_MAVLink: Bug - CLI_ENABLED check should be in vehicle code only.
...
Changes to fix the warnings in rover sitl build.
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:46 +11:00
Grant Morphett
4860c84dff
AP_NavEKF: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:46 +11:00
Grant Morphett
300a02f4e4
AP_Math: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:46 +11:00
Grant Morphett
b511410b48
AP_InertialSensor: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:45 +11:00
Grant Morphett
525787078f
AP_HAL: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:45 +11:00
Grant Morphett
e7e9e1adf0
AP_GPS: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:45 +11:00
Grant Morphett
52c5db8440
AP_Compass: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:45 +11:00
Grant Morphett
0b4ac5d256
AP_Common: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
2015-02-11 18:16:45 +11:00
Andrew Tridgell
ac3dd87790
AP_Baro: added hil_mode support
2015-02-10 09:53:30 +11:00
Jonathan Challinger
5f7480b740
AP_Math: change fast_atan2 to use atan2f on fast CPUs
2015-02-09 22:24:09 +09:00
Andrew Tridgell
b64077ac2e
GCS_MAVLink: fixed example build
2015-02-09 13:09:29 +11:00
Andrew Tridgell
af5f84f4e4
DataFlash: fixed example builds
2015-02-09 13:09:16 +11:00
Andrew Tridgell
d5e129457e
AP_InertialNav: fixed example builds
2015-02-09 13:09:02 +11:00
Andrew Tridgell
84cda98bec
HAL_AVR: fixed example build
2015-02-09 13:08:45 +11:00
Andrew Tridgell
78dadcb5c6
AC_AttitudeControl: fixed example build
2015-02-09 13:08:34 +11:00
Andrew Tridgell
dd0e45db41
GCS_MAVLink: fixed build of example sketches
2015-02-09 11:49:25 +11:00
Andrew Tridgell
2f3b5006e7
AP_Mount: fixed build of example sketches
2015-02-09 11:49:10 +11:00
Andrew Tridgell
a8c1d3a134
AP_GPS: fixed SerialManager for test sketches
2015-02-09 11:47:31 +11:00
Andrew Tridgell
9eb07ffde2
HAL_VRBRAIN: implement updated new_input() semantics
2015-02-09 10:39:14 +11:00
Andrew Tridgell
f548d48fdc
HAL_PX4: implement updated new_input() semantics
2015-02-09 10:39:12 +11:00
Andrew Tridgell
7275d2b804
HAL_SITL: implement updated new_input() semantics
2015-02-09 10:39:10 +11:00
Andrew Tridgell
5d6f883887
HAL_AVR: implement updated new_input() semantics
2015-02-09 10:39:07 +11:00
Andrew Tridgell
3075cb058d
AP_HAL: changed semantics of RCInput.new_input()
...
this makes calling new_input() in RCInput clear the new input
flag. This fixes an issue with calls to read() for auxillary channels
clearing the new_input flag, which could cause brief failsafe
conditions.
2015-02-09 10:39:05 +11:00
Andrew Tridgell
7a5ec6d75b
GCS_MAVLink: allow use of RC_CHANNELS message on AVR too
...
can have up to 11 channels
2015-02-08 21:47:31 +11:00
Andrew Tridgell
33a3254d8b
HAL_Linux: accept a smaller sync pulse width
2015-02-08 21:47:28 +11:00
Andrew Tridgell
7fb114752c
AP_HAL_AVR: accept a much shorted sync pulse width on RCInput
...
this should fix issues with OpenLRSng default settings
2015-02-08 21:47:26 +11:00
Andrew Tridgell
f2a919c55e
AP_HAL_PX4: moved size of main thread stack to Scheduler.h
...
make it more obvious
2015-02-07 08:06:53 +11:00
Andrew Tridgell
1c270d17a8
AP_Airspeed: ignore temperatures below -80
...
ETS driver on PX4 returns -1000
2015-02-06 21:41:15 +11:00
Andrew Tridgell
4ecd99eb76
AP_Arming: added check for logging available
...
this is used for refusing to fly without microSD inserted
2015-02-06 19:05:02 +11:00
Randy Mackay
fc4442bf61
AC_WPNav: rename xy_mode
2015-02-06 17:00:57 +09:00
Randy Mackay
186337f18e
AC_PosControl: rename xy_mode enum values
...
Also added a few comments and fixed formatting
2015-02-06 17:00:55 +09:00
Jonathan Challinger
626521c366
AC_WPNav: update usage of update_xy_controller
2015-02-06 17:00:53 +09:00
Jonathan Challinger
3faca88423
AC_PosControl: allow control of xy rate constraint behavior
2015-02-06 17:00:48 +09:00
Andrew Tridgell
cabf21194a
AP_Arming: improved docs
2015-02-06 08:40:59 +11:00
Emile Castelnuovo
5c68980f05
AP_Notify: removed unused VRBRAIN files
2015-02-05 14:22:08 +09:00
Randy Mackay
b66a1135d9
AHRS: fix example sketch compile error
2015-02-03 15:57:11 +09:00
Paul Riseborough
aa94ff629d
AP_NavEKF: Prevent bad GPS pre-arming casuing initial position errors
...
If the vehicle moves significantly or the GPS changes position significantly pre-armed, then the GPS glitch logic was being invoked when the first GPs measurements were fused. This patch resets the position to the GPS when the vehicle arms.
2015-02-03 15:57:10 +09:00
priseborough
bc5581d634
AP_NavEKF: Prevent arming delays from failing GPS
...
Due to the way that gyro calibration is done, the EKF could be effectively not run for up to 30 seconds in extreme cases, making it possible that the GPS would be failed on arming and the copter put into a non-GPS mode.
the longer term solution is to update the gyro calibration so that it does not hold up other processing. the short tyermfix in thsi patch is to look for evidence of a 3D lock in the last received GPS message.
2015-02-03 15:57:09 +09:00
priseborough
2c012c2763
AP_NavEKF: Always check for new GPS data
...
This fixes a bug that meant that once the EKF had started up in a non-GPS mode, it would no longer read the GPS and therefore would never be able to use GPS again until reset.
2015-02-03 15:57:08 +09:00
Robert Lefebvre
14d76d158a
AC_AttitudeControl: Correct comment.
2015-02-03 14:55:30 +09:00
Jonathan Challinger
baa3e802ee
AC_WPNav: clean up atan2
2015-02-03 14:48:04 +09:00
Randy Mackay
112f6a1854
AP_InertialNav: add comments
...
No functional change
2015-02-03 12:05:24 +09:00
Jonathan Challinger
c95e7b2282
AP_InertialNav: add get_origin function
2015-02-03 11:38:21 +09:00
Andrew Tridgell
fa7c584733
AP_Mount: fixed build on non-EKF systems
2015-02-03 09:49:17 +11:00
Andrew Tridgell
f77f919588
AP_Mount: enable pan pointing in MAVLink backend
2015-02-03 09:49:17 +11:00
Andrew Tridgell
81f60bde06
AP_Mount: fill in all Location flags in ROI pointing
2015-02-03 09:49:17 +11:00
Andrew Tridgell
cf76dcfbf3
AP_Mount: fixed mount MAVLink backend to match SITL sim behaviour
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-02-03 09:49:17 +11:00
Andrew Tridgell
75b1330843
AP_Mount: fixed radians to degrees error
2015-02-03 09:49:17 +11:00
Andrew Tridgell
032dcc3660
AP_Mount: fixed references to state in backends
2015-02-03 09:49:17 +11:00
Paul Riseborough
925d625ed1
AP_NavEKF: fix bug in small EKF velocity fusion
2015-02-03 09:49:17 +11:00
Paul Riseborough
8d6f0d08c9
AP_Mount: Update attitude control calculations and debug printing
2015-02-03 09:49:17 +11:00
Paul Riseborough
255252f387
AP_Math: Fix bug in quaternion division
2015-02-03 09:49:16 +11:00
Paul Riseborough
1660aefc90
AP_Mount: Add a simple attitude control loop to the gimbal report handling
2015-02-03 09:49:16 +11:00
Paul Riseborough
5f24603ceb
AP_NavEKF: Publish small EKF quaternion and gyro bias outputs
2015-02-03 09:49:16 +11:00
Paul Riseborough
17445d03f0
AP_Math: Add quaternion division
2015-02-03 09:49:16 +11:00
Andrew Tridgell
79017096e2
AP_Mount: prototype code to send biases
2015-02-03 09:49:16 +11:00
Andrew Tridgell
da27a8696d
AP_Mount: added initial ekf estimation of gimbal bias
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-02-03 09:49:16 +11:00
Andrew Tridgell
ee9c778834
AP_AHRS: added a get_NavEKF_const() function
...
needed for AP_Mount_MAVLink
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-02-03 09:49:16 +11:00
Andrew Tridgell
4c8b663200
AP_NavEKF: added initial version of SmallEKF
...
This will be used for gimbal bias estimations.
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-02-03 09:49:16 +11:00
Andrew Tridgell
1bbe633691
GCS_MAVLink: re-generate headers
2015-02-03 09:49:15 +11:00
Andrew Tridgell
b81cdf9250
GCS_MAVLink: change to delta_time in GIMBAL_REPORT
2015-02-03 09:49:15 +11:00
Andrew Tridgell
01b264951a
AP_Mount: added handling of GIMBAL_REPORT messages
2015-02-03 09:49:15 +11:00
Andrew Tridgell
35c14c787e
GCS_MAVLink: added handle_gimbal_report() function
...
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-02-03 09:49:15 +11:00
Andrew Tridgell
a1536d575b
GCS_MAVLink: added GIMBAL msgs to routing
2015-02-03 09:49:14 +11:00
Andrew Tridgell
01325b701a
GCS_MAVLink: re-generate headers
2015-02-03 09:49:14 +11:00
Andrew Tridgell
3b2332a0c7
GCS_MAVLink: added target_system/component to GIMBAL_REPORT
2015-02-03 09:49:14 +11:00
Andrew Tridgell
51ce4d3217
GCS_MAVLink: re-generate
2015-02-03 09:49:14 +11:00
Andrew Tridgell
df735e2ddb
GCS_MAVLink: change euler312 order conventions
2015-02-03 09:49:13 +11:00
Andrew Tridgell
53adcc9a25
GCS_MAVLink: regenerate MAVLink headers
2015-02-03 09:49:13 +11:00
Andrew Tridgell
73670edda6
GCS_MAVLink: added GIMBAL messages, mavlink ID and type
2015-02-03 09:49:13 +11:00
Randy Mackay
6cfd48d0c6
Buzzer: handle arming_failed as event
2015-02-03 06:14:55 +09:00
Randy Mackay
a991b4a823
Linux: handle arming_failed as event
2015-02-03 06:14:54 +09:00
Randy Mackay
3361002379
ToneAlarm: handle arming_failed as event
2015-02-03 06:14:53 +09:00
Randy Mackay
bd1ae13fdb
Notify: arming_failed flag moved to events
2015-02-03 06:14:53 +09:00
Randy Mackay
6a827459ad
Notify: increase size of flags type
2015-02-03 06:14:52 +09:00
Randy Mackay
0a68d4ef39
Notify: clear all flags and events during init
2015-02-03 06:14:44 +09:00
Randy Mackay
272768bc0f
Notify: init RGBLed members
2015-02-03 06:14:35 +09:00
Randy Mackay
3550e52560
MotorsTri: add 80% throttle limit
...
This limit was moved from the main copter flight code to the motors
library in order that the throttle_upper flag could be set properly.
2015-02-02 22:31:06 +09:00
Emile Castelnuovo
c044901f9f
AP_Notify: added missing VRBRAIN led files
2015-02-02 08:44:01 +11:00
Emile Castelnuovo
ebc3dcd142
DataFlash: Clean up, VRBRAIN deleted unused boards.
2015-02-02 08:44:01 +11:00
Emile Castelnuovo
90663664f3
AP_BattMonitor: VRBRAIN deleted unused boards, corrected default batt volt divider.
2015-02-02 08:44:01 +11:00
Emile Castelnuovo
a863f0bca8
AP_Airspeed: VRBRAIN code clean up. Deleted unused boards.
2015-02-02 08:44:01 +11:00
Emile Castelnuovo
d78ff43971
AP_HAL_VRBRAIN: code clean up. Deleted unused boards.
2015-02-02 08:44:00 +11:00
Emile Castelnuovo
5e8c1b61b5
AP_Compass: AP_Compass_VRBRAIN.cpp added _is_external overwrite to deal with external compass attached to internal I2C BUS
2015-02-02 08:44:00 +11:00
LukeMike
61f4239e47
AP_Airspeed: enabled PX4 library for VR boards
2015-02-02 08:44:00 +11:00
LukeMike
6473ae2c37
Storage: updated to the PX4 library
2015-02-02 08:44:00 +11:00
Emile Castelnuovo
26432d6064
AP_Notify: use RGB driver for board led in VRBRAIN boards.
2015-02-02 08:43:59 +11:00
Emile Castelnuovo
3e97592e5c
AP_Rangefinder: added #if for VRBRAIN boards.
2015-02-02 08:43:59 +11:00
Emile Castelnuovo
c38b11eec8
AP_RangeFinder: added VRBRAIN to use PX4 libraries
2015-02-02 08:43:59 +11:00
Emile Castelnuovo
dae32984f1
AP_InertialSensor: use PX4 library for VRBRAIN boards.
2015-02-02 08:43:59 +11:00
Emile Castelnuovo
25818f08a3
AP_Airspeed: added VRBRAIN board type
2015-02-02 08:43:59 +11:00
Emile Castelnuovo
ffd26e59cd
DataFlash: added new VRBRAIN boards
2015-02-02 08:43:59 +11:00
Emile Castelnuovo
b0b892e578
AP_Rangefinder: added support for VRBRAIN boards
2015-02-02 08:43:59 +11:00
Emile Castelnuovo
731329fc55
AP_InertialSensor: correction to AP_InertialSensor_VRBRAIN
2015-02-02 08:43:58 +11:00
Emile Castelnuovo
92e0bc3a2f
AP_HAL_VRBRAIN: updates to libraries for new boards
2015-02-02 08:43:58 +11:00
Emile Castelnuovo
a0673b56f9
AP_HAL: added new VRBRAIN boards and new subtypes
2015-02-02 08:43:58 +11:00
Emile Castelnuovo
de8a0ebc08
AP_Airspeed: added #defines for new VR boards.
2015-02-02 08:43:58 +11:00
LukeMike
edd0f13845
AP_HAL: mapped the different sizes of storage for all VR boards
2015-02-02 08:43:58 +11:00
LukeMike
6a93148b92
AP_InertialSensor: added library for VRBRAIN Inertial Sensor
2015-02-02 08:43:58 +11:00
LukeMike
b29f50ba9b
AP_Airspeed: Defined AirSpeed analog inputs for ArduPlane on VR Micro Brain 5
2015-02-02 08:43:57 +11:00
LukeMike
7dc5541484
AP_HAL_VRBRAIN: Added analog inputs for ArduPlane on VR Micro Brain 5
2015-02-02 08:43:57 +11:00
Andrew Tridgell
a2adb9b1b0
AP_Arming: check for AHRS health and calibration for arming
2015-02-01 14:13:57 +11:00
Andrew Tridgell
6e62e1ca7b
AP_InertialSensor: make calibrated() const
2015-02-01 14:13:54 +11:00
Andrew Tridgell
68f64fa11c
AP_AHRS: make the healthy() method const
2015-02-01 14:13:52 +11:00
Andrew Tridgell
850af14949
AP_NavEKF: raise EKF_POS_GATE and EKF_GLITCH_RAD for planes
...
This weights GPS position more heavily for planes
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-01-31 21:49:20 +11:00
Holger Steinhaus
8911dfd791
DataFlash: fix out-of-bounds read when logging
...
Checked in my rmackay9
2015-01-31 13:24:34 +09:00
Randy Mackay
0d94d5441f
SerialManager: correct protocol comments
...
Correct value for 2nd MAVLink protocol
2015-01-31 12:18:47 +09:00
Matthias Badaire
b5b67cf68a
SerialManager: Fix SERIALX_PROTOCOL comments
...
Fix SERIALX_PROTOCOL to have a proper documentation of the protocol types available
2015-01-31 12:18:36 +09:00
Randy Mackay
07a0388f25
AC_PosControl: move alt limit to set_alt_target_from_climb_rate
...
The alt limit is instead enforced when the target is set using the
set_alt_target_from_climb_rate function
Also updated comments
2015-01-30 14:13:52 +09:00
Robert Lefebvre
02f3f96310
AC_PosControl: Enable altitude limit checking.
2015-01-30 14:13:45 +09:00
Andrew Tridgell
79cad28a25
AP_Mount: simplify some uses of frontend
2015-01-29 17:23:33 +11:00
Andrew Tridgell
c05f36d29b
AP_SerialManager: make the state structure private
2015-01-29 16:02:24 +11:00
Andrew Tridgell
1d272e5a32
AP_Frsky_Telem: don't use flow control for FrSky
...
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:53:41 +11:00
Andrew Tridgell
362b53e1da
AP_GPS: force flow control off on GPS serial ports
2015-01-29 15:53:20 +11:00
Andrew Tridgell
5980ff8e1c
AP_Common: removed map_baudrate()
...
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:47:48 +11:00
Andrew Tridgell
d6ab4722cd
AP_SerialManager: moved map_baudrate() into class
...
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:47:36 +11:00
Andrew Tridgell
085a926e61
AP_Frsky_telem: update for find_serial() change
2015-01-29 15:37:18 +11:00
Andrew Tridgell
9ba2fefde3
AP_GPS: update for find_serial() change
2015-01-29 15:37:08 +11:00
Andrew Tridgell
60f266da19
AP_Mount: update for new find_serial() interface
2015-01-29 15:36:38 +11:00
Andrew Tridgell
59d5351dab
GCS_MAVLink: update for new find_serial()
2015-01-29 15:36:19 +11:00
Andrew Tridgell
e28deacc4c
AP_SerialManager: simplify interface, returning direct uart
...
added find_baudrate() for getting baudrate
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-01-29 15:35:42 +11:00
Randy Mackay
0a195671b3
SerialManager: set_console_baud uses first matching protocol
...
This ensures we set the baud to the first serial port with the specified
protocol instead of the last.
2015-01-29 14:05:15 +11:00
Matthias Badaire
5f432eaa2d
AP_Mount_Alexmos : take into account available negative numbers
...
uartdriver->available () function brings back a signed int, we should be carefull to avoid an endless loop if that happens.
2015-01-29 14:05:15 +11:00
Randy Mackay
4a4387530a
Mount: remove unused num_instances
2015-01-29 14:05:14 +11:00
Randy Mackay
d6433266d2
Mount_MAVLink: use SerialManager for init
...
use serial_manager's get_mavlink_channel
2015-01-29 14:05:14 +11:00
Randy Mackay
4848b03ac6
Mount_AlexMos: use SerialManager for init
2015-01-29 14:05:14 +11:00
Randy Mackay
56f872b38c
Mount_Servo: use SerialManager for init
2015-01-29 14:05:13 +11:00
Randy Mackay
886cc9aa46
Mount: use SerialManager for init
2015-01-29 14:05:13 +11:00
Randy Mackay
19aa8939de
FrSky_Telem: init uart when protocol is S-Port
2015-01-29 14:05:13 +11:00
Randy Mackay
5c086acc15
FrSky_Telem: comments, formatting and reordering
...
No functional change
Added comments and moved main functions to the top
Removed spaces between function name and brackets
2015-01-29 14:05:13 +11:00
Randy Mackay
6ef996d553
FrSky_Telem: init all members to zero and move to cpp
2015-01-29 14:05:13 +11:00
Randy Mackay
d16f787bd0
Frsky_Telem: use SerialManager for init
2015-01-29 14:05:12 +11:00
Randy Mackay
ebf5f98dbd
GPS: detect_instance does not set uart rx, tx size
2015-01-29 14:05:12 +11:00
Randy Mackay
2eddecb10d
GPS: use SerialManager for init
2015-01-29 14:05:12 +11:00
Randy Mackay
0c3a8f585a
GCS_MAVLink: add get_uart accessor
...
use by flight code to print messages during startup
2015-01-29 14:05:12 +11:00
Randy Mackay
1275ff7d40
GCS_MAVLink: have_flow_control uses mavlink_comm
2015-01-29 14:05:12 +11:00
Randy Mackay
1157c13eb6
GCS_MAVLink: mavlink_comm_x become UARTDrivers
2015-01-29 14:05:12 +11:00
Randy Mackay
febda988af
GCS_MAVLink: mavlink_channel from SerialManager
2015-01-29 14:05:11 +11:00
Randy Mackay
c6326fc9b7
GCS_MAVLink: use SerialManager for setup_uart
2015-01-29 14:05:11 +11:00
Randy Mackay
0fe4436c72
SerialManager: do not init uart for FrSky S-Port
2015-01-29 14:05:11 +11:00
Randy Mackay
cc71db1e2f
SerialManager: lib to configure UART protocol
2015-01-29 14:05:11 +11:00
Randy Mackay
ee369f8a0d
Mount_AlexMos: use reference to state
2015-01-29 14:05:11 +11:00
Randy Mackay
b083c99966
Mount_MAVLink: use reference to state
2015-01-29 14:05:11 +11:00
Randy Mackay
32ea258594
Mount_Servo: use reference to state
2015-01-29 14:05:10 +11:00
Randy Mackay
acbcf3c54e
Mount: backends use reference to their state
2015-01-29 14:05:10 +11:00
Randy Mackay
bf82e82282
Mount_MAVLink: remove unused _enable and find_mount
2015-01-29 14:05:10 +11:00
Randy Mackay
b5127b680f
Mount: set primary to first instance
2015-01-29 14:05:10 +11:00
Matthias Badaire
24af65a41a
AP_Mount_Alexmos: critical fix to avoid endless loop if byte arrive to fast in serial buffer
...
This fix reads the number of bytes available and iterates on it instead of looking for new bytes in the serial buffer (potentially forever)
2015-01-29 14:05:10 +11:00
Matthias Badaire
46e92f99fe
AP_Mount_Alexmos: use struct for CMD_CONTROL command
...
new struct created in header and used in control_axis function
2015-01-29 14:05:09 +11:00
Matthias Badaire
81d60af4a8
AP_Mount_Alexmos : cleanup initialization of class fields
2015-01-29 14:05:09 +11:00
Randy Mackay
c5ef5d21d3
Mount: add Alexmos to MNT2_TYPE param description
2015-01-29 14:05:09 +11:00
Randy Mackay
93323e2136
Mount_Alexmos: comments and formatting
...
No functional change
2015-01-29 14:05:09 +11:00
Matthias Badaire
1e5ddf3ce7
AP_Mount_Alexmos : make sure get_angles is called to get the real angles from the gimbal
...
get_angles calls the Alexmos API to get the current angles. It was not being called before.
2015-01-29 14:05:09 +11:00
Matthias Badaire
0b88f15a37
AP_Mount: fix Backend enum for AP_Mount_Alexmos and add comments
...
fix Backend enum for AP_Mount_Alexmos and add comments
2015-01-29 14:05:09 +11:00
Matthias Badaire
cdeb1fb8f3
AP_Mount_Alexmos : changes some define to avoid conflicting
...
change SPEED to AP_MOUNT_ALEXMOS_SPEED and the control mode defines as well
2015-01-29 14:05:08 +11:00
Matthias Badaire
6e5e438b0f
AP_Mount: Make use of the new AP_Mount_Alexmos backend
...
This is adding AP_Mount_Alexmos as one of the available backend
2015-01-29 14:05:08 +11:00
Matthias Badaire
dfc086f9e9
AP_Mount_Alexmos : Add Alexmos Serial support for 8bit cards
...
This is the initial implementation of Alemox gimbal protocol. the uart output is for the moment hard coded but should become a parameter.
2015-01-29 14:05:08 +11:00
Randy Mackay
66ad56161b
Mount_MAVLink: fix to calc_angle_to_location params
2015-01-29 14:05:08 +11:00
Randy Mackay
f509dad991
Mount_Servo: bug fix to calc_angle_to_location params
2015-01-29 14:05:08 +11:00
Randy Mackay
a78309734d
Mount_MAVLink: remove set_roi_target, configure
...
These methods are now in the backend
2015-01-29 14:05:07 +11:00
Randy Mackay
99c35d5cf7
Mount_Servo: remove set_roi_target, configure
...
These methods are now in the backend
2015-01-29 14:05:07 +11:00
Randy Mackay
72fec52f0f
Mount_Backend: move set_roi_target, configure to backend
2015-01-29 14:05:07 +11:00
Randy Mackay
efeb05876e
AP_Mount: initialise mode to default
2015-01-29 14:05:07 +11:00
Randy Mackay
ace1fd8740
Mount_MAVLink: handle RC and GPS targeting in lib
...
Previously we expected the mount to do this but it is likely that the
first versions of MAVLink enable mounts will only be capable of pointing
at a particular angle
2015-01-29 14:05:07 +11:00
Randy Mackay
9d4210b82a
Mount_Backend: move RC target handling to backend
2015-01-29 14:05:07 +11:00
Randy Mackay
b3044ced1f
Mount_Backend: move calc_angle_to_lcoation to backend
2015-01-29 14:05:07 +11:00
Randy Mackay
8fabacf5ff
Mount_MAVLink: use sysid from vehicle, compid of 10
2015-01-29 14:05:06 +11:00
Randy Mackay
6af5a6687f
Mount: add params for second mount
2015-01-29 13:57:19 +11:00
Randy Mackay
5d30af233a
Mount: move param underscore to lib
2015-01-29 13:57:18 +11:00
Randy Mackay
2ed4ca409c
Mount_Servo: check_servo_map every 3sec
2015-01-29 13:57:18 +11:00
Randy Mackay
cb5a122dab
Mount_Servo: add set_mode
2015-01-29 13:57:17 +11:00
Randy Mackay
a41ff2375b
Mount_Backend: add set_mode virtual method
2015-01-29 13:57:17 +11:00
Randy Mackay
ef719b145b
Mount: rename MODE to DFLT_MODE, move set_mode to backend
2015-01-29 13:57:17 +11:00
Randy Mackay
6c766051e8
Mount_MAVLink: minimalist mavlink backend
...
We assume MAVLink enabled mount will do all the hard work of support all modes
2015-01-29 13:57:17 +11:00
Randy Mackay
8a9df1c894
Mount_Servo: Servo functions moved to backend
2015-01-29 13:57:17 +11:00
Randy Mackay
7df2892b8d
Mount_Backend: add backend class
2015-01-29 13:57:17 +11:00
Randy Mackay
88db50c3a7
Mount: parent class becomes front-end
2015-01-29 13:57:17 +11:00
Randy Mackay
12bd5cd6b1
AP_HAL_PX4: fix example sketch
2015-01-28 21:00:30 +09:00
Randy Mackay
aa7f946e04
GCS_MAVLink: fix example sketch
2015-01-28 17:15:52 +09:00
Randy Mackay
857c3ef0e9
Scheduler: fix example sketch
2015-01-28 17:15:51 +09:00
Randy Mackay
d5f02ec0df
RangeFinder: fix example sketch
2015-01-28 17:15:50 +09:00
Randy Mackay
6e482d5c56
PerfMon: fix example sketch
2015-01-28 17:15:49 +09:00
Randy Mackay
52ca06fc22
Parachute: fix example sketch
2015-01-28 17:15:48 +09:00
Randy Mackay
f48a71f30a
OptFlow: fix example sketch
2015-01-28 17:15:47 +09:00
Randy Mackay
775cbfba38
Notify: fix example sketch
2015-01-28 17:15:47 +09:00
Randy Mackay
314eb2536f
Mount: fix example sketch
2015-01-28 17:15:46 +09:00
Randy Mackay
38702a7e23
Motors: fix example sketch
2015-01-28 17:15:45 +09:00
Randy Mackay
355a92aff4
Mission: fix example sketch
2015-01-28 17:15:44 +09:00
Randy Mackay
689cc9e298
AP_Math: fix example sketch
2015-01-28 17:15:43 +09:00
Randy Mackay
b43dc3bdfb
INS: fix example sketch
2015-01-28 17:15:42 +09:00
Randy Mackay
7c293f01d9
HAL_AVR: fix example sketch
2015-01-28 17:15:41 +09:00
Randy Mackay
f84d31b838
HAL: fix example sketch
2015-01-28 17:15:40 +09:00
Randy Mackay
1141363868
GPS: fix example sketches
2015-01-28 17:15:39 +09:00
Randy Mackay
635ff92d6b
Compass: fix example sketch
2015-01-28 17:15:39 +09:00
Randy Mackay
1475cf27ac
AP_Common: fix example sketch
2015-01-28 17:15:38 +09:00
Randy Mackay
bb4204c045
Baro: fix example sketch
2015-01-28 17:15:37 +09:00
Randy Mackay
293eb74a37
AirSpeed: fix example sketch
2015-01-28 17:15:36 +09:00
Randy Mackay
d8664d15d6
AHRS: fix example sketch
2015-01-28 17:15:35 +09:00
Randy Mackay
d0d1254f03
AC_WPNav: fix example sketch
2015-01-28 17:15:34 +09:00
Randy Mackay
a5ec3e3ec1
AC_Sprayer: fix example sketch
2015-01-28 17:15:33 +09:00
Randy Mackay
99046ebda6
AC_Fence: fix example sketch
2015-01-28 17:15:32 +09:00
Randy Mackay
d7f7af8c13
AC_AttControl: fix example sketch
2015-01-28 17:15:32 +09:00
Randy Mackay
51cb7185f2
InertialNav: fix example sketch
2015-01-28 17:15:27 +09:00
Randy Mackay
0480828350
Dataflash: fix example sketch
2015-01-28 16:31:50 +09:00
Andrew Tridgell
3d433d2106
AP_Mission: loop check is only needed in one place
2015-01-23 13:48:45 +11:00
Andrew Tridgell
540cadc086
AP_Mission: prevent infinite loop with linked jump commands
...
this prevents a "jump loop" from causing a firmware lockup. Thanks to
dellarb for reporting this!
2015-01-23 13:14:27 +11:00
Andrew Tridgell
4ee9575e6d
AP_Frsky_Telem: fixed code formatting
...
match ArduPilot coding standards
2015-01-22 16:49:39 +11:00
Matthias Badaire
f59f85d4a4
AP_Frsky_Telem: add SBUS support
...
add sbus support using a timer on a thread
2015-01-22 16:49:39 +11:00
priseborough
5df733a883
AP_NavEKF: Allow flight transition to optical flow mode if GPS is lost
2015-01-22 14:41:04 +09:00
priseborough
04810c012d
AP_NavEKF: Increase flow data valid timeout to handle arming delays
...
When Copter arms, the AHRS/EKF may not be run for a few hundred msec depending on conditions. This can cause the arming check to fail the optical flow sensor and place the EKF in a constant position mode.
2015-01-22 14:41:01 +09:00
priseborough
073b8e7c43
AP_NavEKF: Always explicitly set required const pos or vel mode when arming
...
This additional explicit setting of the constPosMode and constVelMode reduces the likelihood of logic errors being introduced in the future as it places the intended setting of these parameters at arming in the one place. the constVelmode and constPosMode only have one set of conditions each that can trigger these modes in flight, so if these modes are true after arming it will be clear that it was the in-flight condition that triggered.
2015-01-22 14:40:59 +09:00
priseborough
9c6dabe1cc
AP_NavEKF: Add separate flow default parameters for platform types
...
Also reduces flow measurement noise default for copter only and increases gate to compensate.
2015-01-22 14:40:57 +09:00
priseborough
d2da16e652
AP_NavEKF: Consistently set timeout flags whenever aiding is inhibited
...
This ensures the position and velocity measurement status will be set as timed out immediately after use of those measurements is inhibited. This will improve the timeliness of filter status reporting.
2015-01-22 14:40:55 +09:00
priseborough
824425625c
AP_NavEKF: Update public method used to inhibit GPS use
...
This method is not currently used by any of our vehicle types, but will be required to enable a user selectable 'indoor mode'.
2015-01-22 14:40:52 +09:00
priseborough
1033f5fc1e
AP_NavEKF: Apply flow nav vehicle limits regardless of sensor health
...
It does not make sense to relax the limits on vehicle speed and nav gains just because we have received some invalid flow data. This could make the situation worse if the invalid data was being caused by too much speed.
If we are relying on flow data the vehicle limits should always be applied.
2015-01-22 14:40:50 +09:00
priseborough
14b51f6d74
AP_NavEKF: Unconditionally fuse velocity in constant velocity mode
...
The zero velocity measurements in this mode are by definition always correct and should never be rejected
2015-01-22 14:40:48 +09:00
priseborough
6663d80176
AP_NavEKF: Simplify nested logic - functionally equivalent
...
Additional if else statement was unnecessary
2015-01-22 14:40:45 +09:00
priseborough
12c3368c4d
AP_NavEKF: Bypass GPS glitch logic when not aiding
...
When we are not using GPS measurements, we should not be allowing the GPS glitch logic to reset position states as this can interfere with operation of non GPS modes.
2015-01-22 14:40:43 +09:00
priseborough
5c8e71a8d1
AP_NavEKF: Don't reset the position measurement timeout if not aiding
...
When PV aiding is disabled, then the timeout time reference should not be reset becasue we want the position measurement timeout status to remain true the whole time the measurement is not being used.
2015-01-22 14:40:41 +09:00
priseborough
c505a458de
AP_NavEKF: Always declare a position measurement timeout if aiding not used
...
If position and velocity aiding is turned off, then the position measurement should always be reported as timed out.
2015-01-22 14:40:39 +09:00
priseborough
3b166372cc
AP_NavEKF: Always declare a velocity measurement timeout if velocity not used
...
If position and velocity aiding is turned off, then the velocity measurement should always be reported as timed out.
2015-01-22 14:40:36 +09:00
priseborough
95c3197170
AP_NavEKF: Ensure velocity will not be reset unless needed for aiding
2015-01-22 14:40:34 +09:00
priseborough
8aeec82846
AP_NavEKF: Continually turn off aiding whilst the vehicle is disarmed
...
This prevents the possibility of any logic errors turning aiding back on.
AP_NavEKF: Fix bug in logic
2015-01-22 14:40:31 +09:00
priseborough
81ee339e25
AP_NavEKF: Synchronise non-aiding mode state corrections
...
Synchronise with covariance prediction to improve numerical stability and accuracy of angle corrections. The 'noise' this produces in the position and velocity estimate is irrelevantbecause these are not used by the control loops during this mode of operation (they are nominally zero anyway).
2015-01-22 14:40:29 +09:00
priseborough
ae6b85e63d
AP_NavEKF: Explicitly set aiding to off when disarmed
...
This fixes a bug that could cause the AHRS to drift whilst the vehicle was disarmed depending sensor combinations at startup.
2015-01-22 14:40:27 +09:00
priseborough
fb1962b111
AP_NavEKF: Let reported position whilst disarmed show inertial errors
...
Showing the positon states (which are nominally zero) in addition to the last known offset can provide useful log information.
2015-01-22 14:40:25 +09:00
Randy Mackay
01c669ee15
RangeFinder: minor param description update
...
Also initialise primary instance to 0.
No functional change.
2015-01-22 14:40:16 +09:00
Randy Mackay
c24e997fb2
AC_Fence: use inertial nav's get_filter_status
2015-01-22 14:39:40 +09:00
Randy Mackay
f35efc56e0
InertialNav_EKF: get_filter_status replaces position_ok
2015-01-22 14:39:37 +09:00
Randy Mackay
5d80481723
InertialNav: get_filter_status replaces position_ok
...
altitude_ok also replaced.
2015-01-22 14:39:35 +09:00
Andrew Tridgell
61be4ce2d2
HAL_Linux: fixed #if for linux builds
2015-01-22 15:58:20 +11:00
Víctor Mayoral Vilches
2b74d018fe
HAL_Linux: Adjust set_system_clock
...
Do nothing for HAL_BOARD_SUBTYPE_NONE.
2015-01-22 15:43:16 +11:00
Víctor Mayoral Vilches
974f243c7e
HAL_Linux: Add set_system_clock
2015-01-22 15:43:16 +11:00
Jonathan Challinger
d679831c75
GCS_MAVLink: run generate.sh
2015-01-22 15:28:44 +11:00
Jonathan Challinger
0997ab23a4
GCS_MAVLink: merge upstream changes to common.xml
2015-01-22 15:19:47 +11:00
Grant Morphett
236efad159
AP_HAL_AVR: Increased number of AVR input channels from 8 to 11
2015-01-22 14:48:15 +11:00
mirkix
d11c5286c3
AP_HAL: HAL_COMPASS_AK8963 used but not defined anywhere
2015-01-22 14:35:51 +11:00
mirkix
9a65a8c8fb
AP_Compass: add AK8963 to auto-detect in test suite
2015-01-22 14:34:23 +11:00
mirkix
e9d4165a8d
AP_Compass: add AK8963 support to test suite
2015-01-22 14:34:17 +11:00
mirkix
7ceb93befa
AP_HAL: make the examples usable with Linux
2015-01-22 14:30:47 +11:00
Andrew Tridgell
5512a6f8a0
SITL: lower the default noise in SITL
...
the noise levels were well above realistic levels, especially for gyro
noise, and were causing EKF issues
2015-01-22 11:33:09 +11:00
Randy Mackay
842efe71be
DataFlash: move COMPASS2,3 formats to extra structures
2015-01-21 14:38:13 +09:00
Randy Mackay
e7471c5fe5
DataFlash: fix message id and CURR formatting
2015-01-21 14:38:03 +09:00
Randy Mackay
09e3dcd821
DataFlash: pass ahrs, batt, targets by reference
2015-01-21 14:38:01 +09:00
Randy Mackay
f23959b5fa
DataFlash: fix missing slash lost in merge
2015-01-21 14:37:59 +09:00
Robert Lefebvre
80929c389e
DataFlash: Handle multiple compass instances natively inside the Library.
2015-01-21 14:37:50 +09:00
Robert Lefebvre
5b70550b73
DataFlash: Fix potentially uninitialized variable compiler warning.
2015-01-21 14:37:27 +09:00
Robert Lefebvre
be803f4f39
DataFlash: Minor whitespace changes/cleanup. No effect.
2015-01-21 14:37:25 +09:00
Robert Lefebvre
2657610373
DataFlash: Add common-vehicle Mode logging method.
...
Conflicts:
libraries/DataFlash/DataFlash.h
2015-01-21 14:37:18 +09:00
Robert Lefebvre
12c3593bc3
DataFlash: Add common-vehicle Compass logging method.
2015-01-21 14:37:14 +09:00
Robert Lefebvre
2fdcd99db2
Arducopter: Move Attitude Message structure definition to the Base Structures section.
...
Conflicts:
libraries/DataFlash/DataFlash.h
2015-01-21 14:37:12 +09:00
Robert Lefebvre
d2adf2cdd7
DataFlash.h: Move format characters string to a more convenient location.
2015-01-21 14:37:10 +09:00
Robert Lefebvre
392e5257cc
DataFlash: Add voltage2 data to Current log, to be used by plane.
2015-01-21 14:37:07 +09:00
Robert Lefebvre
50b5376945
DataFlash: Add common-vehicle Current logging message.
2015-01-21 14:37:01 +09:00
Robert Lefebvre
db1a066f43
DataFlash: Add common-vehicle Attitude logging message.
2015-01-21 14:36:56 +09:00
Robert Lefebvre
743c5e4fde
AC_AttitudeControl: Remove un-needed #include
2015-01-21 14:36:54 +09:00
Andrew Tridgell
8b59c72eb9
AP_InertialSensor: cope with 2 IMUs in SITL
2015-01-20 19:47:45 +11:00
Andrew Tridgell
a37f3680e4
AP_Arming: support skip_gyro_cal
...
also break up arming INS reports, to be clearer for users
2015-01-20 19:47:15 +11:00
Andrew Tridgell
765d833efa
AP_Arming: check compass.use_for_yaw()
2015-01-20 11:33:39 +11:00
Andrew Tridgell
e8017a5079
AP_NavEKF: cope with the changed semantics of airspeed.use()
2015-01-20 11:28:14 +11:00
Andrew Tridgell
ed0a56cc3c
AP_AHRS: cope with the changed semantics of airspeed.use()
2015-01-20 11:27:58 +11:00
Andrew Tridgell
850b3b89ea
AP_Arming: added INS checks and airspeed checks
...
this also displays all failing arming checks, not just the first
one. That is more useful for the user
2015-01-20 11:27:13 +11:00
Andrew Tridgell
2235d18d67
AP_Airspeed: make it possible to tell if a airspeed sensor is unhealthy
...
we need use() to reflect if the user wants to use the sensor, so the
arming checks can tell if it is not working as expected
2015-01-20 11:26:20 +11:00
Andrew Tridgell
b3ce56d34d
AP_InertialSensor: fixed 2nd IMU in Replay
...
this makes for much more accurate replay runs
2015-01-20 09:20:47 +11:00
Andrew Tridgell
5d83124675
DataFlash: moved airspeed msg to DataFlash
...
so it can be used by Replay
2015-01-20 09:10:33 +11:00
Andrew Tridgell
62e7778ba8
AP_GPS: fixed build warning
2015-01-19 11:22:10 +11:00
Randy Mackay
aeecc46f7b
AC_PosControl: remove unnecessary set of desired_accel
...
The desired_accel is set again 11 lines lower so this line did nothing.
2015-01-14 16:23:26 +09:00
Jonathan Challinger
9ebd0e9960
AC_PosControl: reincarnate dead block of code
2015-01-14 16:20:17 +09:00
Jonathan Challinger
a580cd83e8
AC_PosControl: Fill _vel_desired.z for reporting
2015-01-14 16:08:48 +09:00
priseborough
c40c3632bb
AP_NavEKF: Critical Bug Fix
...
Prevents possible loss of attitude reference for flights without optical flow and GPS.
The optical flow measurement timeout can reset the velocity states which decouples the position states from IMU errors and therefore significantly reduces the amount of attitude error correction.
2015-01-13 16:05:31 +13:00
mirkix
62a05a0438
AP_Notify: fix if statement
2015-01-13 12:15:32 +13:00
mirkix
fa950a735e
AP_InertialSensor: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
mirkix
c58a022111
AP_HAL_Linux: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
mirkix
70445d11f6
AP_HAL: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
2015-01-12 21:36:40 +13:00
Randy Mackay
c93e7a69a7
Baro: init external_temperature in constructor
2015-01-12 13:56:35 +09:00
mirkix
b03a9e2911
AP_Notify: ToneAlarm_Linux.h includes itself
2015-01-11 11:50:07 +09:00
Andrew Tridgell
b1d8df3d54
AP_Baro: only allow calibrated sensors to be used
2015-01-09 12:59:01 +11:00
Andrew Tridgell
e8b1fc72e0
DataFlash: fixed build warning
2015-01-09 12:43:15 +11:00
Andrew Tridgell
3320dfd7fa
AP_Baro: fixed ms5611 spelling error
2015-01-09 11:59:49 +11:00
Andrew Tridgell
0a8677b3e2
AP_Baro: fixed build after rebase with all_healthy()
2015-01-09 11:51:52 +11:00
Andrew Tridgell
1c2a6deaaf
AP_Baro: added all_healthy() method
2015-01-09 11:51:51 +11:00
Andrew Tridgell
8359c082ca
AP_Baro: fixed baro on NavIO
...
don't use the 1kHz timer as it conflicts with other I2C devices
2015-01-09 11:51:51 +11:00
Andrew Tridgell
b85001bf4a
DataFlash: added logging of 2nd baro
2015-01-09 11:51:51 +11:00
Andrew Tridgell
b1342c2d39
GCS_MAVLink: send SCALED_PRESSURE2 if available
2015-01-09 11:50:57 +11:00
Andrew Tridgell
19c717df2e
AP_OpticalFlow: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
8aa1a89081
AP_Mission: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
cd7fbddcce
AP_InertialNav: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
197c09fcd8
AP_Baro: added num_instances() API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
d2c827aa4b
AP_AHRS: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
25f69f05eb
AC_WPNav: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
5ec8ce933e
AC_Sprayer: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
55ec316718
AC_Fence: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
5c4440a9ac
AC_AttitudeControl: updates for new AP_Baro API
2015-01-09 11:50:56 +11:00
Andrew Tridgell
bb6deb4817
GCS_MAVLink: re-generated headers
2015-01-09 11:50:55 +11:00
Andrew Tridgell
56f682f186
GCS_MAVLink: added SCALED_PRESSURE2 message
2015-01-09 11:50:55 +11:00
Andrew Tridgell
8a3d3bed72
SITL: changes for new AP_Baro API
2015-01-09 11:50:54 +11:00
Andrew Tridgell
f1891cea1f
AP_Baro: BMP085 driver done, but untested
2015-01-09 11:50:54 +11:00
Andrew Tridgell
5bb57a31f7
AP_Baro: split into frontend/backend
...
this allows for support of multiple sensors on a board
2015-01-09 11:50:54 +11:00
Andrew Tridgell
464714f1ab
HAL_PX4: fixed build warning
2015-01-09 11:37:46 +11:00
Andrew Tridgell
d34e5b3f42
AP_GPS: fixed PX4 GPS driver for new upstream format
2015-01-09 11:37:38 +11:00
Andrew Tridgell
ef5cdb0d6c
AP_NavEKF: use more array bounds checked variables
2015-01-09 11:05:07 +11:00
Andrew Tridgell
fefdc37a4d
AP_Math: fixed warnings on bounds checking in quaternion
2015-01-09 11:04:50 +11:00
priseborough
3d46680348
AP_NavEKF: Make NED origin independent of home position
...
This enables the filter to report the last known position after disarm.
The LLH location of the filters NED origin is published and should be logged every time the vehicle is armed to assist with post-flight trajectory reconstruction.
The LLH location of the filters NED origin can be set externally whilst the vehicle is disarmed.
2015-01-09 10:51:24 +11:00
priseborough
f0ea858e4c
AP_NavEKF: Make LLH output report last known position in const pos mode
2015-01-09 10:51:24 +11:00
priseborough
a0957a83f8
AP_NavEKF: Fix bug in reported position and velocity
...
The last known position was being output on the velocities when in constant position mode.
2015-01-09 10:51:24 +11:00
priseborough
7d1cd604a8
AP_NavEKF: Report last known position when GPS is lost
2015-01-09 10:51:24 +11:00
priseborough
1789dc08a3
AP_NavEKF: Correctly report position timeout when GPS is lost
2015-01-09 10:51:24 +11:00
Randy Mackay
3e583e3650
DataFlash: fix EKF4 logging
2015-01-09 10:51:24 +11:00
Randy Mackay
e6e6a781c1
AP_NavEKF: init filter status bits to zero
2015-01-09 10:51:23 +11:00
priseborough
ffd9f7a4ed
AP_NavEKF: Predict filter solution status
2015-01-09 10:51:23 +11:00
Randy Mackay
3896dadc77
DataFlash: EKF logs filter status as uint16
2015-01-09 10:51:23 +11:00
Randy Mackay
657afcfe7a
AP_NavEKF: add pred_horiz_pos flags to filter status
2015-01-09 10:51:23 +11:00
Randy Mackay
54cff29fc2
DataFlash: EKF logging uses nav_filter_status
2015-01-09 10:51:23 +11:00
Randy Mackay
f4d8bc586c
Nav_EKF: getFilterStatus returns nav_filter_status struct
2015-01-09 10:51:23 +11:00
Randy Mackay
8a914af4a8
AP_NavEKF: add nav_filter_status definition
2015-01-09 10:51:23 +11:00
priseborough
d57e0b6bde
AP_NavEKF: Remove compiler warning messages
2015-01-09 10:51:23 +11:00
priseborough
a4ba4d1000
AP_NavEKF: Fix bug in optical flow innovation variances
...
Also improves protection against badly conditioned variances
2015-01-09 10:51:23 +11:00
priseborough
8bc8d1444a
AP_NavEKF: Extend definition of GPS availability to include user inhibit
2015-01-09 10:51:22 +11:00
priseborough
d0d49065e7
AP_NavEKF: Prevent potential repeated use of optical flow data
2015-01-09 10:51:22 +11:00
priseborough
b0c703e4f7
AP_NavEKF: Fix bug in optical flow fusion control logic
2015-01-09 10:51:22 +11:00
priseborough
d656c94bbc
AP_NavEKF: Fix out of bounds index bug
2015-01-09 10:51:22 +11:00
priseborough
300ba65f64
AP_NavEKF: Remove duplicate flow measurement state correction
2015-01-09 10:51:22 +11:00
priseborough
92bb75a635
AP_NavEKF: Prevent load leveling from dropping flow measurements
2015-01-09 10:51:22 +11:00
priseborough
873860e810
DataFlash: Allow negative HAGL values in the EKF optical flow debug log
2015-01-09 10:51:22 +11:00
priseborough
2f5aa210ce
AP_NavEKF: Enable recovery from extended flow measurement rejection
2015-01-09 10:51:21 +11:00
priseborough
d470d55234
DataFlash: Update EKF optical flow debug logging
2015-01-09 10:51:21 +11:00
priseborough
9f4baaa865
AP_NavEKF: Update flow debug logging
2015-01-09 10:51:21 +11:00
priseborough
8d1dae3ac1
AP_NavEKF: Improve optical flow terrain height estimation
...
The two state auxiliary EKF has been replaced with a single state filter that only estimates terrain offset. The new filter fuses a optical flow line of sight rate scalar (length of the optical flow LOS rate vector) which provides a terrain offset estimate that is less affected by yaw errors.
Estimation of focal length scale factor error in flight wasn't accurate enough and will be replaced with a pre-flight intrinsic sensor calibration procedure as the scale factor error does not change over time provided the lens assembly is not adjusted.
AP_NavEKF: Remove unwanted printf
2015-01-09 10:51:21 +11:00
priseborough
d599fa588e
AP_NavEKF: Don't allow EKF to initialise without GPS lock if we are a plane
...
This is needed because planes arm automatically.
AP_NavEKF: Fix bug in GPS patch
2015-01-09 10:51:21 +11:00
Staroselskii Georgii
c16eb5d330
AP_Compass: fixed corrections for AK8963
2015-01-09 06:38:22 +11:00
Staroselskii Georgii
4394f0cf75
AP_Compass: fixed external compass detection for AK8963
2015-01-09 06:38:22 +11:00
Staroselskii Georgii
f0753e965e
AP_Compass: eliminated possible division by zero in AK8963
2015-01-09 06:38:22 +11:00
Staroselskii Georgii
b804430276
AP_Compass: changed default orientation for AK8963 on Navio
2015-01-09 06:38:22 +11:00
Mikhail Avkhimenia
954b0795d4
HAL_Linux: Enable PCA9685 output after its setup
2015-01-09 06:38:21 +11:00
Randy Mackay
2a5a133bbf
AC_AttControl: remove deprecated trigger_xy method
2015-01-07 14:03:49 +09:00
Randy Mackay
ed7e176c61
LandingGear: command_mode becomes enum
2015-01-07 11:58:22 +09:00
Robert Lefebvre
c297aaeeab
AP_LandingGear: Add force_deploy method.
2015-01-07 11:58:19 +09:00
Robert Lefebvre
4177852d89
AP_LandingGear: Remove relay control from library.
2015-01-07 11:58:17 +09:00
Robert Lefebvre
4935a42054
RC_Channel_Aux: Add new landing gear control to Aux_servo_function_t enum.
...
Conflicts:
libraries/RC_Channel/RC_Channel_aux.h
2015-01-07 11:58:17 +09:00
Robert Lefebvre
9b0a33c453
AP_LandingGear: Create LandingGear Library.
2015-01-07 11:58:15 +09:00
Andrew Tridgell
1b3c3c754d
AP_InertialSensor: use correct ifdef for AK8963
2015-01-07 11:58:05 +11:00
Andrew Tridgell
9835544163
AP_Compass: fixed build on non-Linux platforms
2015-01-07 08:41:14 +11:00
Andrew Tridgell
2ddf3e728a
DataFlash: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
9d3a9c20a8
HAL_VRBrain: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
0c73dc2440
HAL_PX4: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
4da0a24887
HAL_Linux: use common RingBuffer.h
2015-01-07 08:41:14 +11:00
Andrew Tridgell
6fb00f4fc3
AP_HAL: create a common utility/RingBuffer.h header
2015-01-07 08:41:14 +11:00
Staroselskii Georgii
43c88c37eb
AP_Baro: fixed MS5611 initialisation in order to get rid off conflicts with other I2C devices
2015-01-07 08:41:13 +11:00
Staroselskii Georgii
f7f9cd2173
AP_InertialSensor: prevented MPU9250 from disabling I2C slaves
2015-01-07 08:41:13 +11:00
Staroselskii Georgii
a08a34f863
AP_HAL: changed default compass for Navio
2015-01-07 08:41:13 +11:00
Staroselskii Georgii
0d1cf347c7
AP_Compass: added AK8963 support
2015-01-07 08:41:12 +11:00
Staroselskii Georgii
e4a21f291d
AP_HAL_Linux: added LinuxSPIUARTDriver that can handle SPI-driven Ublox
2015-01-07 08:41:12 +11:00
Staroselskii Georgii
2b589d4604
AP_HAL_Linux: enable output for PCA9685 PWM in NavioRCOuput
2015-01-07 08:41:12 +11:00
Randy Mackay
f41d7ddaee
Rally: reduce distance limit to 300m for copter
...
This reduces the chance that a forgotten rally point will cause the
vehicle to RTL to a distant location because instead it will RTL to
home.
2015-01-06 15:55:47 +09:00
Andrew Tridgell
e9058df31f
SITL: added optional flow delay
2015-01-06 14:19:02 +11:00
Andrew Tridgell
228b04e21e
SITL: added SIM_FLOW_DELAY parameter
2015-01-06 14:19:02 +11:00
Andrew Tridgell
0076413c0a
SITL: produce flow data at the requested rate
2015-01-06 14:19:02 +11:00
Andrew Tridgell
5758f39127
SITL: added SIM_FLOW_RATE parameter
2015-01-06 14:19:02 +11:00
Andrew Tridgell
b499cd1b59
AP_AHRS: fixed examples build
...
using a relative include works as the object is just passed through,
not used, in this header
2015-01-05 07:04:27 +11:00
priseborough
2f0b1b3d9c
AP_NavEKF: Fix bug preventing use of optical flow without GPS
2015-01-03 21:49:22 +11:00
Andrew Tridgell
f13248e5f5
SITL: implement SIM_TERRAIN
...
either use AP_Terrain or flat earth
2015-01-03 21:47:54 +11:00
Andrew Tridgell
9b65376961
SITL: added SIM_TERRAIN parameter
...
to choose either flat earth or AP_Terrain for sonar and optical flow
AGL emulation
2015-01-03 21:47:28 +11:00
Andrew Tridgell
d25bd8955d
GCS_MAVLINK: move send_opticalflow() into common library
2015-01-03 15:53:22 +11:00
Andrew Tridgell
66a03d100e
SITL: make some units clearer in comment
2015-01-03 15:44:19 +11:00
Andrew Tridgell
16affe51be
AP_NavEKF: avoid an extra quaternion copy
2015-01-03 15:44:07 +11:00
Andrew Tridgell
023c42593f
SITL: fixed units of body frame conversion for optical flow
2015-01-03 15:43:30 +11:00
priseborough
bf4ebcfda1
AP_HAL_AVR_SITL: Add maths for calculation of truth optical flow rates
2015-01-03 14:45:13 +11:00
Andrew Tridgell
70c2aeca42
AP_AHRS: make optflow available via AHRS
...
same pattern as compass and airspeed sensor
2015-01-03 14:16:34 +11:00
Andrew Tridgell
51cd64b3b2
SITL: make velocity and rotmat available to the optical flow simulator
2015-01-03 14:16:34 +11:00
Andrew Tridgell
aff01c6d09
AP_OpticalFlow: fixed reversed timestamp
...
thanks to Randy
2015-01-03 14:16:34 +11:00
Andrew Tridgell
d2634a26bd
SITL: added framework for SITL optical flow sensor
2015-01-03 14:16:34 +11:00
Andrew Tridgell
254aa32d4e
SITL: added SIM_FLOW_ENABLE option
2015-01-03 14:16:34 +11:00
Andrew Tridgell
11ff12dfd3
AP_OpticalFlow: split library into frontend/backend
...
this will make it easier to add a SITL backend
2015-01-03 14:16:33 +11:00
priseborough
a9eec29e45
DataFlash: Update EKF optical flow data logging
2015-01-03 14:09:15 +11:00
priseborough
69e86d3ea4
AP_NavEKF: Update EKF optical flow data logging
2015-01-03 14:09:12 +11:00
priseborough
b651eac48d
AP_NavEKF: Apply timeout to terrain offset validity reporting
...
The terrain offset solution status is usable for a short period of time without state updates so a timeout has been added which prevents the rapid changes in solution status due to short duration sensor read errors.
2015-01-03 14:09:09 +11:00
priseborough
e6474d676e
AP_NavEKF: Report correct horiz vel sol'n status during optical flow nav
2015-01-03 14:09:05 +11:00
priseborough
75201c8968
AP_NavEKF: Prevent divide by zero casued by Tnb_flow.c.z = 0
2015-01-03 14:07:13 +11:00
Andrew Tridgell
6bb4a8c361
AP_Math: make location_path_proportion() and location_passed_point() more efficient
...
the dot product is much more efficient than the trigonometry. Thanks
to Paul for the suggestion
2015-01-03 14:06:59 +11:00
Andrew Tridgell
6993be54b7
HAL_Linux: raise storage size to 16k
...
match PX4 size
2015-01-03 14:06:54 +11:00
Andrew Tridgell
745b739ab7
AP_InertialSensor: make calibrated() function fast enough to call in flight
...
this will be used in plane to make AHRS SYS_STATUS unhealthy if a user
tries to fly with EKF enabled without a full 3D accel cal.
Note that it doesn't rely on using AP_Param load() to detect that a
value has been set, as some users are first doing a 3D cal then later
doing a 1D cal. In that case load() was returning true and would give
a false positive
2015-01-03 14:06:42 +11:00
Randy Mackay
5ba1b20d3b
BattMon: add SMBus to MONITOR param description
2015-01-02 17:20:05 +09:00
Randy Mackay
ffbc3862bd
Compass: update compass orient param description
...
Update rotation 38 to Yaw293Pitch68Roll90
2015-01-02 17:19:12 +09:00
Jonathan Challinger
9e5a30d5ba
AP_Math: change ROTATION_YAW_293_PITCH_68_ROLL_180 to ROLL_90
2015-01-02 17:15:18 +09:00
Andrew Tridgell
ef55a3c6a6
AP_GPS: keep reporting GPS status messages when no GPS at 1Hz
...
to ensure the GCS knows that we have lost the GPS we need to keep
reporting GPS_RAW_INT messages when the GPS disappears. Sending at 1Hz
should be sufficient
Fixes issue #1722
2015-01-02 17:10:23 +11:00
priseborough
8d3940ce1b
AP_NavEKF: Improved use of enumerated type for aiding mode
2015-01-02 12:10:41 +09:00
priseborough
76d1378962
AP_NavEKF: Fix compiler warning messages
2015-01-01 23:39:48 +11:00
priseborough
3e3dd9d695
AP_NavEKF: Fix parenthesis error in EKF status reporting and clean up logic
...
This fixes a bug which could have caused the realative position status to be incorrectly reported under some conditions and also caused a compiler warning message. the logic used to report the filter solution status has been broken down into smaller, easier to understand statements.
2015-01-01 23:39:48 +11:00
priseborough
c06f6e105e
AP_NavEKF: Consistent initialisation of tuning parameters and variables
...
Non user adjustable parameters are now declared as 'const' in the header.
The _ prefix has been removed from non user adjustable tuning parameters.
We use a function call rather than a constructor to initialise variables because it enables the filter to be re-started in flight if necessary.
For consistency some signed integer type declarations have been changed to unsigned where appropriate.
2015-01-01 23:39:31 +11:00
priseborough
f1dfa282dc
AP_NavEKF: Consolidate constant velocity mode decision logic
...
The decision to switch to constant velocity mode during optical flow operation and te decision to switch back were previously being made in two different places in code. Both decisions are now made in the one place which makes the code easier to follow and maintain.
2015-01-01 19:53:21 +11:00
priseborough
9caf2ac895
AP_NavEKF: Make reversion to no GPS mode unambiguous
2015-01-01 19:53:21 +11:00
priseborough
58e9dd5dcd
AP_NavEKF: Enumerate Position and Velocity aiding status
2015-01-01 19:53:21 +11:00
Andrew Tridgell
fb5e53e1e4
AP_Param: cope with older gcc versions
...
Travis-CI uses 4.6.3
2015-01-01 18:55:11 +11:00
Andrew Tridgell
9ae0dd05f8
AP_Param: avoid build warning due to %S format
2015-01-01 18:25:05 +11:00
Andrew Tridgell
f38f86ab8c
AP_Math: added location_path_proportion()
...
this can be used for glide slope calculations
2015-01-01 15:17:10 +11:00
Andrew Tridgell
4e5510c99e
AP_TECS: fixed warning
2015-01-01 15:14:48 +11:00
Andrew Tridgell
f8bce994b5
AP_OpticalFlow: don't write an error message if no flow sensor
...
most users have no flow sensor
2015-01-01 11:02:43 +11:00
Andrew Tridgell
06a72839ed
AP_InertialSensor: fixed error detection on secondary IMUs
...
the break; was preventing error detection on lsm303d/l3gd20
2015-01-01 08:55:57 +11:00
Randy Mackay
022c549339
BattMon_SMBus_I2C: use get_PEC to check reads
2014-12-31 15:23:00 +09:00
Randy Mackay
bf0e5a350c
BattMon_SMBus_I2C: add get_PEC method
2014-12-31 15:22:59 +09:00
Randy Mackay
3951e4d99b
BattMon: example sketch reads from SMBus
2014-12-31 15:22:58 +09:00
Randy Mackay
aecc8aac1f
BattMon: correct typo in monitor type enum
2014-12-31 15:22:57 +09:00
Randy Mackay
909d525206
BattMon: fix example sketch compile error
2014-12-31 15:22:51 +09:00
Randy Mackay
cf36fd55bd
GCS_MAVlink: correct sending of 2nd battery's voltage
2014-12-31 15:22:49 +09:00
Randy Mackay
76a28a962c
BattMon: remove #defines for monitor type
2014-12-31 15:22:47 +09:00
Randy Mackay
f077ecd338
BattMon_PX4: class to read from PX4Firmware via orb
2014-12-31 15:22:46 +09:00
Randy Mackay
3f35dc54fe
BattMon_I2C: smart battery class for APM
2014-12-31 15:22:45 +09:00
Randy Mackay
314db1403d
BattMon_SMBus: smart battery monitor driver
2014-12-31 15:22:45 +09:00
Randy Mackay
4d7df9ed26
BattMon_Analog: move analog features to new class
2014-12-31 15:22:44 +09:00
Randy Mackay
39dbf05c8f
BattMon_Backend: create backend class
2014-12-31 15:22:43 +09:00
Randy Mackay
eec66d8451
BattMon: parent class becomes frontend class
2014-12-31 15:22:42 +09:00
Randy Mackay
c36253b9b2
AC_PosControl: add comments
...
No functional change
2014-12-31 14:03:22 +09:00
Jonathan Challinger
6eab698e85
AC_WPNav: remove various timing hacks
2014-12-31 14:03:20 +09:00
Jonathan Challinger
557d339cf1
AC_PosControl: remove various unnecessary timing hacks
2014-12-31 14:03:18 +09:00
Jonathan Challinger
5438d38df5
AC_WPNav: provide reset_I to init_xy_controller
2014-12-31 14:03:16 +09:00
Jonathan Challinger
d6e455417f
AC_PosControl: change keep_xy_I_terms to a parameter of init_xy_controller
2014-12-31 14:03:13 +09:00
priseborough
b016bae445
AP_NavEKF: Clean up reset of constant velocity mode
...
Move velocity store out of optical flow to velocity and position fusion control as it is a velocity fusion function.
Always clear the previous mode status
2014-12-31 13:16:16 +09:00
priseborough
3d207c316a
AP_NavEKF: Change names for position and velocity hold modes
...
Name change done to avoid confusion with flight modes. modes are now referred to as constant position and constant velocity mode.
2014-12-31 13:16:15 +09:00
priseborough
b650ee51a9
AP_NavEKF: Consolidate arming checks
2014-12-31 13:16:15 +09:00
priseborough
48cae0df15
AP_NavEKF: Fall back to attitude and hgt estimation for copter if GPS lost
2014-12-31 13:16:14 +09:00
priseborough
b21f9daa90
AP_NavEKF: Update solution status reporting
...
This patch makes the reporting of an absolute position solution less abbiguaous and ensures that relative position is always true if absolute position is true
2014-12-31 13:16:13 +09:00
priseborough
b99b3c7b9d
DataFlash: Don't log EKF optical flow data if not required
2014-12-31 13:16:09 +09:00
priseborough
b6d300db19
AP_NavEKF: clean up determination of GPS availability
2014-12-31 13:14:22 +09:00
priseborough
40b02fc19a
AP_NavEKF: Ensure filter doesn't try to use GPS after initialisation
2014-12-31 13:14:20 +09:00
priseborough
bab1a69f1c
AP_NavEKF: make position and velocity resets consistent with GPS usage
2014-12-31 13:14:18 +09:00
priseborough
0dc2356175
AP_NavEKF: Ensure initialisation methods read required sensor data
2014-12-31 13:14:16 +09:00
priseborough
5d1de79f08
AP_NavEKF: Modify initial values to make startup behaviour more consistent
2014-12-31 13:14:14 +09:00
priseborough
a63af34d8f
AP_NavEKF: Allow 10 seconds for the filter to settle after initialisation
...
Filter is declared unhealthy and will not arm for first 10 seconds after initialisation
2014-12-31 13:14:12 +09:00
priseborough
0a5de21dc7
AP_NavEKF: Fix bug in reporting of solution status
...
Because synthetic position measurements at 0,0 are fused during position hold mode, a position timeout cannot be used as the only means of detecting position solution status.
2014-12-31 13:14:09 +09:00
priseborough
92c3026072
AP_NavEKF: Link process noise to arm status, not pos hold mode
2014-12-31 13:14:07 +09:00
priseborough
a535b73a6d
AP_NavEKF: Initialise timeout status to true
...
This status will be cleared when data arrives and is fused successfully
2014-12-31 13:14:04 +09:00
priseborough
363c1e393d
AP_NavEKF: Latch use of position hold mode for duration of flight
...
Required to prevent acquisition of GPS mid flight causing unwanted change in position and velocity
A distinction has been mad between the arm and disarm transition and the decision to use position hold mode (formerly static mode)
2014-12-31 13:14:02 +09:00
priseborough
a0a6c0362f
AP_NavEKF: Relax timeout check applied to optical flow data
...
200 msec was too short and could lead to false positives. 5000 msec is the largest time we can go free inertial.
2014-12-31 13:14:00 +09:00
priseborough
5bd4ee9715
AP_NavEKF: Use compensation for baro delay in position hold mode
2014-12-31 13:13:58 +09:00
priseborough
4dc1ee2d66
AP_NavEKF: Rename static mode to avoid confusion with other non-GPS modes
...
This renames static mode as posHoldMode to make it clearer what this and the other non-GPS modes do
2014-12-31 13:13:54 +09:00
priseborough
b160f4c03b
AP_NavEKF: Compensate optical flow fusion for GPS glitch recovery offset
2014-12-31 13:13:52 +09:00
priseborough
e4c969084d
AP_NavEKF: Improve behaviour recovering from a GPS timeout
...
When regaining GPS after a timeout, an offset is applied when fusing GPS velocity so that GPS velocity and position data as fused by the EKF is kinematically consistent.
This velocity offset is also accounted for when fusing air data so that wind estimates are not corrupted when the GPS position offset is being pulle back to zero.
The intended behaviour is that the EKF position will be pulled back to the GPS position at a rate of 5m/s for planes and 1 m/s for copters. This avoids large deviations in trajectory when GPS is regained.
2014-12-31 13:13:50 +09:00
priseborough
6eb533121c
AP_NavEKF: Add static mode to solution status message
2014-12-31 13:13:48 +09:00
priseborough
5c3a56a087
AP_NavEKF: Fix error in comments
2014-12-31 13:13:46 +09:00
priseborough
3891dada78
AP_NavEKF: remove unnecessary function
2014-12-31 13:13:44 +09:00
priseborough
a16253796f
AP_NavEKF: Fix bug preventing the non-GPS mode being selected externally
...
When on the ground it is likely the flow sensor will be returning data that does not meet the minimum quality requirements selected.
The previous check was for the presence of valid data. This has been loosened to look for the presence of data.
When the vehicle becomes airborne, the quality of flow data normally improves as the image comes into focus.
2014-12-31 13:13:42 +09:00
priseborough
a42100e4c5
AP_NavEKF: Improved handling of no GPS
...
This patch enables indoor operation of the EKF by putting it into static mode if optical flow operation is not enabled and no GPS is available
2014-12-31 13:13:40 +09:00
priseborough
73a06cd0c1
AP_NavEKF: Fix bug causing magnetic field state learning to be forgotten
2014-12-31 13:13:37 +09:00
priseborough
bf89c56e54
AP_NavEKF: Fix comments error in description of flow sensor sign conventions
2014-12-31 13:13:35 +09:00
priseborough
685fa383e4
DataFlash: Log EKF solution status message
...
This message is a bitmasked integer that will be used by control software to determine what data is available from the EKF and decide what control modes are available.
Duplicate static mode message removed. Static mode is now contained in the bitmasked solution status message
2014-12-31 13:13:33 +09:00
priseborough
4eb19c2324
AP_NavEKF: Rationalise health status reporting
...
1) Un-used public methods to report height and position drifting have been removed
2) A time-out has been added to the airspeed innovation consistency check so that if we are relying on airspeed to constrain velocity drift, a filter divergence or other fault that causes the airspeed to be continually rejected will trigger a change in health status.
3) A timeout of velocity, position or height measurements does not cause a filter fault to be reported. Timeouts can be due to sensor errors and do not necessarily indicate that the filter has failed.
4) Time-outs of various measurements are used to present a consolidated bitmask which inidicates which parts of the solution can be used, eg attitude, height, velocity, relative position, absolute position, etc.
2014-12-31 13:13:31 +09:00
priseborough
78b30e4ce5
AP_NavEKF: Increase rate at which GPS glitch offsets are reduced for planes
2014-12-31 13:13:29 +09:00
Andrew Tridgell
e0943851d6
DataFlash: log gyro and accel error counts
2014-12-30 12:16:02 +11:00
Andrew Tridgell
b9adc6e466
AP_InertialSensor: prefer sensors that have zero error counts
...
if a sensor has failed in flight then try not to use it if another
error-free sensor is available
2014-12-29 21:19:35 +11:00
Randy Mackay
4a1ba9b186
AC_WPNav: minor const fix
2014-12-27 13:19:32 +09:00
Randy Mackay
c7192c5eef
Notify: remove Led class
...
This class didn't add any functionality beyond what the NotifyDevice class
already provided so in keeping with our desire to keep things simple we
can remove this class
2014-12-26 13:06:41 +09:00
Randy Mackay
352b52d73f
Notify: remove reliance on Led class
2014-12-26 13:06:24 +09:00
Randy Mackay
d67b4a8d49
Notify: add pre_arm_gps_check flag
...
RGB LED will remain flashing blue when vehicle is disarmed and this
check has failed (i.e. false).
2014-12-26 12:32:34 +09:00
Andrew Tridgell
c93ae67541
DataFlash: don't try and open logfile on failure more than once
...
this prevents a corrupted microSD card from causing a continuous
attempt to open a log file while in flight, which can cause large
scheduler delays
Pair-Programmed-With: Grant Morphett <grant@gmorph.com>
2014-12-21 14:50:42 +11:00
Andrew Tridgell
abd1ece6e3
DataFlash: don't write out parameters if log open fails
2014-12-21 14:50:42 +11:00
priseborough
f2c506339a
AP_NavEKF: Reduce time required to recover from GPS timeouts
...
The time required for GPS to be lost or rejected before vehicles with airspeed sensors either reset to GPS or invoke the zero side-slip assumption to constrain drift has been reduced from 15 to 10 seconds
A duplicate zeroing of the GPS position offset has been removed
If the vehicle is a non hovering vehicle (eg a plane) then the speed at which the GPS offset is pulled back to zero after a reset is increased from 1 to 3 m/s
This also improves recovery from bad inertial data for planes
2014-12-18 21:50:40 +11:00
priseborough
f73816dbb5
AP_NavEKF: Improve robustness to long periods without GPS
2014-12-18 21:07:45 +11:00
Randy Mackay
a44b4b5e87
Mission: allow 15 do-jump commands on Pixhawk
2014-12-18 17:02:48 +09:00
priseborough
3afde0061f
AP_NavEKF: Use named states for velocity reset
...
Readibility improvement
2014-12-18 17:29:50 +11:00
priseborough
f6ce25df2a
AP_NavEKF: Do not reset vertical velocity state from GPS
...
Doing this can cause large height and height rate errors if large GPS velocity errors cause the GPS tn be rejected for long enough to cause a timeout and reset of states.
2014-12-18 17:29:47 +11:00
Andrew Tridgell
597273cfff
AP_TECS: remove lag from height demand in landing
...
this predicts ahead the height demand for landing, where we have a
continuous demanded descent. This removes the effect of the lag
introduced by the height demand filters
2014-12-18 09:58:12 +11:00
Andrew Tridgell
b5a5b71512
GCS_MAVLink: reverse sense of check_and_forward()
...
also increase number of routes on larger systems and improved route
learning logic
2014-12-17 10:32:28 +11:00
Andrew Tridgell
a967a682a4
GCS_MAVLink: added routing test sketch
2014-12-17 10:32:28 +11:00
Andrew Tridgell
7f817502c4
GCS_MAVLINK: implement new routing rules
...
see description in coments
2014-12-17 10:32:28 +11:00
Andrew Tridgell
70f5ec60e8
AP_TECS: added get_land_sinkrate()
2014-12-15 21:51:07 +11:00
Andrew Tridgell
8c1cab84c7
AP_SpdHgtControl: added get_land_sinkrate()
2014-12-15 21:51:07 +11:00
Randy Mackay
21beb26484
Notify: minor event reordering
...
No functional change
2014-12-15 14:10:26 +09:00
Randy Mackay
e68a69e139
ToneAlarm_PX4: remove user_mode_init flag
...
Replaced by an initialised check in the main ArduCopter flight code
2014-12-15 14:10:21 +09:00
Randy Mackay
1c8ab375e2
Notify: rename failsafe_action event
2014-12-15 14:10:15 +09:00
Randy Mackay
972c8e47d2
Notify: rename notify_types to notify_flags_type
2014-12-15 14:10:10 +09:00
Randy Mackay
bfc86ac7c0
ToneAlarm_PX4: add comments
2014-12-15 14:10:06 +09:00
Randy Mackay
c75ab8f3e5
Notify: add comments re events
2014-12-15 14:09:15 +09:00
Jonathan Challinger
3dfcdde6be
AP_Notify: Rework ToneAlarm_PX4 to play tones from local array
2014-12-15 14:09:04 +09:00
priseborough
e2d47f836e
AP_TECS: Fix bug causing plane to fly high on landing approach
...
The introduction of the height rate flare logic caused the demanded height rate to be zero except when a flare manouevre was being performed. This caused the plane to lag behind height changes if the D gain was non-zero, which caused it to fly high during landing approach.
2014-12-14 09:43:46 +11:00
Randy Mackay
b54b7b7448
GCS_MAVLink: fix compiler error
2014-12-11 16:26:26 +09:00
Randy Mackay
e581e81da5
AP_NavEKF: reorder declation to fix compiler warning
...
No functional change
2014-12-11 15:37:56 +09:00
Randy Mackay
ddda0d52ce
Baro: reorder declaration to fix compiler warning
...
No functional change
2014-12-11 13:06:24 +09:00
Andrew Tridgell
ade7f9e1a9
GCS_MAVLink: fixed forwarding of non-targetted messages
2014-12-11 12:32:50 +09:00
Andrew Tridgell
fcf17829cc
GCS_MAVLink: fixed addition to routing table
2014-12-11 12:32:48 +09:00
Andrew Tridgell
079158d4b8
GCS_MAVLink: strip out the old GCS_Class class
...
this is not longer needed as we don't support multiple protocol
classes
2014-12-11 12:32:45 +09:00
Andrew Tridgell
f198cdcf20
GCS_MAVLink: added support for a MAVLink snoop function
...
this can be used to watch messages for different targets
2014-12-11 12:32:32 +09:00
Andrew Tridgell
34be7f808e
GCS_MAVLink: only try to fwd packets to active channels
2014-12-11 12:32:30 +09:00
Andrew Tridgell
411766f45a
AP_Mount: removed use of mavlink_check_target()
2014-12-11 12:32:27 +09:00
Andrew Tridgell
4a9331c505
AP_Camera: removed use of mavlink_check_target()
2014-12-11 12:32:24 +09:00
Andrew Tridgell
f1edd1bafb
GCS_MAVLink: removed use of mavlink_check_target()
...
not needed now we do routing properly, as messages will only be
processed if they are for us
2014-12-11 12:31:06 +09:00
Andrew Tridgell
aa88ba4158
GCS_MAVLink: only call message handler for our own messages
2014-12-11 12:30:59 +09:00
Andrew Tridgell
11f88f0f5d
GCS_MAVLink: added routing object to GCS_MAVLink
2014-12-11 12:30:55 +09:00
Andrew Tridgell
b91529622b
GCS_MAVLink: initial implementation of MAVLink routing object
...
will be used to auto-route packets over all available links
2014-12-11 12:30:50 +09:00
Andrew Tridgell
76c710f596
GCS_MAVLink: removed obsolete headers
2014-12-11 12:30:46 +09:00
Andrew Tridgell
3354cb37d0
AP_GPS: fixed vertical velocity in Replay
...
fixed NavEKF use of velocity velocity
2014-12-09 18:57:17 +11:00
Andrew Tridgell
4a91546ced
HAL_PX4: FRAM does not support fsync
...
the fsync just wastes time reopening /fs/mtd
2014-12-09 14:35:36 +11:00
Randy Mackay
da247bacf8
GCS_MAVLink: add OPTICAL_FLOW to ap_message enum
2014-12-08 14:58:30 +09:00
Randy Mackay
3c23f00e81
OptFlow: remove ADNS3080 image grabber example
2014-12-08 14:58:24 +09:00
Andrew Tridgell
193bda068c
HAL_Linux: run IO processes when we do a stop_clock()
...
this has the effect of allowing logging to progress in Replay where we
are running at much more than realtime speeds
2014-12-08 11:24:39 +11:00
Andrew Tridgell
cb9c518ab8
Revert "AP_NavEKF : Reduce ripple in estimates that can cause copter motor 'pulsing'"
...
This reverts commit 13df6fb1c9
.
This patch was a result of an incorrect merge of the optflow branch
into master. It reintroduced the bug fixed by this commit:
AP_NavEKF : Fix bug in reset of GPS glitch offset
8aa267f75f
2014-12-08 07:53:47 +11:00
Andrew Tridgell
22a7b69260
AP_OpticalFlow: don't build optical flow example
...
broken by library changes
2014-12-06 22:05:42 +11:00
Andrew Tridgell
ed510d4f87
AP_OpticalFlow: run PX4 flow sensor at 10Hz
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-12-06 18:16:51 +11:00
priseborough
a2bd3b4a42
AP_NavEKF: Add public method returning height above ground level
2014-12-06 18:16:51 +11:00
priseborough
d701cfcb75
AP_NavEKF: Output terrain relative PosD when relying on Optical Flow
2014-12-06 18:16:51 +11:00
priseborough
0156d846f1
AP_NavEKF: Increase height at which nav gain reduction starts
...
Compensates for optical flow induced noise increase with height.
2014-12-06 18:16:51 +11:00
priseborough
12ea1d6e85
AC_AttitudeControl: Scale angle demand noise filter
...
Scales filter frequency using EKF nav gain scaler to take advantage of the reduced nav frequency whichcan tolerate a slower angle response.
This is required to reduce the effect of EKF optical flow noise increase with height.
2014-12-06 18:16:51 +11:00
priseborough
a905432ffe
AP_NavEKF: reduce height at which nav gain reduction starts
2014-12-06 18:16:51 +11:00
priseborough
5785272933
AP_NavEKF: Improve robustness to corrupted flow sensor data
2014-12-06 18:16:51 +11:00
priseborough
b1d44d4dde
AP_NavEKF: Add protection for negative height above ground
2014-12-06 18:16:50 +11:00
priseborough
e80b1c67cd
AC_AttitudeControl: Add EKF optical flow noise gain scaler
...
Allows gains to be adjusted to compensate for optical flow noise
2014-12-06 18:16:50 +11:00
priseborough
11fb51ceba
AC_WPNav: Add nav velocity gain scaler to interfaces
...
Allows gains to be adjusted to compensate for optical flow noise
2014-12-06 18:16:50 +11:00
priseborough
5b8265ad6f
AP_AHRS: Expand EKF speed limit public method to handle control limits
2014-12-06 18:16:50 +11:00
priseborough
d994da0886
AP_NavEKF: Expand EKF speed limit public method to handle control limits
2014-12-06 18:16:50 +11:00
priseborough
5fa0c59310
AC_WPNav: Add EKF ground speed limit to loiter speed control
...
This is required to prevent the speed controller saturating the optical flow sensor during low altitude flying.
2014-12-06 18:16:50 +11:00
priseborough
83775554ea
AP_AHRS: Publish EKF ground speed limit
2014-12-06 18:16:50 +11:00
priseborough
bc2255d6b1
AP_NavEKF: Improve comments in setInhibitGPS public method
2014-12-06 18:16:50 +11:00
priseborough
416eaf4633
AP_NavEKF: Apply single definition of using optical flow
2014-12-06 18:16:50 +11:00
priseborough
b56b68ce10
AP_NavEKF: Add public method reporting horizontal speed limit
...
This is required if using optical flow, as depending on height, the speed must be limited to prevent the sensor saturating
2014-12-06 18:16:50 +11:00
priseborough
c8fb376cc4
AP_NavEKF: Fix bug in bias rate of change limiting
...
This doesn't change the behaviour, but means the result is achieved using the correct parameters, and comments are consistent
2014-12-06 18:16:50 +11:00
priseborough
599e53f3f2
AP_NavEKF: Prevent flow scale factor updating on ground
2014-12-06 18:16:49 +11:00
priseborough
083e22966c
AP_NavEKF: Add public method to report available output data
2014-12-06 18:16:49 +11:00
priseborough
5532750a99
AP_AHRS: Add public method to inhibit GPS useage when using EKF
...
This provides the calling vehicle software the abiity to request the EKF to not use GPS.
An integer is returned that indicates the type of operation available:
0 = request rejected (request will only be accepted if the EKF is in static mode, eg pre-armed)
1 = request accepted, attitude, vertical velocity and position estimates available
2 = request accepted, attitude, height rate, height, horizontal velocity and relative position estimates available
2014-12-06 18:16:49 +11:00
priseborough
e53d28854e
AP_NavEKF: Add public method to inhibit GPS use and clean-up GPS use logic
...
This provides the calling vehicle software the abiity to request the EKF to not use GPS.
An integer is returned that indicates the type of operation available:
0 = request rejected (request will only be accepted if the EKF is in static mode, eg pre-armed)
1 = request accepted, attitude, vertical velocity and position estimates available
2 = request accepted, attitude, height rate, height, horizontal velocity and relative position estimates available
2014-12-06 18:16:49 +11:00
priseborough
8fb1d9cf8d
AP_NavEKF: Fix bug preventing opt flow scale factor estimation
...
Also removes un-used variable declarations
2014-12-06 18:16:49 +11:00
priseborough
a78920761c
AP_NavEKF: Update comments in flow data interface
2014-12-06 18:16:49 +11:00
priseborough
063fb41748
AP_OpticalFlow: Add separate scale factors for X and Y axis.
...
The resolution is also increased to take advantage of the planned introduction of automated calibration methods
2014-12-06 18:16:49 +11:00
priseborough
52c7e56a4a
AP_NavEKF: Add parameter for max valid optical flow rate magnitude
2014-12-06 18:16:49 +11:00
priseborough
6f8971d80a
AP_NavEKF: Speed up flow sensor gyro bias correction
2014-12-06 18:16:49 +11:00
priseborough
d7ad45ebda
AP_NavEKF: Don't fuse flow measurements if too big
2014-12-06 18:16:49 +11:00
priseborough
2dff76394d
AC_PosControl: Add spike and noise filter to demanded angles
...
This has been done to provide a smooth psotion hold when using an optical flow aided EKF which can be noisy.
Signed-off-by: priseborough <p_riseborough@live.com.au>
2014-12-06 18:16:49 +11:00
priseborough
84944fdd4e
AP_NAvEKF: Revert back to 10Hz fusion
2014-12-06 18:16:49 +11:00
priseborough
f4f0dfc45c
AP_OpticalFlow: efficiency improvements to data processing
2014-12-06 18:16:49 +11:00
priseborough
1f78a73cdb
AP_NavEKF: Make flow measurement delay vehicle specific
...
This takes into account the inter-sampling delay between the flow driver and the APM software which depends on the rate at which the dirver is being checked. This is 50Hz for plane and rover, and 200Hz for Copter.
2014-12-06 18:16:49 +11:00
priseborough
5f941655a8
AP_NavEKF: changes to support to 20Hz flow fusion rate
2014-12-06 18:16:48 +11:00
priseborough
0bf991eef9
AP_NavEKF: Fix bug in optical flow fusion smoothing
2014-12-06 18:16:48 +11:00
priseborough
7d27a22f77
DataFlash : Fix EKF optical flow logging bug
2014-12-06 18:16:48 +11:00
priseborough
7ec8dfebcf
AP_OpticalFlow : Remove gyro scale factor user adjustable parameter
...
No longer required because bug in flow sensor has been fixed.
2014-12-06 18:16:48 +11:00
priseborough
2baa1e56ed
Dataflash : Fix bug in EKF opt flow logging
2014-12-06 18:16:48 +11:00
priseborough
df59f3311a
AP_OpticalFlow : Add gyro scale factor correction parameter
2014-12-06 18:16:48 +11:00
priseborough
eec49ce1dd
AP_OpticalFlow : Add parameter for flow rate scale factor correction
2014-12-06 18:16:48 +11:00
priseborough
839b814d12
AP_NavEKF : Inhibit flow and range fusion in static mode
2014-12-06 18:16:47 +11:00
priseborough
9b9934ac06
AP_NavEKF : fix velocity timeout bug during optical flow operation
2014-12-06 18:16:47 +11:00
priseborough
cc8e6dbfad
DataFlash : Add EKF additional fault and timeout logging
2014-12-06 18:16:47 +11:00
priseborough
517026980b
AP_NavEKF : Add fault and timeout logging
2014-12-06 18:16:47 +11:00
priseborough
f640ec30ff
AP_NavEKF : Reset held velocity on arming
...
This held velocity is used to constrain the drift in the optical flow solution before the vehicle is high enough for the optical flow sensor to work.
2014-12-06 18:16:47 +11:00
priseborough
4616721b0d
DataFlash : Update EKF debug logging
2014-12-06 18:16:47 +11:00
priseborough
06c19a3a4d
AP_NavEKF : Update optical flow debug logging
2014-12-06 18:16:47 +11:00
priseborough
1791dec622
AP_NavEKF : Fix velocity hold mode
2014-12-06 18:16:47 +11:00
priseborough
84421e0a35
AP_NavEKF : Adjust initial flow scale factor and limits
2014-12-06 18:16:47 +11:00
priseborough
573633daf7
AP_NavEKF : Fix incorrect use of flow sensor time-stamp
...
flow sensor time stamp is now issued by the flow sensor and is on a different time-base
2014-12-06 18:16:47 +11:00
priseborough
92e9336fe1
AP_OpticalFlow : prevent divide by zero
2014-12-06 18:16:47 +11:00
priseborough
9ea97c1a38
AP_NavEKF : Modify optical flow data interface
...
Sign conventions have changed
2014-12-06 18:16:46 +11:00
priseborough
8faeb190de
AP_NavEKF : Rework logic to cope with bad flow data
2014-12-06 18:16:46 +11:00
priseborough
44e1695d5a
AP_AHRS : Enable EKF start without GPS
2014-12-06 18:16:46 +11:00
priseborough
41f0231cfb
AP_NavEKF : improve logic dealing with lack of flow or range data
2014-12-06 18:16:46 +11:00
priseborough
9ba46ad795
AP_NavEKF : Improve handling of flow sensor failure
2014-12-06 18:16:46 +11:00
priseborough
2ee1c549be
AP_NavEKF : improve criteria used to inhibit scale factor estimation
2014-12-06 18:16:46 +11:00
priseborough
e09ff84218
AP_NavEKF : Don't estimate focal length scale factor without reliable velocity
2014-12-06 18:16:46 +11:00
priseborough
4c92a5f23f
AP_NavEKF : Use GPS velocity if PX4Flow sensor fails
2014-12-06 18:16:46 +11:00
priseborough
283811edcb
AP_NavEKF : stop velocity change when flow measurements drop out
2014-12-06 18:16:46 +11:00
priseborough
9132fcfe43
AP_NavEKF : Change mag fusion to use corrected compass values
...
This enables compass units to be switched in-flight
2014-12-06 18:16:46 +11:00
priseborough
c3be486c29
AP_NavEKF : Enable inhibiting of GPS measurements
2014-12-06 18:16:45 +11:00
priseborough
79698f7742
AP_NavEKF : improvements to range finder fusion
2014-12-06 18:16:45 +11:00
priseborough
1222559da0
AP_NavEKF : Fix bug affecting sonar fusion
2014-12-06 18:16:45 +11:00
priseborough
117bd2a998
AP_NavEKF : Add time based noise to terrain offset state
2014-12-06 18:16:45 +11:00
priseborough
b1d3d5d9a3
AP_NavEKF : Don't update focal length scale factor at low speeds
2014-12-06 18:16:45 +11:00
priseborough
8dd1081f54
AP_NavEKF : Add range measurement to EKF debug message
2014-12-06 18:16:45 +11:00
priseborough
f358d5e20f
DataFlash : Add range measurement to EKF debug message
2014-12-06 18:16:45 +11:00
priseborough
744c72d40b
AP_NavEKF : Updates to range finder fusion
2014-12-06 18:16:45 +11:00
priseborough
a07e402ebf
DataFlash : Update names in EKF optical flow logging
2014-12-06 18:16:45 +11:00
priseborough
a20729f60f
AP_NavEKF : Update names in optical flow debug logging
2014-12-06 18:16:45 +11:00
priseborough
235b3bebda
AP_NavEKF : Add range finder health and enable range finder fusion
...
The 2-state auxiliary filter is also renamed.
2014-12-06 18:16:45 +11:00
priseborough
a4984a1e76
AP_AHRS : Add range finder health status to EKF optical flow data
2014-12-06 18:16:44 +11:00
priseborough
988de2a898
AP_NavEKF : Add smoothing to optical flow fusion
2014-12-06 18:16:44 +11:00
priseborough
70c779dbc2
AP_NavEKF : Optical flow numerical optimisations
2014-12-06 18:16:44 +11:00