Commit Graph

13380 Commits

Author SHA1 Message Date
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
priseborough 76106889d5 AP_NavEKF2: Prevent unwanted core switch on startup
Require primary core to be healthy for 10 seconds before starting selection logic
2016-12-13 01:18:28 +00:00
Andrew Tridgell 8a1275356d AP_Baro: moved MS5611 reset before prom read
thanks to Jacob and Lucas for pointing this out
2016-12-13 11:10:35 +11:00
murata b48ea53f60 Revert "AC_Fence: Activate the create flag."
This reverts commit c63a6a2738.
2016-12-09 23:55:29 +00:00
Andrew Tridgell be9ac273ce AP_Param: apply notify check to AP_ParamV too
thanks to Francisco
2016-12-09 14:36:01 -08:00
Andrew Tridgell a440ac4c9d AP_Compass: use a set_and_notify for external and IDs
ensure that GCS that connects quickly gets the right value
fixes issue #5364
2016-12-09 14:36:01 -08:00
Andrew Tridgell eaa68f32e3 AP_Param: avoid a notify if value is already correct 2016-12-09 14:36:01 -08:00
priseborough 69f3c83c20 AP_NavEKF2: Don't use speed switch criteria when speed estimate is invalid
Prevent unwanted switches from range finder to Baro height aiding due to triggering of the speed threshold
2016-12-09 21:17:28 +00:00
priseborough 14a0155f5e AP_NavEKF2: Allow threshold speed for range finder use to be adjusted 2016-12-09 21:17:28 +00:00
Lucas De Marchi 899fce53ff AP_Compass: IST8310: minor fixes and refactors
- Inline code that needs to take and release the lock in init()
    function, just like other drivers
  - Minor changes to coding style and renames to be similar to other
    drivers
2016-12-09 10:08:37 -08:00
Georgii Staroselskii f061572e13 AP_Compass: add IST8310 support
One needs to specify I2C address and a bus number in AP_Compass.cpp to use it.
2016-12-09 10:08:37 -08:00
murata c63a6a2738 AC_Fence: Activate the create flag. 2016-12-09 17:25:27 +00:00
Randy Mackay b296bc1d00 GPS: MAV driver fix for sanity checks of cog, sat count 2016-12-08 15:52:26 +09:00
Randy Mackay 8118222946 GPS: MAV driver fix for GPS_INPUT altitude 2016-12-08 15:52:26 +09:00
Randy Mackay 9e62f12dd7 GPS: MAV driver gets support for HIL_GPS message 2016-12-08 15:52:26 +09:00
Randy Mackay 9fc0bc19e7 AP_Beacon: fix potential out-of-bounds write to beacon_state
uncovered by covarity and wickedshell
2016-12-08 15:39:37 +09:00
Ivan Smirnov d4d35bdcbd AP_HAL_Linux: Scheduler: added _timer_tick for uartD 2016-12-07 10:25:00 -08:00
murata 25e47cce6b AP_NavEKF2: Changed sqrt method to sqrtf method.
AP_NavEKF2: Changed sqrt method to sqrtf method.
2016-12-07 15:41:41 +00:00
Andrew Tridgell 05d9455f87 Revert "HAL_PX4: Add input parameter check."
This reverts commit 5f41b09fde.

This change is completely incorrect. It is quite common to do SPI
transfers with zero send bytes, and is required for many sensors and
other devices
2016-12-07 12:47:10 +11:00
Jonathan Challinger 6e47bed97d AP_RangeFinder: fix hard fault with LightWareI2C 2016-12-07 07:52:38 +11:00
Pierre Kancir 556993d7f0 AP_Math: Vector2 add == operator for int 2016-12-06 09:31:21 -08:00
Pierre Kancir 6bf1322633 AP_Math: polygon.cpp correct float comparison 2016-12-06 09:31:21 -08:00
Pierre Kancir 385e5badd8 Ap_Compass: LIS3MDL fix order 2016-12-06 09:31:21 -08:00
Pierre Kancir c49c851a57 Ap_Compass: AK09916 fix order 2016-12-06 09:31:21 -08:00
Pierre Kancir 8ef5067e12 AP_Motors: MotorsHeli_Single utilize an explicit type cast to avoid the loss of a fractional part. 2016-12-06 06:25:15 -08:00
Tom Pittenger 03b5523b43 AP_Landing: abstract out init_start_nav_cnd work to landing lib
This reverts commit 3e89580383 and fixes it
2016-12-06 03:45:17 -08:00
Andrew Tridgell 3e89580383 Revert "AP_Landing: abstract out init_start_nav_cnd work to landing lib"
This reverts commit 8d8775125a.

doesn't build
2016-12-06 17:32:10 +11:00
Tom Pittenger 8d8775125a AP_Landing: abstract out init_start_nav_cnd work to landing lib 2016-12-05 18:43:47 -08:00
Tom Pittenger 2d8c9c5129 AP_Landing: added missing break 2016-12-05 18:43:15 -08:00
Michael du Breuil f9acca67d3 AP_Mission: Align with spec better
Location is out of spec for NAV_RETURN_TO_LAUNCH

NAV_LOITER_UNLIM couldn't roundtrip the provided loiter radius
2016-12-05 17:31:36 -08:00
Tom Pittenger 84bdf15203 AP_Airspeed: updated comment to match PR 2016-12-05 17:19:57 -08:00
jinchengde@gmail.com efd0f0b832 modify NavEKF2 for AHRS Test 2016-12-05 17:10:23 -08:00
murata d619d33374 AP_HAL_PX4: UARTDriver: Delete the condition that does not hold. 2016-12-05 16:53:36 -08:00
Andrew Tridgell eea7758a63 AP_Baro: added GND_EXT_BUS option
this is needed to enable probing for a MS5611 on external I2C bus. The
MS5611 looks the same as a MS5525 airspeed sensor, so we can't just
auto-probe. Users will need to enable external barometers
2016-12-05 16:51:49 -08:00
Andrew Tridgell 43bac678cd AP_Airspeed: Added MS5525 airspeed driver
also improved averaging in MS4525 driver
2016-12-05 16:51:49 -08:00
Andrew Tridgell 04731dccd6 AP_Airspeed: rename MS4525 driver
ready for new driver types
2016-12-05 16:51:49 -08:00
Andrew Tridgell e2192d5b4d HAL_PX4: report user bus number not system bus number 2016-12-05 16:51:49 -08:00
Andrew Tridgell c657ad449b AP_HAL: added get_bus_address()
used to report sensor probing results in drivers
2016-12-05 16:51:49 -08:00
Andrew Tridgell 60c29417f1 AP_HAL: added uint16 access functions 2016-12-05 16:51:49 -08:00
Andrew Tridgell bc33c19f21 AP_IRLock: fixed build 2016-12-05 16:51:49 -08:00
Andrew Tridgell 8b8837ab72 GCS_MAVLink: fixed build 2016-12-05 16:51:49 -08:00
Andrew Tridgell bdc41446ae AP_OpticalFlow: fixed build 2016-12-05 16:51:49 -08:00
Andrew Tridgell 14a1f559c7 AP_Airspeed: added ARSPD_TYPE and use standard driver backend methods
this will allow for new sensor types
2016-12-05 16:51:49 -08:00
Tom Pittenger b614b41d6d AP_TECS: fixed compiler warning
- AP_Landing _landing was declared out-of-order
2016-12-05 16:46:55 -08:00
Tom Pittenger 725a9c40a6 AP_Landing: fixed compiler warnings
- init variable out of order, callbacks were declared first
2016-12-05 16:15:20 -08:00
Pierre Kancir 79a9e8dfad AP_Math: Matrix_alg fix implicite cast from bool to float 2016-12-05 12:39:31 -08:00
Pierre Kancir f54cf6e097 AP_NavEKF: storeIndex remove second initialisation 2016-12-05 12:39:31 -08:00
Pierre Kancir de05e6ba29 InertialSensor : MPU9250 utilize an explicit type cast to avoid the loss of a fractional part 2016-12-05 12:39:30 -08:00
Pierre Kancir 13c16e187f InertialSensor: MPU6000 utilize an explicit type cast to avoid the loss of a fractional part 2016-12-05 10:59:45 -08:00
Pierre Kancir a5161edc97 SITL: remove duplicate 2016-12-05 10:59:45 -08:00
Pierre Kancir 421524951f AC_PosControl: remove unnecessary parentheses 2016-12-05 10:59:45 -08:00
Pierre Kancir fb7a00799f AP_Math: quaternion fix missing return 2016-12-05 10:33:41 -08:00
Florent Martel abc2cdb61b AP_FrSky_Telem: fixed sign of vertical velocity (+ve up) 2016-12-04 15:05:16 -08:00
Pierre Kancir f9c8827809 SITL: Scheduler correct misplaced parenthese && switch to do while loop 2016-12-04 18:28:14 +00:00
murata 86e495f415 AP_Arming: Do not set check results each time. 2016-12-03 20:39:33 +00:00
Francisco Ferreira 202c33491e RangeFinder: remove useless returns and update comment 2016-12-03 17:44:06 +00:00
murata a99bde9dad RangeFinder: Change type determination from if state to switch state. 2016-12-03 17:33:01 +00:00
mirkix 7e33ba04a9 AP_HAL: Add BBBmini PX4FLOW I2C bus number 2016-12-03 21:07:07 +11:00
Tom Pittenger 608da33d80 AP_Landing: merged GCS text for aborted landing 2016-12-02 17:40:01 -08:00
murata 5f41b09fde HAL_PX4: Add input parameter check. 2016-12-02 17:09:47 -08:00
Tom Pittenger 3a9ad24907 AP_Landing: compute wind_alignment and half of head-wind
Determine how aligned heading_deg is with the wind. Return result
is 1.0 when perfectly aligned heading into wind, -1 when perfectly
aligned with-wind, and zero when perfect cross-wind. There is no
distinction between a left or right cross-wind. Wind speed is ignored
2016-12-02 15:35:28 -08:00
Peter Barker 0e2b3781ae AP_Gripper: a valid() method 2016-12-02 12:52:53 +11:00
Peter Barker 4a1439ca0b AP_Gripper: add grabbed and released method 2016-12-02 12:52:53 +11:00
Peter Barker 20b83861e9 AP_Mission: support for NAV_CMD_PLACE
AP_Mission: check return values of mission fetches
2016-12-02 12:52:50 +11:00
Peter Barker 20b86605fa SITL: gripper closes faster, vary load carried by gripper
If gripper is closed on ground it is considered to be carrying
something
2016-12-02 12:04:05 +11:00
Peter Barker b751f836bb SITL: attach a string with a mass on the end to servo gripper 2016-12-02 12:04:05 +11:00
Peter Barker f8918d15b1 SITL: add a hagl method to aircraft 2016-12-02 12:04:05 +11:00
Peter Barker f1c23dc9be SITL: remove argument to on_ground
This was always the current position
2016-12-02 12:04:05 +11:00
Peter Barker e24f3f9419 SITL: correct on-ground correction
Using the cached ground_height_difference may mean
you end up at the wrong height if you were near
the edge of an SRTM square and had high horizontal
velocity
2016-12-02 12:04:05 +11:00
Peter Barker 319cfa766b RC_Channel: add method to get current radio out for a function 2016-12-02 12:04:05 +11:00
Andrew Tridgell 23480a92ad HAL_PX4: only include parts needed for build
allow for external USE_FLASH_STORAGE define in build
2016-12-02 09:58:36 +11:00
Andrew Tridgell 6bc0c76d54 HAL_PX4: update for new AP_FlashStorage API
allow flash sector erase while disarmed
2016-12-02 09:49:40 +11:00
Andrew Tridgell bfd137e36a AP_FlashStorage: added erase_ok callback
this allows for simpler operation when application wants to allow
erase while disarmed.
2016-12-02 09:49:40 +11:00
Andrew Tridgell 0e00c3cf9b AP_FlashStorage: reduced sector size for example
allows it to fit in SRAM on PX4
2016-12-02 09:49:40 +11:00
Andrew Tridgell a66924422f HAL_PX4: implement optional flash backend for storage
this allows the last two flash sectors to be used as storage for
parameters, waypoints etc.

A change to the bootloader to not erase the last two sectors is needed
2016-12-02 09:49:39 +11:00
Andrew Tridgell b0832e6c15 HAL_PX4: factor out storage functions
ready for multiple backends
2016-12-02 09:49:39 +11:00
Andrew Tridgell d4f679f954 HAL_PX4: removed support for old storage files on microSD 2016-12-02 09:49:39 +11:00
Andrew Tridgell 4cfd63c30a HAL_PX4: refactor storage to use bitmask class 2016-12-02 09:49:39 +11:00
Andrew Tridgell 6adad11e2f AP_Common: added simple bitmask class 2016-12-02 09:49:39 +11:00
Andrew Tridgell ed8f9b444a HAL_PX4: fixed whitespace 2016-12-02 09:49:38 +11:00
Andrew Tridgell 7ba957b946 HAL_SITL: flush stdout on panic 2016-12-02 09:49:38 +11:00
Andrew Tridgell fc21e0f16f AP_FlashStorage: a flash storage driver
this will allow for a storage backend using flash sectors in a log
structure
2016-12-02 09:49:38 +11:00
Andrew Tridgell a1bce2b54d AP_Compass: use get_random16() 2016-12-02 09:49:38 +11:00
Andrew Tridgell a8d10e8c2c AP_Math: added get_random16() 2016-12-02 09:49:38 +11:00
Andrew Tridgell cd57422eed AP_Baro: set retries high during init of MS5611 on I2C 2016-12-02 09:47:51 +11:00
Andrew Tridgell 4f1f6ec019 AP_Compass: added retries during init for i2c devices
higher in init, lower for run
2016-12-02 09:47:51 +11:00
Andrew Tridgell 28a318145c AP_HAL: move set_retries() up to Device class
we really need set_retries() high during init for nearly all i2c
devices, and as many are written against the generic device class
moving it to the Device class makes this a lot easier. It is a NOP on
SPI.
2016-12-02 09:47:51 +11:00
Georgii Staroselskii e735a56c82 AP_BattMonitor: add default PM definitions for Navio boards
As it turns out we haven't had default PM defs for power modules
intended to be used with Navio boards.
2016-12-01 05:41:37 -08:00
Przemek Lekston 6d65b351cd AP_Mount: allow computation of gps point target in earth fixed frame 2016-12-01 18:42:48 +09:00
Randy Mackay fc5f4c20cd AP_NavEKF2: remove redundant check of beacon nullptr
thanks to muramura for spotting this
2016-12-01 14:53:26 +09:00
Randy Mackay 08619a96be AP_Beacon: remove debug and editor settings
thanks to muramura for spotting this
2016-12-01 14:53:16 +09:00
murata 292257eaf2 AP_Beacon: checksum check uses XOR 2016-12-01 13:54:34 +09:00
murata bcdd836820 AC_AttControl: remove unnecessary check of thr-mix-min
Checks directly above ensure this check can never be true
2016-12-01 13:52:04 +09:00
priseborough 665ba1c009 AP_NavEKF2: Fix bug in reporting of vertical position reset
Fixes a bug that allows the last reported reset time to to wind back and an out of date reset delta to be reported if a switch to a core that has previously been reset occurs.
Allows multiple consumers provided they access on the same frame.
2016-12-01 10:35:38 +09:00
priseborough 7f347e39dd AP_NavEKF2: Fix bug in reporting of horizontal position reset
Fixes a bug that allows the last reported reset time to to wind back and an out of date reset delta to be reported if a switch to a core that has previously been reset occurs.
Allows multiple consumers provided they access on the same frame.
2016-12-01 10:35:38 +09:00
priseborough 656d9bb2c4 AP_NavEKF2: Fix bug in reporting of yaw reset
Fixes a bug that allows the last reported reset time to to wind back and an out of date reset delta to be reported if a switch to a core that has previously been reset occurs.
Allows multiple consumers provided they access on the same frame
2016-12-01 10:35:38 +09:00
Georgii Staroselskii 865ff753f3 AP_Compass: use LSM9DS1 as primary for Navio 2
This compass has been proved to work better on Navio boards. Users also
don't like high offsets (even though, they don't really mean much in
this context) reported by AK8963 in MPU9250 on Navio 2.
2016-11-30 12:04:53 -08:00
Alexey Bulatov 96db31635d AP_Compass: set orientation ROLL_180 for LSM9DS1 on Navio2 2016-11-30 12:04:04 -08:00
Alexey Bulatov 163fa07ac0 AP_Compass: make orientation of LSM9DS1 compass configurable 2016-11-30 12:02:07 -08:00
Randy Mackay a517db4b5e AP_OpticalFlow: resolve compiler warning 2016-11-30 18:00:15 +09:00
Randy Mackay dfd58cc57b AP_InertialSensor: fix build warning for MPU9250 2016-11-30 18:00:14 +09:00
Randy Mackay 699279ed1f AP_InertialSensor: fix build warning for MPU6000 2016-11-30 18:00:13 +09:00
Randy Mackay 5009e83b6d AP_Compass: fix build warning for HMC5843 2016-11-30 18:00:12 +09:00
priseborough 431a74e0b4 DataFlash: log range beacon fusion data 2016-11-30 17:56:53 +09:00
priseborough bbdf3982c6 DataFlash: remove Log_Write_EKF 2016-11-30 17:56:52 +09:00
Randy Mackay 66a9093cd0 AP_NavEKF2: getRangeBeaconDebug returns false on failure to get beacon data 2016-11-30 17:56:51 +09:00
priseborough 0ec8f0932a AP_NavEKF2: Prevent output of NaN's in range beacon debug output
This can happen if this accessor function is called before the EKF states are initialised
2016-11-30 17:56:50 +09:00
Randy Mackay fbecda7eeb AP_NavEKF2: change order of variable initialisation
No functional change, this modifies the init order to match the declaration order.
2016-11-30 17:56:49 +09:00
Randy Mackay 82854953e7 AP_NavEKF2: minor comment fix 2016-11-30 17:56:48 +09:00
Randy Mackay 14a73e499a AP_NavEKF2: initialise two range beacon structures 2016-11-30 17:56:47 +09:00
priseborough 2ee8250807 AP_NavEKF2: Changes from code review by @muramura 2016-11-30 17:56:46 +09:00
Randy Mackay 1f4606e48a AP_NavEKF2: protect against null beacon 2016-11-30 17:56:45 +09:00
Randy Mackay 51ccfca31c AP_NavEKF2: fix format of statustext for beacon init 2016-11-30 17:56:44 +09:00
priseborough ef03a85cd3 AP_NavEKF2: add range beacon interface and fusion method 2016-11-30 17:56:43 +09:00
priseborough b4961971e0 AP_AHRS: add beacon object to ahrs 2016-11-30 17:56:42 +09:00
priseborough 4482743af5 AP_Beacon: Improve simulator testing of beacons 2016-11-30 17:56:41 +09:00
Randy Mackay 1225e18898 AP_Beacon: add sitl testing parameter file 2016-11-30 17:56:40 +09:00
Andrew Tridgell 5b83fa3a77 AP_Beacon: added SITL backend 2016-11-30 17:56:39 +09:00
Randy Mackay 821fc516fb AP_Beacon: library to accept distances from beacons 2016-11-30 17:56:37 +09:00
Randy Mackay c4aa37525e SerialManager: add beacon to list of protocols 2016-11-30 17:56:35 +09:00
Leonard Hall 8af192ed9d AC_AttControl: allow MOT_THR_MIX_MAX to be 2.0
The parameter description maximum of 0.9 should keep most users from
setting this parameter above 0.9 but there are rare cases for very high powered copters with low hover-throttle values where setting as high as 2.0 improves attitude control
2016-11-30 17:56:34 +09:00
Andrew Tridgell 8468add63e AP_Motors: mark PWM_TYPE as reboot required 2016-11-30 10:53:26 +11:00
Andrew Tridgell ce5ed66b45 HAL_PX4: auto-scale brushed output with ESC output range 2016-11-30 10:53:26 +11:00
Andrew Tridgell ce517384e1 AP_Motors: support MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:26 +11:00
Andrew Tridgell b3286c3da0 HAL_PX4: support MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:25 +11:00
Andrew Tridgell fac8f1db03 AP_HAL: added MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:25 +11:00
Peter Barker bc45ab5409 DataFlash: add a heartbeat for the io thread in DataFlash_File 2016-11-29 15:14:09 -08:00
Peter Barker e11c276b35 DataFlash_File: stop trying to stuff a uint64_t into a uint32_t 2016-11-29 15:14:09 -08:00
Peter Barker fff2068a5a AP_Arming: add arming check for logging actually started 2016-11-29 15:14:09 -08:00
Peter Barker 5776b3fddb AP_Arming: check CardInserted in AP_Arming 2016-11-29 15:14:09 -08:00
Andrew Tridgell a2e92c4054 AP_BoardConfig: increase uavcan bus settle time to 2s
needed to ensure zubax mag has time to come up
2016-11-29 12:51:16 +11:00
Peter Barker 2c8a0a9123 DataFlash: rotate files when vehicle is disarmed 2016-11-28 09:42:09 -08:00
Peter Barker fc79fb4ab4 DataFlash: know about armed state of vehicle 2016-11-28 09:42:09 -08:00
Randy Mackay bac5deed43 AP_IRLock: health reporting based on successful I2C transfer
This change is required because sync messages are only sent if a target is visible
2016-11-28 12:08:36 +09:00
Andrew Tridgell 28b3de91cf AP_Compass: fixed orientation of internal i2c compass for FMUv1
thanks to Peter for noticing
2016-11-28 13:02:15 +11:00
Andrew Tridgell 40bd3a8861 HAL_PX4: tidy up thread wait code
use the same method for all threads. Makes for tidier top output
2016-11-28 10:28:01 +11:00
Andrew Tridgell f039a37971 HAL_PX4: set names on all bus threads 2016-11-28 10:18:52 +11:00
Andrew Tridgell 00ccacb2ab AP_HAL: expose device bus number 2016-11-28 10:18:32 +11:00
Andrew Tridgell f04b186879 HAL_PX4: fixed bug in instantiation of I2C bus threads
we ended up with a thread per device instead of a thread per bus!
2016-11-28 09:53:19 +11:00
Andrew Tridgell 12e0c840e8 HAL_PX4: set thread names for main threads 2016-11-28 09:47:49 +11:00
Andrew Tridgell c62b64a600 AP_IRLock: improved sync protocol for IRLock I2C driver 2016-11-28 08:39:06 +11:00
Andrew Tridgell 50db4d362d AC_PrecLand: use new in-tree IRLock driver 2016-11-28 08:26:58 +11:00
Andrew Tridgell c6ea451c56 AP_IRLock: new in-tree IRLock driver on I2C 2016-11-28 08:26:58 +11:00
Andrew Tridgell 22717f23be AP_OpticalFlow: apply yaw for flow in all drivers 2016-11-28 08:26:57 +11:00
Andrew Tridgell 06dfbc3e09 AP_OpticalFlow: added common driver for PX4Flow
used on Linux and NuttX boards
2016-11-28 08:26:57 +11:00
Andrew Tridgell 52715c5d16 AP_OpticalFlow: fixed default pixart flow scaling 2016-11-28 08:26:57 +11:00
Andrew Tridgell 9b93e12bbb AP_OpticalFlow: retry config register write up to 5 times 2016-11-28 08:26:57 +11:00
Andrew Tridgell ea462d80e6 AP_OpticalFlow: added _applyYaw method to backend
for common handling of yaw correction
2016-11-28 08:26:57 +11:00
Andrew Tridgell abc42c737c AP_OpticalFlow: added update function for Pixart flow driver 2016-11-28 08:26:57 +11:00
Andrew Tridgell 0be1b1aac2 AP_OpticalFlow: give access to AHRS from all backends 2016-11-28 08:26:56 +11:00
Andrew Tridgell def6e014cf HAL_SITL: removed old optflow simulation 2016-11-28 08:26:56 +11:00
Andrew Tridgell 42435e700b SITL: expose height above ground to all models 2016-11-28 08:26:56 +11:00
Andrew Tridgell 2e2f8ad8cf AP_OpticalFlow: added SITL flow driver as normal driver
move away from HAL_SITL embedded drivers
2016-11-28 08:26:56 +11:00
Andrew Tridgell a96ed8c188 AP_HAL: added virtual destructor for Semaphores 2016-11-28 08:26:56 +11:00
Andrew Tridgell 0889b25afa AP_OpticalFlow: initial code for Pixart optical flow chip 2016-11-28 08:26:56 +11:00
Randy Mackay 54a87ad35c AP_Proximity: set minimum boundary distance
AC_Avoidance will not stop if it thinks the vehicle is on or outside the polygon.  Setting a minimum distance ensures the vehicle is always within the polygon.
2016-11-27 15:05:48 +09:00
Randy Mackay 57ae14ab4c AP_Proximity: add get distances, distance_max, distance_min
These are used to send distance-sensor messages to the ground station
2016-11-27 15:05:45 +09:00
Randy Mackay b46cc623a0 AC_Avoidance: adjust_velocity_polygon accepts body-frame points 2016-11-27 15:05:42 +09:00
Randy Mackay 55d79d9a32 AC_Avoidance: proximity sensor method re-uses polygon fence boundary code 2016-11-27 15:05:41 +09:00
Randy Mackay cdee68174d AC_Avoidance: rename adjust_velocity_polygon_fence 2016-11-27 15:05:39 +09:00
Randy Mackay 79280036de AC_Avoidance: rename adjust_velocity_circle_fence method 2016-11-27 15:05:38 +09:00
Randy Mackay 40c4e75ae7 AC_Avoidance: remove unnecessary const float arguments 2016-11-27 15:05:36 +09:00
Randy Mackay 6293fa1595 AP_Proximity: add boundary points for object avoidance
This returns a fence which can be used for object avoidance by AC_Avoidance
2016-11-27 15:05:35 +09:00
Randy Mackay 26332251f5 AP_Proximity: add ignore areas
Only SF40c uses these ignore areas for now at least.
It is safe to increase the eeprom locations for the 2nd proximity instance because we only define a single instance.
2016-11-27 15:05:27 +09:00
Randy Mackay 87dea46f5d AP_Proximity: add get_closet_object for use in pre-arm checks 2016-11-27 12:03:06 +09:00
Randy Mackay a56c9545bd AP_Proximity: SITL driver filles in backend sector data 2016-11-27 12:03:04 +09:00
Randy Mackay f594a5a7d6 AP_Proximity: move sectors to backend
This prepares for sectors to be re-used by the SITL driver
2016-11-27 12:03:01 +09:00