Commit Graph

13706 Commits

Author SHA1 Message Date
priseborough 4a490d522e AP_GPS: use standard unit descriptor for milliseconds 2017-01-27 16:57:42 +09:00
priseborough b5ba1d0346 AP_NavEKF3: protect against large delay values returned by the GPS library 2017-01-27 16:57:42 +09:00
priseborough be0096e812 AP_GPS: Allow the user to specify the GPS time delay
If the user sets a non-zero value of the delay it will be used in preference over the default value for that GPS type.
If the GPS type is unknown and the parameter is set to zero, then a default delay of 1 sample period will be used (eg 200ms for 5Hz).
2017-01-27 16:57:42 +09:00
priseborough 4540faf6af AP_NavEKF3: Improve waiting for GPS configuration
Do not time out and provide an escalating series of messages. We may need to adjust the time thresholds used for escalation.
Do not wait if the EKF is not using the GPS.
2017-01-27 16:57:42 +09:00
priseborough 52e8f687d9 AP_NavEKF3: fix logic bug introduced by magnetometer use changes 2017-01-27 16:57:42 +09:00
priseborough a133d55b6d AP_NavEKF3: Allow copters to fly with magnetometers disabled
Copter operation without a magnetometer is limited to constant position and relative position modes only (no GPS or range beacon fusion permitted)
Copter optical flow operation without a magnetometer is permitted.
The ability of planes to takeoff/launch without a magnetometer and align the yaw using the GPS velocity is retained.
2017-01-27 16:57:42 +09:00
priseborough 2e5ac40ef6 AP_NavEKF3: remove unnecessary stdio includes 2017-01-27 16:57:42 +09:00
priseborough 8688d1ddac AP_NavEKF3: Improve range finder selection logic
Fixes bug that could leave it locked out of range finder use.
2017-01-27 16:57:42 +09:00
priseborough 7e8f3fca53 AP_NavEKF3: Address review comments
Removes a leftover debug printf statement.
Fixes documentation errors.
Replace remaining fmaxf function calls with Ardupilot MAX function
2017-01-27 16:57:42 +09:00
priseborough b723966b8d AP_NavEKF2: Add protection against bad GPS time delay values
Prevent bad values for GPS time delay pushing the GPS time stamp outside the range of IMU data contained in the buffer. If this occurs it can prevent the GPS measurements from being fused and cause loss of navigation.
2017-01-27 16:57:42 +09:00
priseborough e2757c17c8 AP_AHRS_NavEKF: fix ekf variable naming and initialisation 2017-01-27 16:57:42 +09:00
priseborough 59ee074560 AP_NavEKF3: Remove EKF2 names 2017-01-27 16:57:42 +09:00
priseborough b862f0d7ad AP_NavEKF3: Enable use of GPS delay value from returned by the driver
Use the time delay returned by the GPS driver.
Wait long enough for the GPS configuration to be determined, but time out after 30 seconds and warn the user that a default value for time delay will be used.
2017-01-27 16:57:42 +09:00
Andrew Tridgell bdc0630ccf AP_GPS: added all_configured() function
used for EKF to tell if gps_lag is valid
2017-01-27 16:57:42 +09:00
Andrew Tridgell 5d18f3a453 AP_GPS: added backend specific get_lag() function
the ublox7 and 8 seem to produce lower lag, around 120ms. Separately
we should also look at running these at 10Hz and see if that helps.
2017-01-27 16:57:42 +09:00
priseborough 69a47d7522 AP_NavEKF3: Improve reporting of buffer allocation 2017-01-27 16:57:42 +09:00
priseborough ceb42225fd AP_NavEKF3: Ensure enough time to fill buffers when starting filter 2017-01-27 16:57:42 +09:00
priseborough a8fd1d8bcd AP_NavEKF3: fix potential time-stamping bug
Use a consistent time reference
2017-01-27 16:57:42 +09:00
priseborough 8d1733cee6 AP_NavEKF3: Use FIR filtered airspeed
Switch to use of an airspeed reading averaged across the raw sensor readings. since the last update.
This avoids use of the IIR which requires a larger time delay compensation and violates the assumption of uncorrelated noise.
The time delay parameter has been reduced to compensate for the removal of the airspeed IIR filtering.
2017-01-27 16:57:42 +09:00
priseborough 9261c34097 AP_NavEKF3: Update default GPS delay
This value is a compromise between what works best for a Ublox 6 which is around 200msec delay and the more recent 7 and 8 series receivers that are around 120msec delay.
2017-01-27 16:57:42 +09:00
priseborough ed5039823f AP_NavEKF3: Adapt sensor buffer lengths
Adapt the lengths of the IMU and observations buffers on startup to the specified time delays and update rates.
This does require the EKF to be re-started if time delays are changed.
2017-01-27 16:57:42 +09:00
priseborough 2cc48f78a7 AP_NavEKF3: Update range beacon fusion
Add innovation consistency check to alignment filter and publish alignment filter status data
2017-01-27 16:57:42 +09:00
priseborough ed0a90ae5f AP_Beacon: Apply correct conversion from Pozyx beacon earth frame
The Pozyx beacon system uses a North, West, Up axis system and the APM software uses a North, East, Down convention.
2017-01-27 16:57:42 +09:00
priseborough a02a84560f DataFlash: log 3-state range beacon estimator states for EKF3 2017-01-27 16:57:42 +09:00
priseborough 92b8c33b19 AP_NavEKF3: publish 3-state range beacon estimator states 2017-01-27 16:57:42 +09:00
priseborough 7c53573a0c AP_NavEKF3: Allow range beacon use with intermittent GPS 2017-01-27 16:57:42 +09:00
priseborough e5e4883c72 AP_NavEKF3: Fix GPS use inhibit interface documentation 2017-01-27 16:57:42 +09:00
priseborough c7e1828238 AP_NavEKF3: improve variable name 2017-01-27 16:57:42 +09:00
murata 32b60432b4 AP_Baro: Add format specification.
AP_Baro: Add format specification.
2017-01-27 18:20:22 +11:00
murata 37a55c38a1 StorageManager: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 9de6318b77 PID: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 4a60850558 GCS_MAVLink: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 474569c91b GCS_Console: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 81ef065c53 AP_RPM: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 17c62ffe4c AP_RangeFinder: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 59454b0c6f AP_Param: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 60b63bb69e AP_Parachute: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 77c402556b AP_OpticalFlow: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 3ce2ca488a AP_Notify: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 2d32211c81 AP_Mount: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 92eb179acf AP_Motors: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 9481e0d158 AP_Mission: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata aa3fb830af AP_Menu: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 0733d760f6 AP_HAL_VRBRAIN: Unify from print or println to printf.
AP_InertialSensor: Unify from print or printin to printf.
2017-01-27 18:20:22 +11:00
murata 67fdbf5c2d AP_HAL_SITL: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 3200f24106 AP_GPS: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 37873717de AP_Declination: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 50eead63cc AP_Common: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata f18b8844bf AP_BattMonitor: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 78a4cab06b AP_Baro: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 743d6e6db4 AP_Airspeed: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 836c8aa684 RC_Channel: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 9b1dadd93e AP_HAL_PX4: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 5e11497332 AC_PID: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 1b2ea27a68 DataFlash: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 30bbe7abb6 AP_HAL_Linux: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata ec4cce15a1 AP_Math: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 2643e7e906 AP_InertialSensor: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata 03bf57219b AP_HAL: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata af47a8e91c AP_Compass: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Lucas De Marchi a73c1daa2e AP_HAL: Device: remove unused function to read registers
Callers can use be16toh(), be32toh(), etc. There's no need to have a
special function here for each type.
2017-01-26 23:18:27 -08:00
Lucas De Marchi f6a4a4dbe8 AP_Airspeed: MS5525: use common macros to deal with endianness
Instead of calling a special method in the device, just use be16toh()
which is implemented for all platforms in our special sparse-endian.h
file. It has the advantage of using a special type for different
endianness and makes no assumption we are running on LE.
2017-01-26 23:18:27 -08:00
Lucas De Marchi 14519e90ff AP_HAL: Device: remove trailing whitespaces 2017-01-26 23:18:27 -08:00
mirkix 2f8452b8a6 AP_Notify: Add BeagleBone Blue 2017-01-26 23:15:52 -08:00
mirkix 6d99bb0937 AP_HAL_Linux: Add BeagleBone Blue to GPIO_BBB 2017-01-26 23:15:52 -08:00
mirkix 954267fc22 AP_HAL_Linux: Add BeagleBone Blue to RCInput_AioPRU 2017-01-26 23:15:52 -08:00
mirkix d16ab890e8 AP_HAL_Linux: Add BealgeBone Blue 2017-01-26 23:15:52 -08:00
mirkix 093407e8e8 AP_HAL: Add BeagleBone Blue 2017-01-26 23:15:52 -08:00
Andrew Tridgell 848c03650b AP_RangeFinder: removed old PX4 rangefinder drivers 2017-01-27 18:12:20 +11:00
Andrew Tridgell 3b42289475 AP_RangeFinder: added doc listing for TrOneI2C 2017-01-27 18:11:29 +11:00
Andrew Tridgell 683e549ed7 AP_RangeFinder: added WHOAMI and crc check
thanks to Francisco for review comments
2017-01-27 18:11:29 +11:00
Andrew Tridgell 67a2441b12 AP_Math: started a set of crc functions
these functions are often common between drivers
2017-01-27 18:11:29 +11:00
Andrew Tridgell 68ff71e4c0 AP_RangeFinder: added trone in-tree driver 2017-01-27 18:11:29 +11:00
mirkix ad7e21b860 AP_HAL_Linux: fix compiler warning in AnalogIn_IIO 2017-01-26 23:05:46 -08:00
Randy Mackay 0ce8cf3cf4 AP_Notify: remove ToshibaLED_PX4 2017-01-27 15:24:09 +09:00
Randy Mackay 98db17e9a1 AP_Notify: example sketch uses ToshibaLED_I2C driver 2017-01-27 15:24:09 +09:00
Randy Mackay d8ae56f455 AP_Notify: pixhawk and vrbrain use in-tree ToshibaLED 2017-01-27 15:24:09 +09:00
Randy Mackay eedfe13f9c AP_Notify: fix ToshibaLED_I2C and check both I2C buses
the rgb value was never being set meaning the led was always off
external bus is checked first
2017-01-27 15:24:09 +09:00
Randy Mackay 0e20c8040c AP_Notify: rgbled methods protected and add override
no functional change
2017-01-27 15:24:09 +09:00
Randy Mackay 855125381d AP_Compass: relax compass cal fitness and consistency checks 2017-01-27 11:20:02 +09:00
Randy Mackay b5573f6665 AP_Notify: add PX4_V4 check to PixRacerLED 2017-01-27 11:01:17 +09:00
iseries1 4467a2cd16 AP_Notify: enable PixRacer onboard LED
Enable PixRacer onboard LED to show status of flight controller
2017-01-27 11:01:17 +09:00
Randy Mackay 8041a7f183 AP_Notify: add PixRacerLED 2017-01-27 11:01:17 +09:00
iseries1 e6a643f805 AP_HAL: define pixracer LED pins 2017-01-27 11:01:17 +09:00
murata 315f7c6a9a AP_Notify: Represent the base of ASCII numeric code with letters. 2017-01-26 23:59:11 +01:00
Tom Pittenger da48b24a5c AP_Landing: add logging as new "LAND" field 2017-01-26 13:11:45 -08:00
Tom Pittenger 644f75942b AP_Landing: refactor bool variables into flag stucts 2017-01-26 13:11:45 -08:00
Tom Pittenger bdafc2c025 AP_Landing: re/move complete flag into backend
the complete flag was only ever true during FLIGHT_LAND_FINAL so we just check for that now instead
2017-01-26 13:11:45 -08:00
Michael du Breuil 4cf1c74c62 AP_Landing + Plane: Check for land complete before requesting disarm 2017-01-26 13:11:44 -08:00
Tom Pittenger 2ccd91d88f AP_Landing: rename stage enum 2017-01-26 13:11:44 -08:00
Tom Pittenger 650e694eb1 Plane: move landing.reset to landing.do_land() 2017-01-26 13:11:44 -08:00
Tom Pittenger 61bc0a6206 Plane: check stage==LAND instead of landing.in_progress 2017-01-26 13:11:44 -08:00
Michael du Breuil 3e66dd10d7 Plane: Move landing stages inside AP_Landing and refactor 2017-01-26 13:11:44 -08:00
Michael du Breuil ac27241a42 AP_Vehicle: Remove unused flight stages 2017-01-26 13:11:44 -08:00
Michael du Breuil e9ec1d3a30 AP_Landing: Internalize the flight mode slope stages 2017-01-26 13:11:44 -08:00
Tom Pittenger b570c11e26 AP_Landing: allow separate handling for verify_land() vs verify_abort() 2017-01-26 13:11:43 -08:00
Tom Pittenger bf835c7aee AP_TECS: abstract out the landing stage checks 2017-01-26 13:11:43 -08:00
Tom Pittenger 6c0296ba13 AP_Landing: shadow copy of plane flight_stage into landing
.. and describe stages without using specific stage name
2017-01-26 13:11:43 -08:00
Tom Pittenger d1434602a5 AP_TECS: bug fix - use takeoff integrator during land abort 2017-01-26 13:11:43 -08:00
Francisco Ferreira 1fc0dbe0bd
AP_GPS: fix GSOF highest supported status 2017-01-26 00:04:32 +00:00
Michael Oborne 8e9f382240 AP_GPS_GSOF: update for new GPS_FIX's 2017-01-26 00:04:19 +00:00
Michael du Breuil 0cf41c9288 AP_GPS: Force ublox baud rate if we are allowed to config the GPS 2017-01-26 07:48:22 +09:00
Mathieu OTHACEHE 7c96f8e6a2 AP_HAL_Linux: rename APM to ardupilot.
This rename should have happened here:
fdb2a9c99b but was forgotten.
2017-01-25 16:57:47 +00:00
Andrew Tridgell 642e5aa5b7 SITL: match simulated tilt rate for CL84 to real vehicle 2017-01-25 19:01:15 +11:00
Michael du Breuil 855d91145a AP_GPS: ublox - fix incorrect step ordering 2017-01-25 03:44:57 +00:00
Michael du Breuil 1c1e6e9398 AP_GPS: Support more fix types 2017-01-25 03:44:42 +00:00
Michael du Breuil 9346117c01 Notify: Update for GPS types 2017-01-25 03:34:26 +00:00
Michael Oborne d05b0d5885 AP_GPS_UBLOX: add pvt message support 2017-01-25 03:34:26 +00:00
Randy Mackay 1300a9d3c6 AP_Notify: minor formatting fixes
no functional change
2017-01-23 15:07:21 -08:00
Randy Mackay 4691bc76f3 AP_Notify: display gets semaphore protecting display buffer 2017-01-23 15:07:21 -08:00
Randy Mackay 80c1433682 AP_Notify: Display backend methods become void
We never use the return value so might as well remove it
2017-01-23 15:07:21 -08:00
Randy Mackay cb1d1df03a AP_Notify: reorder flags
This tiny improvement allows the flags above battery voltage to be squeezed into the same byte
2017-01-23 15:07:20 -08:00
Randy Mackay e085ae1ec8 AP_Notify: add set_flight_mode_str method
This allows the vehicle code to set a short string for the flight mode
2017-01-23 15:07:20 -08:00
Randy Mackay acff67c718 AP_Notify: Display_SH1106 command stucture clarification
renaming the elements of the structure makes their purpose more clear
2017-01-23 15:07:20 -08:00
Randy Mackay fd365de5f8 AP_Notify: Display structures PACKED 2017-01-23 15:07:20 -08:00
Randy Mackay 843210cac2 AP_Notify: Display bus passed into contructor 2017-01-23 15:07:20 -08:00
Randy Mackay 682fc759f1 AP_Notify: minor formatting and comment changes
No functional change
2017-01-23 15:07:20 -08:00
Randy Mackay d12e0d6a82 AP_Notify: Display send_text made not static 2017-01-23 15:07:20 -08:00
Randy Mackay 07c08c09a3 AP_Notify: small change to Display health logic 2017-01-23 15:07:20 -08:00
Randy Mackay 847c68bf72 AP_Notify: remove comment 2017-01-23 15:07:20 -08:00
Randy Mackay 21a95a3b0a AP_Notify: Display screenpage variable made part of class 2017-01-23 15:07:20 -08:00
Randy Mackay c5ba54c3fe AP_Notify: adjust Display class structure
This makes the display architecture closer to our other frontend/backend splits
Added check that display is initialised successfully in hw_init
Renamed _update_timer to just _timer to make more consistent with other drivers
2017-01-23 15:07:20 -08:00
Randy Mackay 0690315814 AP_Notify: remove unused methods and member from Display 2017-01-23 15:07:20 -08:00
Randy Mackay f0c6fd3038 AP_Notify: resolve compiler warning in Display 2017-01-23 15:07:20 -08:00
Randy Mackay 9eb6d18d8e AP_Notify: add override to display methods 2017-01-23 15:07:20 -08:00
kozinalexey ed4115c4e3 AP_Notify: Support for OLED display by Alexey Kozin 2017-01-23 15:07:20 -08:00
Andrew Tridgell 4687785185 AP_Param: fixed a bug in default file handling
this fixes a bug in how default file values are handled that affects
any common sub-objects. When we had a default value for something like
SERVO12_FUNCTION then configured_in_defaults_file() would return true
for SERVO1_FUNCTION as it shares a common default value pointer

this changes the implementation to use the object pointer instead
2017-01-24 09:50:25 +11:00
Andrew Tridgell 33a84624c6 AP_AHRS: use const reference
save a bit of stack and CPU
2017-01-23 21:36:34 +11:00
Julien Beraud c31522c2c3 AP_HAL_Linux: fix focal lengths calculation
Fixed focal length on bebop due to wrong spec.
Fix comment that had a typo.
Fixed focal length calculations on other boards that were mislead
by the typo.
2017-01-23 21:23:16 +11:00
Julien Beraud 677a2f600f AP_OpticalFlow_Onboard: remove gyro_cb
Not needed anymore
2017-01-23 21:23:16 +11:00
Julien Beraud 710875d3b9 OpticalFlow_Onboard: remove gyro cb
Not used anymore
2017-01-23 21:23:16 +11:00
Julien Beraud c08587fb09 AP_HAL_Empty: adapt to new api
Removed gyro_cb in HAL interface
Added 2 new methods
2017-01-23 21:23:16 +11:00
Julien Beraud 4646428ac0 AP_HAL: remove ahrs cb from opticalflow
Not needed anymore
2017-01-23 21:23:16 +11:00
Julien Beraud 305239b467 AP_OpticalFlow_Onboard: fix scale in gyro calculation
Scale was wrong due to incorrect gyro integration
2017-01-23 21:23:16 +11:00
Julien Beraud 59404f686d OpticalFlow_Onboard: add gyro integration support
Integrate the gyro values pushed by the inertial sensor backend using
bias values sent by EKF.
Use the unblocking RingBuffer to avoid locking the callers.
2017-01-23 21:23:16 +11:00
Julien Beraud d2afa1cac8 AP_AHRS_NavEKF: Push gyro bias for optical flow
Push gyro bias for optical flow usage only if there is an optical
flow declared in the HAL
2017-01-23 21:23:16 +11:00
Julien Beraud 3d9dacb227 AP_InertialSensor: push gyro data for opticalflow
Do it only if there is an optical flow in the current HAL
2017-01-23 21:23:16 +11:00
Julien Beraud 8a57e1a4a7 AP_HAL: Add methods for optical flow
Add methods to push gyro and gyro biases to perform a good
optical flow
2017-01-23 21:23:16 +11:00
Andrew Tridgell 77950301ed SRV_Channel: fixed set_default_function() 2017-01-23 10:35:26 +11:00
Peter Barker acb5ddd140 GCS_MAVLink: issue MISSION_COUNT packet if seq request too large 2017-01-23 09:07:29 +11:00
murata 34e491f168 AP_Notify: Add a NULL pointer check. 2017-01-22 23:05:53 +01:00
Andrew Tridgell 09c969477f AP_AHRS: fixed fallback to DCM for get_position
this fixes dead-reckoning on fixed wing on GPS loss, and fallback to
DCM on loss of EKF position in fixed wing

This was broken by the EKF3 merge
2017-01-22 13:40:46 +11:00
Francisco Ferreira d472fbde0c
AP_GPS: fix PX4 GPS driver leap seconds 2017-01-21 21:59:36 +00:00
Peter Barker 591bb32496 AP_Mission: correct off-by-one check when fetching mission items 2017-01-21 15:30:11 +09:00
Randy Mackay 53d1585ebf Compass: relax compass consistency checks for pixracer 2017-01-21 12:10:00 +09:00
Randy Mackay 0c4e3cd8e4 Compass: pixracer calibration fitness default relaxed 2017-01-21 10:15:11 +09:00
Peter Barker d2b2ddcb02 RC_Channel: make min_max_configured const 2017-01-20 13:02:53 +09:00
Peter Barker a481e52861 AP_Param: make configured() const 2017-01-20 13:02:53 +09:00
Andrew Tridgell a6ecb94d24 AP_Motors: MotorsTri does not need its own var_info now 2017-01-20 12:05:09 +11:00
murata 8a32d09264 AP_Notify: Change arming time count check. 2017-01-19 17:42:46 +00:00
Pierre Kancir 83c7217911 AP_IRLock_SITL: correct packet timestamp 2017-01-19 17:08:43 +00:00
Lucas De Marchi fd0e4164b9 AP_Notify: DiscoLED: keep includes sorted 2017-01-19 08:59:00 -08:00
Lucas De Marchi c27c414e5a AP_HAL_Linux: Led_Sysfs: small fixes
- avoid trying to close fd when it's -1

  - Keep includes sorted

  - AP_HAL::panic() doesn't need \n terminator

  - %u requires unsigned type

  - #pragma once is the first thing on a header
2017-01-19 08:56:32 -08:00
Mathieu OTHACEHE 701d91f20c AP_Notify: Disco: use new led sysfs backend or, if not available, legacy
pwm backend to drive leds.

In new Disco releases, the led sysfs api will replace the pwm sysfs
api to drive the tricolor led.

Keep pwm sysfs api for compatibility reasons.
2017-01-19 08:24:48 -08:00
Mathieu OTHACEHE 7d4d14a409 AP_HAL_Linux: add Led_Sysfs class.
Add a class to control leds via linux sysfs API.
2017-01-19 08:24:47 -08:00
murata dd0d09175b AP_Beacon: Changed if statements to switch statement. 2017-01-19 11:26:32 +09:00
Mathieu OTHACEHE bad1c879d9 AP_HAL: Bebop & Disco: move default param file path
In future Bebop & Disco releases, no ardupilot binary nor default param file
will be provided.

So move HAL_PARAM_DEFAULTS_PATH to ardupilot folder in RW memory.
2017-01-18 18:08:01 +00:00
Mathieu OTHACEHE fdb2a9c99b AP_HAL: Bebop & Disco: rename APM to ardupilot in paths
Rename APM to ardupilot for Bebop and Disco's HAL_BOARD_LOG_DIRECTORY and
HAL_BOARD_TERRAIN_DIRECTORY.
2017-01-18 18:08:01 +00:00
Michael du Breuil d5a5a97a3d SITL: Use the GPS_LEAPSECOND define 2017-01-18 18:07:26 +00:00
Michael du Breuil c696137a42 AP_GPS: Update the number of leapseconds 2017-01-18 18:07:26 +00:00
Randy Mackay ff042528fe AC_PosControl: remove alt_max
AC_Avoidance enforces the altitude limit
2017-01-18 09:35:47 +09:00
Randy Mackay 127404acea AC_PosControl: add get_pos_z_kP accessor 2017-01-18 09:35:47 +09:00
Randy Mackay e799e3a342 AC_Avoidance: stop based on upward facing proximity sensor 2017-01-18 09:35:47 +09:00
Randy Mackay 2133fd94ca AC_Avoidance: adjust_velocity_z uses inav get_hgt_ctrl_limit
inertial navigation's get_hgt_ctrl_limit provides an altitude-above-ekf-origin limit while flying with optical flow
2017-01-18 09:35:47 +09:00
Randy Mackay f73efd5249 AC_Avoidance: add adjust_velocity_z
This allows reducing the climb rate to slow the vehicle's climb so it does not breach the altitude fence
2017-01-18 09:35:47 +09:00
Randy Mackay 12dd6e11fb AC_Avoidance: constify get_position 2017-01-18 09:35:47 +09:00
Randy Mackay a47e215a8e AP_Proximity: add get_upward_distance
This allow support for upward facing proximity sensor received through a DISTANCE_SENSOR message.
Also added SITL test
2017-01-18 09:35:47 +09:00
Randy Mackay e7ba2420c1 AP_InertialNav: expose get_hgt_ctrl_limit to parent class 2017-01-18 09:35:47 +09:00
mirkix d2431dafd0 AP_AHRS: fix description 2017-01-17 18:55:46 +00:00
murata e903cb9945 AP_Math: Change mask value to hexadecimal number. 2017-01-17 10:20:15 -08:00
Peter Barker 8b38ce666d SITL: SIM_XPlane: fix fabsf/abs warning; location alts are in integer cm 2017-01-17 09:41:37 -08:00
Peter Barker e9a0e98863 AP_HAL_SITL: use fabs on double values 2017-01-17 09:41:37 -08:00
Julien Beraud b561837b41 RangeFinder_Bebop: Fix mode selection
mistakes in selecting mode
2017-01-17 09:34:25 -08:00
Julien Beraud 8a1f4e048f RangeFinder_Bebop: fix spi speed
Set spi speed. Else 0 will be sent at each transfer.
2017-01-17 09:34:25 -08:00
Pierre Kancir e627bbc912 AP_HAL: Board fix typo for baro BMP280_SPI 2017-01-17 17:33:37 +00:00
Randy Mackay 189b766f2b AC_AttControl: remove redundant parameter set 2017-01-17 14:56:07 +09:00
Leonard Hall c6d2fc3d5d AC_AttitudeControl: add rpy mix manual
This allows adjusting the attitude control vs throttle level in manual
flight modes (Stabilize, ACRO)
2017-01-17 14:19:09 +09:00
Randy Mackay d35a208dae AP_Arming: remove unused set_enabled_checks 2017-01-17 11:45:08 +09:00
Randy Mackay 34a850e1a5 AP_Arming: formatting and comment fixes
No functional change
2017-01-17 11:45:08 +09:00
Randy Mackay 593f035c53 AP_Arming: remove required, min-volt, min-volt2 params from Copter 2017-01-17 11:45:08 +09:00
Randy Mackay 5be3d14648 AP_Arming: rudder_arming moved to AP_Arming_Plane 2017-01-17 11:45:08 +09:00
Peter Barker 1f37366c5b AP_Arming: make expected magnetic field strength available to subclasses 2017-01-17 11:45:08 +09:00
Peter Barker 8159c4b747 AP_Arming: add comments on parameters only currently used by plane 2017-01-17 11:45:08 +09:00
Peter Barker 362c6e1b9e AP_Arming: use callback in place of variable reference for home state 2017-01-17 11:45:08 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 363574244b AP_Stats: Add missing parameter units 2017-01-16 19:07:27 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas bebb128d22 AP_Proximity: Add missing parameter units 2017-01-16 19:07:27 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas cae557fb4c AP_NavEKF3: Correct display names, bitmask and units 2017-01-16 19:07:26 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas 715d094678 AP_NavEKF2: Correct display names, bitmask and units 2017-01-16 19:07:26 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas 2243d900d5 AP_Gripper: Add missing parameter units 2017-01-16 19:07:26 +00:00
Julien Beraud 0d4ca03dcd AP_HAL_Linux: init SPIDevice speed by default
Else a speed of 0 will be sent at each transfer.
Behaviour has changed when introducing SPIDevice
2017-01-16 10:23:47 -08:00
Randy Mackay 6aeef76768 AP_Proximity: fix get_boundary_points in case of multiple sensors 2017-01-16 16:38:18 +09:00
Andrew Tridgell 8aa100d164 AP_Baro: fix for change to timer API 2017-01-14 12:54:37 +11:00
mirkix 4e06be38ac AP_HAL: Add Bosch BMP280 driver 2017-01-14 12:52:07 +11:00
mirkix 1ce5e5360a AP_Baro: Add Bosch BMP280 driver 2017-01-14 12:52:07 +11:00
Andrew Tridgell 58a0a6a2fc AP_Compass: disable lis3mdl for now
pending investigation of possible hw error
2017-01-14 12:40:04 +11:00
Lucas De Marchi 5472bc4de1 Global: change Device::PeriodicCb signature
Remove bool return as it's never being used and not supported on PX4.
2017-01-14 10:03:54 +11:00
Pierre Kancir 5aa4bc4368 AP_Params: fix seg fault in debug function
otherwise at start, when loading paramter is could fail at AP_Param.cpp:611, Debug("scan past end of eeprom")"
2017-01-13 08:54:20 -08:00
murata 87c2dfd921 AP_Baro: Change to secure code, from magic number to sizeof value. 2017-01-12 13:56:18 -08:00
Andrew Tridgell d005cbffd8 AP_Param: added convert_parent_class() 2017-01-12 17:39:37 +11:00
Andrew Tridgell 05e9462a9c AP_Param: added CONVERT_FLAG_REVERSE and CONVERT_FLAG_FORCE 2017-01-12 17:39:37 +11:00
Andrew Tridgell e248078401 SRV_Channel: added AP_Motors servo channel parameter upgrading 2017-01-12 17:39:37 +11:00
Andrew Tridgell d430cd62a6 AP_Param: fixed loading defaults file after storage
make sure defaults don't override storage values
2017-01-12 17:39:37 +11:00
Andrew Tridgell 0c32178d07 AP_Param: added reload_defaults_file()
this allows defaults to be set for parameters in pointer objects
2017-01-12 17:39:37 +11:00
Andrew Tridgell ccae8979c1 AC_PID: expose filt_hz as a AP_Float
this allows defaults to be overridden
2017-01-12 17:39:37 +11:00
Andrew Tridgell 2086b591a2 AC_PID: expose ff() method in AC_PID
this allows for an abstract AC_PID class to be used in
AC_AttitudeControl for both multicopter and heli
2017-01-12 17:39:37 +11:00
Andrew Tridgell 8e3bf71aa9 AP_Motors: allow single, tri and coax to be part of multicopter class 2017-01-12 17:39:37 +11:00
Andrew Tridgell 5cf1c0869d AC_AttitudeControl: expose all functions via abstract class
this allows for a single class to be used for heli and multicopter
2017-01-12 17:39:37 +11:00
Andrew Tridgell 8799094278 AP_Motors: use SRV_Channel for tri tail servo 2017-01-12 17:39:37 +11:00
Andrew Tridgell 86e0b8a91f SRV_Channel: added automatic parameter upgrade 2017-01-12 17:39:37 +11:00
Andrew Tridgell 77a7e7ca01 RC_Channel: give access to internals to SRV_Channel
needed for parameter upgrade
2017-01-12 17:39:37 +11:00
Andrew Tridgell c133b515e0 AP_ServoRelayEvents: fixed trim bug
thanks to Buzz for noticing!
2017-01-12 17:39:37 +11:00
Andrew Tridgell 26f9a5569f SRV_Channel: added tracker_yaw and tracker_pitch for antenna tracker channels 2017-01-12 17:39:37 +11:00
Andrew Tridgell 37c6bec902 HAL_QURT: fixed a bug in new_input()
same as for HAL_Linux
2017-01-12 17:39:37 +11:00
Andrew Tridgell 1bd9d0b7f9 HAL_PX4: cleanup whitespace 2017-01-12 17:39:37 +11:00
Andrew Tridgell ea2e32c102 SRV_Channel: implement limit_slew_rate() 2017-01-12 17:39:37 +11:00
Andrew Tridgell 51864b23eb SRV_Channel: cleanup header 2017-01-12 17:39:37 +11:00
Andrew Tridgell b6aa4205b4 RC_Channel: cleanup API and comments a bit 2017-01-12 17:39:37 +11:00
Andrew Tridgell 929fbce2c2 AP_LandingGear: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Andrew Tridgell b3d30cbd4b AP_Gripper: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 5817cc400c AC_Sprayer: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 1ac5776b8b AC_Sprayer: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 39ab1a0abc SITL: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 0942291e74 GCS_MAVLink: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell ede66aae17 AP_Tuning: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell f73f3bedda AP_ServoRelayEvents: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 7706741b9b AP_Parachute: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 4173432542 AP_Mount: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell ee7b9a3f8e AP_Camera: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 638f1364be AP_Motors: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 04ce73d8d7 AP_ICEngine: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell 117974ef0f HAL_SITL: obey enable mask for output channels 2017-01-12 17:39:37 +11:00
Andrew Tridgell 9dc7dbfa16 AP_AdvancedFailsafe: adapt to new RC_Channel API 2017-01-12 17:39:37 +11:00
Andrew Tridgell fd081a8cc6 SRV_Channel: split SRV_Channel into separate directory 2017-01-12 17:39:37 +11:00
Andrew Tridgell 0791186cd2 RC_Channel: split SRV_Channel into separate directory 2017-01-12 17:39:37 +11:00
Andrew Tridgell 64aa13e7f4 RC_Channel: 2nd stage of SRV_Channels conversion
allow for 16 output channel objects
2017-01-12 17:39:37 +11:00
mirkix 62fabca19d AP_InertialSensor: Enable I2C bypass for MPU9250 conntected via I2C to access internal AK8963 2017-01-11 21:44:24 -08:00
Pierre Kancir ab9e88299f AP_HAL_SITL: Scheduler remove unreachable code & minor fix
usleep wasn't reached since synthetic clock is always used
correct style
make constructor explicit
use c++ cast
2017-01-12 01:27:16 +00:00
Pierre Kancir 63b3618fc7
AP_HAL_SITL: RCOuput minor fix
correct style
make constructor explicit
use c++ cast
2017-01-12 01:20:06 +00:00
Pierre Kancir ff46964d22
AP_HAL_SITL: RCInput minor fix
fix style
make constructor explicit
remove unused _valid
correct read to return real length instead of fixed 8
correct implicit cast
2017-01-12 01:19:54 +00:00
Pierre Kancir 7f5b32f59f AP_HAL_SITL: GPIO minor fixes
fix style
make constructor explicit
fix implicit cast for unsigned to signed value
correct DigitalSource constructor definition
2017-01-12 01:06:20 +00:00
Pierre Kancir 8ade9d1fe8 AP_HAL_SITL: style fixes 2017-01-12 01:06:20 +00:00
Pierre Kancir 5b2b4430b3 AP_HAL_SITL: AnalogIn minor fixes
change pin to int16_t to match real implementation and prevent casting.
make constructor explicit
2017-01-12 01:06:20 +00:00
Randy Mackay 7c7144fd8f AP_Proximity: minor comment spelling fix 2017-01-11 21:48:23 +09:00
Randy Mackay 74f1899aeb AP_Proximity: boundary_points requires only one valid distance
Object avoidance is possible with just one valid distance
Boundary is initialised in new init_boundary function to be 100m from
vehicle
If sectors do not have valid distance measurements, we use the distance
from adjacent sectors.  This conveniently leads to a concave shaped
boundary that keeps the vehicle from travelling into the dataless sector.
2017-01-11 21:48:23 +09:00
Randy Mackay a0a8472a44 AP_Proximity: fix consumption of distance-sensor messages 2017-01-11 21:48:23 +09:00
Lucas De Marchi b910f230fb AP_HAL_Linux: RCInput: replace volatile with atomic 2017-01-11 11:25:00 +11:00
Andrew Tridgell 0a18f5e7b2 HAL_Linux: fixed a bug in RCInput::new_input
when a library called read() it would clear the new input flag, which
would cause new_input() in the main loop to return false. This could
trigger a false RC failsafe.
2017-01-09 21:47:19 -08:00
Andrew Tridgell 9b7f0f7957 AP_HAL: make new_input() API clearer in comments 2017-01-09 21:47:11 -08:00
Randy Mackay d4daa10045 AP_Proximity: add MAV type to parameter descriptions 2017-01-10 11:00:00 +09:00
Francisco Ferreira c6875e1756
AP_NavEKF2: remove editor information wrongly added in d408d25 2017-01-09 16:16:14 +00:00
murata 974d63a6b5 AP_HAL: Change the format of the return value of the method header. 2017-01-09 15:46:03 +00:00
Pierre Kancir c0be20ece2 SITL: XPLANE fix member shadowing 2017-01-09 06:51:48 -08:00
Dr.-Ing. Amilcar Do Carmo Lucas b7f32e216d AP_GPS: update parameter descriptions 2017-01-09 13:32:28 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 9389ec2274 AP_NavEKF2: fix parameter descriptions 2017-01-09 13:30:30 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 195e32c2fc AP_NavEKF3: fix some parameter descriptions 2017-01-09 13:30:24 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 8032ed295d AP_Avoidance: add units to param descriptions 2017-01-09 13:25:33 +09:00
Andrew Tridgell eaf5676636 SITL: fixed unselection bitmask bug in XPlane 2017-01-09 09:55:14 +11:00
Andrew Tridgell da45aef5c6 AP_HAL: fixed a logic bug in the srxl state machine
when decoding invalid input the buflen could grow to beyond the buffer
size, overwriting the next block of memory. On Disco this ended up
overwriting the Perf::_instance variable, which led to a segmentation
fault
2017-01-09 09:14:13 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 713b08d830 AC_WPNav: Reduced WPNAV_SPEED minimum to 20cm/s 2017-01-07 14:30:07 +09:00
Andrew Tridgell 35d6dc141a SITL: only de-select data types in xplane once
don't fight the user
2017-01-07 14:41:23 +11:00
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