Commit Graph

12297 Commits

Author SHA1 Message Date
Andrew Tridgell 94d528e548 Plane: changed baudrate parameters to 16 bit 2014-05-21 12:45:25 +10:00
Andrew Tridgell 63da53c842 GCS_MAVLink: moved main update() routine into GCS_Common.cpp
this fixes a common timeout error with loading large missions, and
means less per-vehicle code
2014-05-21 12:45:25 +10:00
Andrew Tridgell 42c1501563 AP_Common: moved map_baudrate() into AP_Common
this version supports a much wider range of baudrates
2014-05-21 12:45:25 +10:00
Andrew Tridgell 7d712f90bf APM_OBC: adjusted docs for FS_HB_PIN
thanks to Warren for the question
2014-05-21 12:45:25 +10:00
Randy Mackay 69ad632e2a GPS: correct NAVFILTER parameter description
These corrected values match the GPS_Engine_Setting enum in GPS.h
Thanks to Adolfo R for noticing the issue and providing the fix
2014-05-20 22:08:40 +09:00
Craig Elder 972a2403ed Frame_params: Added Iris with Front Mount Go Pro 2014-05-19 16:47:41 -07:00
Andrew Tridgell 2a230b2703 Plane: set version to 3.0.4beta 2014-05-19 22:03:18 +10:00
Andrew Tridgell a7d6a26bec HAL_PX4: fixed auto-flow control
the 6 bytes written to break the radio out of bootloader broke
auto flowcontrol detection
2014-05-19 22:02:39 +10:00
Randy Mackay d5a0ca4f3c Copter: integrate init_loiter_target name change 2014-05-19 12:27:29 +09:00
Randy Mackay 597d5227f5 AC_WPNav: rename set_loiter_target to init_loiter_target 2014-05-19 12:27:25 +09:00
Randy Mackay 63135a044f Copter: remove setting Z-axis target in Hybrid
This workaround is no longer required because AC_WPNav's
set_loiter_target call no longer sets the position controller's z-axis
target
2014-05-19 12:27:23 +09:00
Randy Mackay e7b3c00767 AC_WPNav: set_loiter_target uses set_xy_target
Loiter is only a horizontal position controller so it should not set the
z-axis position.
Moved pos_control.set_speed and accel functions so order matches
init_loiter_targets function order
2014-05-19 12:27:20 +09:00
Ju1ien aed5787c1b AC_WPNav: bug fix for loiter init in Hybrid
AC_PosControl::init_xy_controller() has been added to PosControl and is
called by init_loiter_target.
Hybrid is currently using set_loiter_target function to init the loiter
controller. So we have to call init_xy_controller() by set_loiter_target
function.
What happens otherwise?
In AC_PosControl::update_xy_controller, we update "now" with
now = hal.scheduler->millis();
and, as _last_update_xy_ms has not been updated previously by
init_xy_controller(), we just call init_xy_controller().
So, _dt_xy  will be negative and used anyways in all the functions and
PID called by update_xy_controller.
That will avoid at least _accel_target.x/y to be set to 0 but I'm not
sure for the high values, probably an I_term that is not reset and
reached very high value.
Or maybe a cast error somewhere... no clue at all
2014-05-19 12:27:16 +09:00
Andrew Tridgell 8c5226a17a Plane: prepare for release of 3.0.3 2014-05-19 09:54:15 +10:00
Andrew Tridgell fc0d703b9b Rover: much simpler SPEED_TURN_GAIN implementation
as soon as we hit the SPEED_TURN_DIST we lower target speed to the
specified gain
2014-05-18 21:15:07 +10:00
Andrew Tridgell 69b5f352f6 Plane: prevent a bad glide slope when first entering auto
we need to ensure that prev_WP_loc is not used as it could be
completely different from current_loc. As a precuation, this also sets
up next_WP_loc so that when the set_next_WP() is first called that
prev_WP_loc is set to current_loc
2014-05-18 16:14:11 +10:00
priseborough 5fe0d2c1b2 AP_NavEKF: Add protection for accel bias estimation errors
Don't do bias estimation if tilted by more than 60 degrees to prevent scale
factor errors affecting result unnecessarily.
Prevent Kalman gain from having the wrong sign due to numerical errors
associated with small process noise values.
Allow smaller Z accel bias process noise values to be set
2014-05-18 08:09:00 +10:00
priseborough 3222e8f7cb AP_NavEKF: Default parameter adjustments
Bring Plane glitch protection thresholds into alignment with copter and
rover
Slight increase in accelerometer bias process noise to prevent bias
estimate divergence into limits (Rover and Plane only as Copter does not
seem respond as well to this change)
effective increase in threshold on divergence test to allow increased
margin for bad GPS velocities
2014-05-18 08:08:49 +10:00
Andrew Tridgell 65fd25fb5a AP_InertialSensor: fixed example build 2014-05-18 08:08:19 +10:00
Arthur Benemann e1b7e53c04 Copter: only acceept Guided waypoints in Guided mode
Fix #1068. When receiving guided waypoints do not change to GUIDED mode. This serves as a safety precaution for GCS, since they must switch to guided mode before sending the waypoints.
2014-05-17 12:02:53 +09:00
Andrew Tridgell b99ae63cbb HAL_Linux: more generic fix for scheduler issues in example sketches
this ensures drivers can run
2014-05-16 22:40:38 +10:00
Andrew Tridgell 30f5e2c37f AP_GPS: work around scheduling issue in example code 2014-05-16 22:35:32 +10:00
priseborough e40e50e2e1 AP_NavEKF: Prevent start-up transients re-tripping divergence test 2014-05-16 22:05:22 +10:00
Andrew Tridgell 73976e2ca4 AP_GPS: fixed example build 2014-05-16 22:05:04 +10:00
Andrew Tridgell 8533aecf18 AP_InertialSensor: fixed example build 2014-05-16 21:24:25 +10:00
priseborough a19015ed61 AP_NavEKF: Scale divergence check with covariance
This provides consistent behaviour for a range of gyro bias process
noise settings and automatically adjusts sensitivity as filter learns bias
2014-05-16 21:24:25 +10:00
priseborough 0337d44b2e AP_NavEKF: Fix bug causing immediate clearing of diverged status on reset 2014-05-16 21:24:04 +10:00
priseborough d150904dc6 AP_NavEKF: Increase gyro bias process noise
This is required to stop the bias estimate from becoming too static
towards the end of longer flights.
2014-05-16 21:24:04 +10:00
Randy Mackay 481a55867e Copter: only send sonar distance to GCS when sonar enabled 2014-05-16 14:46:56 +09:00
Ben Nizette 8c7b4feac1 Copter: send sonar distance to GCS via MAVLink
At the moment, the copter sonar set up does not have access to the
raw sonar readings so this code sets the voltage field to zero.
2014-05-16 14:46:11 +09:00
Andrew Tridgell 9e7e2eb106 AntennaTracker: use setup_uart() 2014-05-16 11:46:10 +10:00
Andrew Tridgell 35e87fa2ea Rover: use setup_uart() 2014-05-16 11:45:20 +10:00
Andrew Tridgell 836b365bc8 Copter: use setup_uart() 2014-05-16 11:45:11 +10:00
Andrew Tridgell bd09d8551d Plane: use setup_uart() 2014-05-16 11:44:53 +10:00
Andrew Tridgell 49e7ee9ba7 GCS_MAVLink: added setup_uart() method
this provides a common way of dealing with UART setup for a GCS
instance. It includes code to cope with SiK radios stuck in bootloader
mode.
2014-05-16 11:44:33 +10:00
Andrew Tridgell 3a73878ca7 Plane: mark 3.0.3beta 2014-05-15 22:59:02 +10:00
Andrew Tridgell b3c1e515dc AP_AHRS: when no accel info available in buffer use current value
this prevents an initialisation error, and is reasonable in flight too

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 22:19:54 +10:00
Andrew Tridgell 315290029a AP_AHRS: fixed check of accel sensor health
we need to check health of each accelerometer separately
2014-05-15 22:18:56 +10:00
Andrew Tridgell 5edf4ba596 AP_NavEKF: fixed up handling of bitfields in faultStatus
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-05-15 21:42:39 +10:00
Andrew Tridgell 182d0f9cb0 Plane: added reporting of AHRS health 2014-05-15 21:14:22 +10:00
Andrew Tridgell 427a638296 Copter: added reporting of AHRS health 2014-05-15 21:14:21 +10:00
Andrew Tridgell 482933acd7 Rover: added reporting of AHRS health 2014-05-15 21:14:21 +10:00
Andrew Tridgell 79edc4b467 GCS_MAVLink: re-generate with addition of MAV_SYS_STATUS_AHRS 2014-05-15 21:14:21 +10:00
Andrew Tridgell ccebeba5a5 GCS_MAVLink: added MAV_SYS_STATUS_AHRS
will be used to indicate AHRS health
2014-05-15 21:14:21 +10:00
priseborough deb16ac5bb Replay: Add EKF fault status logging message to EKF4 2014-05-15 21:14:21 +10:00
priseborough f01cc78d37 DataFlash: Add EKF fault status logging 2014-05-15 21:14:21 +10:00
priseborough ce8e1daa16 AP_NavEKF: Improved divergence detection and reset
Divergence is now detected by looking for very large changes in the gyro
bias. This will cause the filter to be reset and declared unhealthy for
10 seconds.

Don't reset filterDiverged status immediately during reset

Set filterDiverged true if covariance blows up

Add fault status reporting
2014-05-15 21:14:21 +10:00
Andrew Tridgell 5d2d6e0063 GCS_MAVLink: regenerated MAVLink headers 2014-05-15 21:14:21 +10:00
Andrew Tridgell 983ac9cbf4 GCS_MAVLink: merge in latest upstream XML changes 2014-05-15 21:14:21 +10:00
Andrew Tridgell 1a05c27bbb AP_AHRS: added healthy() function
this will be used to report when the AHRS subsystem becomes unhealthy
2014-05-15 21:14:21 +10:00