Commit Graph

13246 Commits

Author SHA1 Message Date
murata
c2521dd650 AP_Proximity: Change sprintf method to secure snprintf method. 2017-01-07 02:33:46 +00:00
Tom Pittenger
a81f5cefbe AP_Mission: don't wrap when masking via HIGH/LOWBYTE 2017-01-06 17:35:44 -08:00
Eugene Shamaev
dc3d10a28b AP_Mission: waypoint command parsing 2017-01-06 17:35:44 -08:00
Dr.-Ing. Amilcar Do Carmo Lucas
9aaeb6fe1a AP_GPS: Add missing GPS Types 2017-01-06 21:24:42 +00:00
murata
908d9a8a8c AP_ADSB: Change sprintf method to secure snprintf method. 2017-01-06 10:59:12 -08:00
Dr.-Ing. Amilcar Do Carmo Lucas
d408d25f92 More spelling stuff 2017-01-06 10:57:39 -08:00
Dr.-Ing. Amilcar Do Carmo Lucas
8419045aea Spell in comments 2017-01-06 10:57:39 -08:00
Nacho Carnicero
bc9facf608 AP_Mount: Fix Alexmos gimbal Mavlink targeting mode 2017-01-05 02:16:32 +00:00
Randy Mackay
946d30476a AP_InertialSensor: fix whoami for MPU6k 2017-01-05 10:29:51 +09:00
Victor Lambret
a4108251e3 AP_Baro: fix get_last_update(instance)
The method was not using the instance parameter. Instead it always use
primary barometer. Bug was not detected because method
get_last_update() is used where instance is _primary.

Detected with warnings, warnings are useful :-)
2017-01-04 17:32:24 +00:00
Peter Barker
889ec829fc AP_OpticalFlow: fix warning in SITL compilation 2017-01-02 15:58:32 +09:00
Tom Pittenger
063f517424 Plane, TECS, AP_Landing: rename stage LAND_ABORT to ABORT_LAND
this will reduce confusion when searching for FLIGHT_LAND_* and you get a bunch of takeoff related hits. It will also make more sense when the landing library fully manages the FLIGHT_LAND stage entirely because it will not mange FLIGHT_LAND_ABORT
2016-12-30 23:50:03 -08:00
Tom Pittenger
84e11fd899 Plane, AP_TECS: do not pass auto_land flag to TECS, it already knows it 2016-12-30 23:50:03 -08:00
Tom Pittenger
502768c979 AP_Landing: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
Tom Pittenger
8019cedf5b AP_Vehicle,AP_SpdHgtControl,AP_TECS: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:02 -08:00
Andrew Tridgell
0d6801fbe6 AP_Param: added find_old_parameter() method
allows for custom conversion of parameters
2016-12-31 10:55:59 +09:00
Randy Mackay
bdfb12123f AP_Motors: fix frame-type enum for Y6B
Also remove unused NEW_PLUS
2016-12-31 10:55:23 +09:00
Randy Mackay
037e411e35 AP_Motors: fix example sketch
Also minor formatting fix
Thanks to OXINARF for spotting this
2016-12-31 10:55:23 +09:00
Randy Mackay
ffa6d1a5b9 AP_Motors: init fixes for frame_class, type and initialised_ok
Thanks to OXINARF for spotting these
2016-12-31 10:55:23 +09:00
Randy Mackay
a276f5dc90 AP_Motors: fix example sketch 2016-12-31 10:55:23 +09:00
Randy Mackay
7be0f437a9 AP_Motors: consolidate matrix multicopters
AP_MOTORS_x_FRAME definitions moved to motor_frame_type enum
init function and now accepts frame-class and type to perform initial motor setup
set_frame_class_and_type allows real-time changing of motor setup
initialised_ok flag and accessor records whether setup was successful
2016-12-31 10:55:23 +09:00
Randy Mackay
41189758b8 AP_Motors: move some functions to protected
Also minor formatting fix
2016-12-31 10:55:23 +09:00
murata
13ad06e652 AP_Notify: Change on / off of LED to ternary operator. 2016-12-30 15:02:16 -08:00
Andrew Tridgell
7a5ee29b6e AP_AHRS: fixed a build warning 2016-12-31 08:53:16 +11:00
Andrew Tridgell
ad518f0cc7 AP_AHRS: fixed EKF type 10 EKF nav scaler return 2016-12-29 18:43:32 +11:00
Shingo Matsuura
21ca1d3835 AP_Beacon: fixed comment. NE is correct. 2016-12-28 10:54:32 +09:00
Andrew Tridgell
f6cc506791 APM_Control: Added derating of steering wheel 2016-12-27 13:33:52 +11:00
Randy Mackay
e497dedf35 AP_Proximity: add MAV type
This accepts DISTANCE_SENSOR messages from eight sectors around the vehicle
2016-12-27 08:37:48 +09:00
Randy Mackay
8215b92371 AP_RangeFinder: MAV only accepts DISTANCE_SENSOR with orient 25
25 is  MAV_SENSOR_ROTATION_PITCH_270 meaning downward facing
2016-12-27 08:37:48 +09:00
murata
653030b038 AP_NavEKF2: Changed if statements to switch statement.
AP_NavEKF2: Change indentation.
2016-12-26 10:15:55 +09:00
Randy Mackay
a2f6d7c102 AP_HAL: minor comment fix to Device.h 2016-12-24 13:55:31 +09:00
Randy Mackay
2076da3a72 AP_Proximity: minor comment fix
No functional change
2016-12-24 13:55:28 +09:00
murata
d56bad781f AP_InertialSensor: change if statements to switch statement
No functional change
2016-12-24 12:23:59 +09:00
murata
398b7b83dd AP_InertialSensor: minor formatting fixes
No functional change
2016-12-24 12:23:58 +09:00
murata
6045612011 AP_Beacon: combine duplicate checks into device_ready method 2016-12-24 12:11:53 +09:00
Peter Barker
6fd771afc9 AP_Mission: starts_with_takeoff uses get_next_nav_cmd 2016-12-24 11:49:35 +09:00
Peter Barker
b4d1d0f918 AP_Gripper: servo gripper not valid unless aux channel assigned 2016-12-24 11:31:58 +09:00
murata
4c320373eb AP_AHRS: Change indentation.
AP_AHRS: Delete inserted message "no break"
2016-12-24 11:30:37 +09:00
Andrew Tridgell
bbccdce229 AP_Terrain: prevent use of invalid Location
loc is not initialised and can cause a fault on startup
2016-12-22 15:50:30 +11:00
priseborough
71eb46dd04 AP_NavEKF3: Fix bug in loss of aiding fallback
Fixes a bug introduced by the introduction of range beacon fusion to the fallback test.
2016-12-21 18:08:39 +11:00
priseborough
6dc7d25fde AP_NavEKF2: Fix bug in loss of aiding fallback
Fixes a bug introduced by the introduction of range beacon fusion to the fallback test.
2016-12-21 18:08:39 +11:00
murata
fd153f2861 AP_GPS: Change search method of GPS type to switch statement.
AP_GPS: Correct the tab code to white space.
2016-12-21 10:31:43 +09:00
Andrew Tridgell
22fd2025de AP_AHRS: fixed EKF type 10 2016-12-21 10:52:12 +11:00
Tom Pittenger
372837b959 Update AP_ADSB.cpp
AP_ADSB: fixed GPS.alt reporting  cm to mm conversion bug

Issue 5424
2016-12-20 15:57:52 +01:00
murata
753638851e AP_Baro: Changed if statements to switch statement. 2016-12-20 14:13:47 +00:00
Pierre Kancir
47f1a754c5 AP_Math: add some test for vector2 equality test 2016-12-20 14:09:04 +00:00
Pierre Kancir
eae093cd2a AP_Math: add test for is_equal for int 2016-12-20 14:09:04 +00:00
Pierre Kancir
da49149d19 AP_Math: is_equal correct comparison for integer as epsilon doesn't exist.
Credit to Kwikius for the right solution
2016-12-20 14:09:04 +00:00
Randy Mackay
e7f2c9870a AC_Avoid: add accessor for proximity enabled 2016-12-20 19:48:07 +09:00
Randy Mackay
b114d3928e AC_Avoid: fix distance to lean angle logic
Fixes from PR review including
(a) make some local variables const
(b) rename angle_max to veh_angle_max
(c) fix distance_to_lean_pct logic so distance of zero returns maximum lean angle
2016-12-20 19:48:04 +09:00
Randy Mackay
1b582b2009 AC_Avoid: avoidance for non-GPS flight modes 2016-12-20 19:47:58 +09:00
Randy Mackay
fbbd13db75 AP_Proximity: add get_object methods for use with non-GPS avoidance 2016-12-20 19:47:56 +09:00
Peter Barker
802206baed AP_AHRS: remove use of uninitialised value 2016-12-19 19:51:16 -08:00
Lucas De Marchi
9569ed94a9 AP_InertialSensor: Invensense: use capital letters for define 2016-12-20 09:23:30 +09:00
Jonathan Challinger
86406199a9 AC_PrecLand: reserve parameter indices 2016-12-20 09:21:51 +09:00
murata
a2649949df AP_Compass: Changed if statements to switch statement. 2016-12-19 22:28:34 +00:00
Pierre Kancir
bf135aeff7 SITL: Aircraft correct some syntax, implicit cast, make some local variable const, remove tabs and whitespace 2016-12-19 14:53:17 +00:00
Pierre Kancir
ce734b5f7b AP_Math: Remove unecessary check 2016-12-19 14:36:03 +00:00
Randy Mackay
3ed9eb98f3 SITL: minor comment fix for SIM_Multicopter 2016-12-19 17:01:04 +09:00
Randy Mackay
5d0be2de9f AP_Gripper: minor comment fix 2016-12-19 17:01:01 +09:00
priseborough
f1c05ee320 AP_NavEKF3: Allow accel switch on bias uncertainty to be adjusted 2016-12-19 08:07:15 +11:00
Andrew Tridgell
a30745903a AP_InertialSensor: use ACC2_BIAS 2016-12-19 08:07:15 +11:00
Andrew Tridgell
65c3d0e060 SITL: added ACC2_BIAS 2016-12-19 08:07:14 +11:00
priseborough
7d4a50f483 AP_NavEKF3: Prevent unwanted core switch on startup
Require primary core to be healthy for 10 seconds before starting selection logic
2016-12-19 08:07:14 +11:00
priseborough
cd6fd0ea45 AP_NavEKF3: Improvements to range finder selection logic
Enables the horizontal speed at which we switch from range finder to alternate to be adjusted.
Does not switch from range finder to alternate based on speed when speed estimate is invalid.
2016-12-19 08:07:14 +11:00
Andrew Tridgell
0e14992b34 DataFlash: hide direct EK2/EK3 logging
should call Log_Write_EKF and let it choose the types
2016-12-19 08:07:14 +11:00
Andrew Tridgell
0870e02584 AP_AHRS: fixed example build 2016-12-19 08:07:13 +11:00
Andrew Tridgell
29bc07f410 AP_HAL: setup for building ucavcan on FMUv3 but not FMUv2
save a lot of flash space on FMUv2
2016-12-19 08:07:12 +11:00
Andrew Tridgell
67b97b21db AP_BoardConfig: switched to always using in-tree sensors 2016-12-19 08:07:12 +11:00
Andrew Tridgell
bd0a0510ed AP_HAL: define FMUv3 2016-12-19 08:07:11 +11:00
priseborough
60ebe97e10 AP_InertialSensor: remove unused EKF1 include 2016-12-19 08:07:11 +11:00
priseborough
509709ce9d AP_Motors: remove unused EKF1 include 2016-12-19 08:07:11 +11:00
priseborough
453ced4a38 AP_GPS: remove unused EKF1 include 2016-12-19 08:07:11 +11:00
priseborough
bb29c74e52 AP_NavEKF: remove EKF1 2016-12-19 08:07:11 +11:00
priseborough
809bfc1154 GCS_MAVLink: replace call to EKF1
Return hagl from primary EKF
2016-12-19 08:07:11 +11:00
priseborough
f70cc3cf34 AP_InertialNav: remove EKF1 2016-12-19 08:07:10 +11:00
priseborough
6d086e0c31 AP_Mount: remove EKF1 2016-12-19 08:07:10 +11:00
priseborough
78f89e0663 AP_Beacon: Update parameters for EKF3 testing 2016-12-19 08:07:10 +11:00
priseborough
33a7c682a3 AP_AHRS: Add EKF3 and remove EKF1 2016-12-19 08:07:10 +11:00
Andrew Tridgell
b00ec26957 DataFlash: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Andrew Tridgell
75688c8342 AP_OpticalFlow: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
priseborough
7202acc1b5 AP_NavEKF3: Default EKF3 to off
Will revert this and set EKF2 to off by default after testing is completed on all platform types
2016-12-19 08:07:09 +11:00
priseborough
39969e7d8e AP_NavEKF3: added EKF3 for EKF experimentation
AP_NavEKF3: Implement same maths as PX4/ecl EKF

Replace attitude vector states with quaternions
Remove gyro scale factor states
Add XY accel delta velocity bias estimation
Initial tuning
Add GPS body frame offset compensation

AP_NavEKF3: Fix bugs and consolidate aiding switch logic

Switching in and out of aiding modes was being performed in more than one place and was using two variables.
The reversion out of GPS mode due to prolonged loss of GPS was not working.
This consolidates the logic and ensures that PV_AidingMode is only changed by the setAidingMode function.

AP_NavEKF3: prevent multiple fusion mode changes per filter update

AP_NavEKF3: Update tuning defaults

AP_NavEKF3: Fix bug causing switching in and out of aiding
If the GPS receiver was disconnected and no data received, then then the gpsGoodToAlign check did not get a chance to run and becasue it was previously true the EKF would switch back into aiding.
This prevents this by ensuring that gpsGoodToAlign defaults to false when the check is not being performed.
An additional check has also been dded to ensure that there is GPS data to fuse before we declare ready to use GPS.

AP_NavEKF3: Fix bug preventing planes recovering from bad magnetometers
This bug created a race condition whereby if the EKF had to reset the yaw to the GPS ground course to recover from a bad magnetometer, the new heading could be over-written by the bad magnetic heading when the plane reached the height for the scheduled reset.

AP_NavEKF3: Improve switch-over to backup magnetometer
When switching over to a back up magnetometer, ensure that the earth field estimate are reset. Otherwise mag earth field estimates due to the previous failed mag could cause data from the new mag to be rejected.

AP_NavEKF3: enable automatic use of range finder height

AP_NavEKF3: Fix bug in handling of invalid range data

AP_NavEKF3: Fix height drift on ground using range finder without GPSAP_NavEKF3:

AP_NavEKF3: Handle yaw jumps due to core switches

AP_NavEKF3: Enable simultaneous GPS and optical flow use

AP_NavEKF3: fix console status reporting

AP_NavEKF3: send messages to mavlink instead of console

This allows the GCS to better handle the display of messages to the user.

AP_NavEKF3: replace deprecated function call

AP_NavEKF3: Compensate for sensor body frame offsets

AP_NavEKF3: Fix bug in median filter code

AP_NavEKF3: save some memory in the position offsets in EKF3

We don't need to copy that vector3f for every sample. A uint8_t does the job

AP_NavEKF3: Add fusion of range beacon data

AP_NavEKF3: Bring up to date with EKF2

AP_NavEKF3: Misc range beacon updates

AP_NavEKF3: Add mising accessors

AP_NavEKF3: remove duplicate include

AP_NavEKF3: Prevent NaN's when accessing range beacon debug data

AP_NavEKF3: Update range beacon naming

AP_NavEKF3: updates

AP_NavEKF3: miscellaneous changes

AP_NavEKF3: misc updates

AP_NavEKF3: misc range beacons updates

AP_NavEKF3: add missing rover default param
2016-12-19 08:06:47 +11:00
Andrew Tridgell
ab05472e0e AP_AHRS: added EKF3 for EKF experimentation
Conflicts:
	libraries/AP_AHRS/AP_AHRS_NavEKF.cpp
2016-12-18 10:28:04 +11:00
priseborough
fd8916ef38 DataFlash: fix Baro 3 labels 2016-12-18 10:28:04 +11:00
priseborough
cd669738a5 AP_Beacon: fix SITL param error 2016-12-18 10:28:04 +11:00
priseborough
fe69d9a0ea AP_NavEKF2: remove duplicate include 2016-12-18 10:28:04 +11:00
priseborough
a8f3a374e2 AP_NavEKF2: replace sqrt function calls with sqrtf
Prevents compiler errors and un-wanted use of double precision types
2016-12-18 10:28:04 +11:00
Lucas De Marchi
b0ddf81687 Remove stdbool.h include for C++ sources
This header is not needed in our C++ sources.
2016-12-16 11:38:52 -08:00
Andrew Tridgell
790d186c6c AP_Compass: switched to unified Invensese driver for AK8963 2016-12-16 12:31:34 +11:00
Andrew Tridgell
65b9b86099 AP_InertialSensor: unify MPU6000 and MPU9250 drivers
make a single AP_InertialSensor_Invensense driver. This avoids a lot
of duplication and will save time as new varients are added
2016-12-16 12:31:34 +11:00
murata
0f486aeecb AC_Fence: shorten calculation of return value 2016-12-15 10:42:48 +09:00
Tom Pittenger
3e2098192b AP_Landing: add is_complete() accessor 2016-12-14 04:32:30 -08:00
Tom Pittenger
f09007cbe9 AP_Landing: use a common reset for uniform landing wipe 2016-12-14 04:32:30 -08:00
Tom Pittenger
7daf1a87be AP_Landing: non-functional change - re-organizing header declarations 2016-12-14 04:32:30 -08:00
Tom Pittenger
e061e1734c AP_Landing: abstract land abort request method 2016-12-14 04:32:30 -08:00
Randy Mackay
d41467424b DataFlash: fix to suppressing comment for case fall through
no functional change
eclipse stops complaining if no-break is used in place of fall-through
2016-12-14 13:25:15 +09:00
Randy Mackay
0dd7e78c2b RangeFinder: fix to suppressing comment for case fall through
no functional change
eclipse stops complaining if no-break is used in place of fall-through
2016-12-14 13:22:31 +09:00
Randy Mackay
2da7ea746b MotorsHeli: minor formatting updates 2016-12-14 13:21:59 +09:00
Leonard Hall
a09d4db4fd AP_MotorsMulticopter: fix battery resistance calculation 2016-12-14 11:07:29 +09:00