Commit Graph

14109 Commits

Author SHA1 Message Date
Andrew Tridgell 7cd290af9b AP_HAL: added defaults offsets max for disco 2017-04-10 19:17:37 +10:00
priseborough 8250fe4943 AP_NavEKF3: fix documentation derivation references 2017-04-10 15:47:35 +09:00
Andrew Tridgell bcec837f06 AP_BoardConfig: fixed warning in SITL build 2017-04-10 10:02:42 +10:00
Michael du Breuil 6b523cbd46 AP_GPS: Fix a memory leak in QURT GPS
Fixes part of #6000
2017-04-09 16:56:00 +10:00
Andrew Tridgell 3236090d71 HAL_SITL: allow plane and rover to use SIM_ENGINE_FAIL 2017-04-09 16:45:19 +10:00
Andrew Tridgell 68e0b5b7fa SITL: support XPlane-11
the packets are prefixed with DATA* instead of DATA@

This makes it work with both versions
2017-04-09 16:39:26 +10:00
Andrew Tridgell dbfdfa2261 HAL_PX4: fixed a bug in setup of alt rates for upper channels
this affected vehicles with high rates on upper channels, such as hexa
and octa quadplanes. The bug caused the rates set on the upper channels
to also be set on the primary channels, which means the low channels
containing aileron, elevator etc ran at 400Hz instead of 50Hz, resulting
in potential damage to the servos
2017-04-07 20:32:19 +10:00
Andrew Tridgell a8b12dcf3c HAL_PX4: never wait on a semaphore in interrupt context
this shouldn't ever happen, but better to check
2017-04-07 18:16:14 +10:00
Andrew Tridgell 1c5607b42d AP_RPM: fixed build for aero-fc 2017-04-07 17:45:10 +10:00
Peter Barker feb30b3b9b DataFlash: add mutex for WritePrioritisedBlock
Multiple threads attempt to write blocks; don't let
them interfere
2017-04-06 22:09:18 +10:00
Peter Barker 2fa97c9906 DataFlash: improve privacy aspects of instance variables 2017-04-06 22:09:18 +10:00
Michael du Breuil 33d0fa3e82 AP_AHRS: Fix an index out of bounds
Coverity 137817, getPrimaryCoreIMUIndex() can return -1, which is then invalid to pass to get_delta_velocity_dt
2017-04-06 08:44:57 +10:00
Michael du Breuil a0cb34db57 AP_Landing: Leverage new nav_controller loiter radius interface 2017-04-06 08:26:04 +10:00
Michael du Breuil 93a18e7dc8 L1: Add loiter radius scaling based upon bank limits at sea level 2017-04-06 08:26:04 +10:00
Michael du Breuil 2ac32ad204 AP_Navigation: Add a loiter radius interface 2017-04-06 08:26:04 +10:00
Michael du Breuil 336b4a64d7 AP_Navigation: Whitespace (tab/spaces inconsistency) 2017-04-06 08:26:04 +10:00
Jacob Walser 4e700ea4df AP_JSButton: Change mode button function implementation 2017-04-05 13:29:06 -04:00
Dr.-Ing. Amilcar Do Carmo Lucas b4260c77be Add and update missing SITL command line usage information 2017-04-05 20:17:40 +10:00
priseborough 06c073e448 AP_NavEKF3: Update tilt alignment check 2017-04-05 20:16:16 +10:00
Andrew Tridgell c118deccb0 AP_BoardConfig: added BRD_IO_ENABLE parameter
allow for px4io to be disabled completely
2017-04-05 20:14:53 +10:00
Peter Barker 3defe584e7 DataFlash: extract common labels and formats into defines 2017-04-05 19:16:21 +10:00
Peter Barker 510aa587ef DataFlash: add validation for logging structures 2017-04-04 20:03:33 +01:00
Peter Barker 2746edfd32 DataFlash: move Init from LogFile.cpp to Dataflash.cpp (NFC) 2017-04-04 20:03:33 +01:00
Andrew Tridgell 9e2cfabb8a AP_RPM: support RPM input on any AUX pin 2017-04-04 16:33:45 +10:00
Peter Barker 564ff3a468 GCS_MAVLink: always allow HOME to be read by MISSION_REQUEST
Fixes #5980
2017-04-04 15:00:07 +10:00
Andrew Tridgell fafd940dd5 AP_Arming: use compass get_offsets_max() 2017-04-04 00:49:34 +01:00
Andrew Tridgell ee2afd3242 AP_Compass: added COMPASS_OFFS_MAX
this allows setup of airframes with hatch magnets
2017-04-04 00:49:34 +01:00
Jacob Walser 98b7dac870 AP_ServoRelayEvents: Remove constraint on 'channel' value
This was preventing proper function of Relay #0, and the intention of
this check was redundant
2017-04-04 09:14:07 +10:00
Andrew Tridgell 6ec32472c5 AP_Airspeed: average two readings for airspeed
given we're using it to check for errors, we may as well reduce analog
noise too
2017-04-04 08:40:31 +10:00
Peter Barker 724be3878c AP_HAL_PX4: correct output of system-id on px4-v3 2017-04-03 14:14:59 +10:00
Andrew Tridgell a11dca5229 AP_AHRS: added optional skip_ins_update to AHRS::update()
avoid the ins update if already done in copter fast_loop()
2017-04-03 13:04:11 +09:00
Andrew Tridgell 02976168cc HAL_PX4: fixed RC rate when BRD_PWM_COUNT=0
if BRD_PWM_COUNT is zero then alt_fd is -1, and we were not setting
servo output rate
2017-04-03 10:05:30 +09:00
Andrew Tridgell c952e58edb AP_InertialSensor: fixed invensense driver temp reading
different parts have quite different zero offsets in temperature
2017-04-03 10:06:27 +10:00
Michael du Breuil 4932a8b9ef Airspeed: Sanity check MS4525DO data, and utilize a double read 2017-04-01 11:19:39 +11:00
Sriram Sami 8bb052d019 AP_Motors: update descriptions for new parameters 2017-04-01 05:25:59 +11:00
Sriram Sami 1793bac8d4 AP_Motors: add parameters for HELI_DUAL
- add COL2_MIN/MID/MAX parameters that control limits of rear swashplate
- output collective_mid correctly for rear swashplate when servo is in manual mode
2017-04-01 05:25:59 +11:00
Peter Barker d3b442d8b6 DataFlash_MAVLink: remove dead comments 2017-03-31 15:02:14 +01:00
Peter Barker d8c475ad04 DataFlash: use override keyword on many methods 2017-03-31 15:02:14 +01:00
Andrew Tridgell 6c31a6982b DataFlash: added Log_Write_AttitudeView 2017-03-31 11:30:44 +11:00
Andrew Tridgell 5f02b7eddb AP_AHRS: added get_error_rp and get_error_yaw to AHRS_View 2017-03-31 11:30:44 +11:00
Peter Barker 4cb43b1c27 DataFlash: correct repeated FMT logging bug 2017-03-30 20:19:15 +11:00
Randy Mackay dcc4f69f7c AP_BattMonitor: confirm pec support before attempting to read voltage
Previously we checked PEC support continuously at 10hz.  With this change PEC support (or lack of support) is determined first before we try to read from the battery.  Once determined, we do not repeat the checks.
Also simplified logic to determine PEC support based on version (should have no functional effect)
Also renamed get_pec_support to check_pec_support
Also renamed _pec_confirm to _pec_confirmed
2017-03-30 10:34:45 +09:00
Randy Mackay 884892be16 AP_BattMonitor: const some temp variables
Also other minor changes in response to peer review
2017-03-30 10:34:45 +09:00
Tatsuya Yamaguchi 6b4a46d467 AP_BattMonitor: fix to use the return value of get_pec_support 2017-03-30 10:34:45 +09:00
Tatsuya Yamaguchi b052f96f6c AP_BattMonitor: check a PEC support using SpecificationInfo 2017-03-30 10:34:45 +09:00
Randy Mackay eded4f90bb GCS_MAVLink: timesync sends nanoseconds 2017-03-30 08:50:37 +09:00
Randy Mackay eddd6e5681 GCS_MAVLink: only respond to timesync messages with empty tc1
This avoids the possibility of a timesync message storm
Also process as a common message because no vehicle information is required
Moved location of new method to bottom of cpp file
2017-03-30 08:50:37 +09:00
fnoop fdc310fe97 GCS_MAVLink: add TIMESYNC message handler 2017-03-30 08:50:37 +09:00
Francisco Ferreira ec5bbbd2d0
DataFlash: fix BAR2 and BAR3 message format after baro log struct changed 2017-03-30 00:42:10 +01:00
Guilherme Sousa 584890a864 AP_HAL_SITL: Fail motors with SIM_ENGINE_FAIL 2017-03-29 22:43:14 +11:00
Guilherme Sousa 204fcba8c1 SITL: Added SIM_ENGINE_FAIL to define failed motor 2017-03-29 22:39:51 +11:00
Jonathan Challinger 9979e4bbe5 AC_PrecLand: fix usage of distance_to_target 2017-03-29 14:45:56 +09:00
Jonathan Challinger a772e1bd3d AC_PrecLand: add parameters for camera position relative to the CG 2017-03-29 14:45:56 +09:00
Randy Mackay 8f1d122766 AC_PrecLand: add ACC_P_NSE parameter 2017-03-29 14:45:50 +09:00
Randy Mackay 5dd5c22c39 AC_PrecLand: build IRLock on all boards 2017-03-29 14:45:49 +09:00
Randy Mackay 1fb6d468c6 AC_PrecLand: non functional changes including adding comments 2017-03-29 14:45:38 +09:00
Jonathan Challinger 2a29d7fedd AC_PrecLand: rework estimation, add EST_TYPE param 2017-03-29 14:36:22 +09:00
Jacob Walser 1ad10d0903 AP_JSButton: Add button function to toggle between forward/lateral and
roll/pitch adjustment
2017-03-28 16:04:36 -04:00
Jacob Walser b70ec54083 AP_JSButton: Fix indices in comment 2017-03-28 15:20:40 -04:00
Jacob Walser ea054e322b AP_JSButton: Add servo min/max functions 2017-03-28 14:54:23 -04:00
Jacob Walser ca651ea8fa AP_JSButton: Add buttons for servo adjustments 2017-03-28 14:54:23 -04:00
Michael du Breuil 16433cbf7a DataFlash: Log the ground temperature used for baro calculations 2017-03-28 11:25:46 +11:00
Michael du Breuil c37209a8d5 AP_Baro: Limit ground temperature used for the altitude
Fix an incorrect EAS2TAS that was double counting altitude
2017-03-28 11:25:46 +11:00
Andrew Tridgell 1ad5e1db4e AP_Motors: integrate AP_MotorsHeli_Dual
fixed issues with combining with Heli_Single
2017-03-25 16:22:10 +11:00
Fredrik Hedberg 998231ab0d AP_Motors: added AP_MotorsHeli_Dual
for tandem and transverse helis
2017-03-25 16:22:10 +11:00
Andrew Tridgell 47803e73e4 AP_Param: allow for dynamic var_info tables
this allows the var_info entry in a table to be a constant pointer,
allowing the selection of a type for a parameter class at runtime.
2017-03-25 16:22:10 +11:00
Randy Mackay c1a25c25f7 AC_Fence: return failure message 2017-03-25 10:50:58 +09:00
Randy Mackay 8171645876 AC_Fence: pre-arm check requires GPS if polygon fence enabled 2017-03-25 10:50:58 +09:00
Randy Mackay 69925d8b27 AP_Arming: shorten Accels failure message
This allow the message to fit on the MP HUD
2017-03-25 10:50:58 +09:00
Jonathan Challinger c7a73e84d6 AP_NavEKF3: apply height innovation floor only when barometer is in use 2017-03-24 14:42:36 -07:00
Jonathan Challinger c53125f3b5 AP_NavEKF2: apply height innovation floor only when barometer is in use 2017-03-24 14:42:36 -07:00
Lucas De Marchi 5809e2465b AP_RPM: replace board ifdef with feature ifdef 2017-03-24 12:06:19 +11:00
Lucas De Marchi f91d23daab AP_HAL: add HAL_PX4_HAVE_PWM_INPUT 2017-03-24 12:06:19 +11:00
Lucas De Marchi 7c246847de AP_HAL_PX4: replace board ifdef with feature ifdef 2017-03-24 12:06:19 +11:00
Lucas De Marchi 7ca9c7a443 AP_HAL: add HAL_HAVE_SAFETY_SWITCH 2017-03-24 12:06:19 +11:00
Lucas De Marchi ef1672befc AP_BoardConfig: replace board ifdef with feature ifdef 2017-03-24 12:06:19 +11:00
Lucas De Marchi d3e9f7ce66 AP_HAL: add HAL_PX4_HAVE_PX4IO 2017-03-24 12:06:19 +11:00
Lucas De Marchi 7f5b551050 AP_HAL: add HAL_PX4_HAVE_MTD_SUPPORT 2017-03-24 12:06:19 +11:00
Lucas De Marchi c7fc3ffbc4 AP_HAL: add HAL_HAVE_BOARD_VOLTAGE 2017-03-24 12:06:19 +11:00
Lucas De Marchi 37a050eed9 AP_HAL: add comments and allow for board overrides 2017-03-24 12:06:19 +11:00
Lucas De Marchi 2e4e4365d0 AP_InertialSensor: enable fast sampling for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 9a83f05714 AP_BoardConfig: enable voltage monitoring on aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 7c1f255258 AP_HAL_PX4: add pin to monitor battery 2017-03-24 12:06:19 +11:00
Lucas De Marchi 5787b5a5c5 AP_Compass: IST8310: rename macros
Having "BIT" in the name gives the impression we are using the macro is
the bit position; however they have the values for those actions, not
the bit position. Rename BIT to VAL to be less confusing.
2017-03-24 12:06:19 +11:00
Lucas De Marchi 4bba643abb AP_Compass: IST8310: use variable periodic callback
This is the equivalent of sleep and wait for the conversion time,
after had triggered a new sample request. However it also has the added
benefits of sharing a thread with other sensors on the same bus.

Now we don't read the status register anymore since we have a guaranteed
wait time.
2017-03-24 12:06:19 +11:00
Lucas De Marchi ce1a13aa8f AP_Compass: IST8310: use FSR to reject samples 2017-03-24 12:06:19 +11:00
Lucas De Marchi d84851d8fa AP_Compass: IST8310: improve initialization
- Make sure device is reset while initializing.
 - Give better names to register macros
 - Average X, Y and Z by 16: sensor is internally running at 200 sps
   (theoretical, ~160 pratical). The wait time is ~6msec averaging
   by 16. We do 10msec.
2017-03-24 12:06:19 +11:00
Tom Pittenger c0691afc1f AP_Compass: reject outlier data in IST8310 data by detecting >14bit data 2017-03-24 12:06:19 +11:00
Lucas De Marchi 91dabbe418 AP_HAL_PX4: implement method to ajust periodic callback
Just setting up the periodic callback sampling time on initialization
may not work well for sensors that need to request for a sample with a
bus transaction, sleep and then read the new data. That's because the
function will be kept calling at a periodic rate, while the time in
which we can read the value is not really that sampling time, but rather
the time in which sensor was last read + the time spent in the function
before sending a new sample request.

Instead of creating a new type of thread to handle this case, just
implement the minimal and easy case of updating the period for this
callback, that can only be called from inside the callback function.
2017-03-24 12:06:19 +11:00
Tom Pittenger 8415fde697 AP_Compass: IST8310 chip does not follow right-hand rule format, flip z 2017-03-24 12:06:19 +11:00
Lucas De Marchi b339050e45 AP_Compass: IST8310: account for errors in measurment requests
If we don't recover for errors in the request for new sample, we may get
stuck with no sample anymore. Recover from bad transfers.
2017-03-24 12:06:19 +11:00
Lucas De Marchi 2349909033 AP_BoardConfig: start mtd driver 2017-03-24 12:06:19 +11:00
Lucas De Marchi da68612f4b AP_BoardConfig: make error function public and static
So it can be used by other parts of the code calling px4_start_driver().
2017-03-24 12:06:19 +11:00
Tom Pittenger fb24a03faf AP_Baro: don't compile drivers for devices that don't use them 2017-03-24 12:06:19 +11:00
Lucas De Marchi 156efd6fec AP_Compass: use IST8310 for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi fad583b259 AP_HAL_PX4: RCOoutput_Tap: map to [ RPMSTOPPED, RPMMAX ] range
When it's not armed we get _esc_pwm_min from the AP_Motors library,
which would cause motors to start spinning.  Map it to start from
RPMSTOPPED so it doesn't spin when it's not armed.
2017-03-24 12:06:19 +11:00
Lucas De Marchi 5e26940070 AP_HAL_PX4: disable safety switch for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi a682bb837a AP_SerialManager: uartA with 460800 baud for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 20c5e9ec08 Add support for external mag on aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 327de91b5c AP_HAL_Px4: use RCOutput_Tap for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 75977cd890 AP_HAL_PX4: implement motor output for aerofc
This uses tap ESCs, as found on the PX4 project, translated to our
internal APIs. It doesn't have the feedback from ESCs yet.
2017-03-24 12:06:19 +11:00
Lucas De Marchi ce9013b8ee AP_HAL_PX4: add RCOutput skeleton for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 87846fe049 AP_InertialSensor: use MPU6500 on aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi b4d0569339 AP_HAL_PX4: Use empty RCOutput driver for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 00c2949dfb Add support for baro on aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi b17acfee12 Add aerofc support
Flight Controller board that comes on Intel Aero RTF Drone.
2017-03-24 12:06:19 +11:00
Andrew Tridgell 2d603c1cba SRV_Channel: fixed reversing on servo gimbals 2017-03-23 11:02:07 +09:00
Jacob Walser 1b00dfb642 AP_GPS: Fix parameter metadata 2017-03-22 16:16:26 -07:00
Jacob Walser a9a8521383 AP_OpticalFlow: Fix parameter metadata 2017-03-22 16:16:26 -07:00
Jacob Walser 646d68c76d AP_NavEKF2: Fix parameter metadata 2017-03-22 16:16:26 -07:00
Jacob Walser 84e5e088de AP_BoardConfig: Fix parameter metadata 2017-03-22 16:16:26 -07:00
murata 1a781f44cc AP_Notify: Correct the display area clear of the text message. 2017-03-22 01:24:21 +00:00
Francisco Ferreira c0238be345
AP_FrSky_Telem: fix sending messages 3 times
Initialize variable
Also some small style changes
2017-03-22 01:23:26 +00:00
Florent Martel 02c0885cfd AP_Frsky_Telem: fixes #5862
MAVLink strings of exactly 50 characters are not NULL terminated, so
instead we must check that the 50th character has been reached.
2017-03-22 01:22:14 +00:00
Siddharth Bharat Purohit 5029dd1bab AP_HAL_PX4: GPIO: return correct FMU pin read even if IO not connected/detected 2017-03-22 12:15:05 +11:00
Michael du Breuil 2aec41e0ef AP_HAL_SITL: Fix SIM_GPS_DISABLE not disabling the ublox GPS with PVT support 2017-03-19 23:13:11 -07:00
Eugene Shamaev 41fe4d0515 AP_Landing: fix to remove reorder warning 2017-03-20 07:32:36 +11:00
Pierre Kancir 1a374aa9f6 SIM_Gazebo: add a timeout to reset timestamp check 2017-03-18 19:58:11 +11:00
Pierre Kancir d4a0a92b8b SITL: cmdline reorder help and param for better readability and futher extension
add missing options
2017-03-18 19:58:11 +11:00
Pierre Kancir 29d35699f2 SITL: Gazebo, throw old paquet based on timestamp as we are using UDP
Add some comments
2017-03-18 19:58:11 +11:00
Pierre Kancir d612209c19 SITL: Gazebo fix implicit cast 2017-03-18 19:58:11 +11:00
Pierre Kancir ee7355a301 SITL: Reduce some variables scope and include 2017-03-18 19:58:11 +11:00
Pierre Kancir 8054405521 SITL: Change interface port to a generic solution for external simulator 2017-03-18 19:58:11 +11:00
Pierre Kancir 6e0319d513 SITL: Add RCout port option to cmdline 2017-03-18 19:58:11 +11:00
Pierre Kancir a8d5079a38 SITL: Ensure that Instance parameter don't override manualy setted port 2017-03-18 19:58:11 +11:00
Tully Foote 25fad0a8c2 SITL: Add more command line arguments for port selection. 2017-03-18 19:58:11 +11:00
Pierre Kancir 5b8c89225a SITL: Make socket more verbose 2017-03-18 19:58:11 +11:00
Pierre Kancir 567a8d68e5 SITL: Make socket error more verbose 2017-03-18 19:58:11 +11:00
Pierre Kancir 8f2bdf51ea SITL: gazebo add socket drain 2017-03-18 19:58:11 +11:00
Pierre Kancir 1bb4e3c9b7 AP_IRLock_SITL: make port variable 2017-03-18 19:58:11 +11:00
Pierre Kancir 63ea8c6f21 SITL: enable multi sitl for gazebo 2017-03-18 19:58:11 +11:00
Andrew Tridgell fc4caf51e9 HAL_PX4: fixed RC failsafe for SBUS on FMUv4
the FMUv4 SBUS parser sets timestamp_last_signal even if we are in
failsafe

thanks to Mark Whitehorn for finding this
2017-03-18 17:36:13 +11:00
Pierre Kancir afb488c627 AP_GPS: fix implicit conversion warning from float to double 2017-03-17 13:07:57 +01:00
murata 33f91b5af5 AP_Notify: whitespace changes 2017-03-17 01:29:11 +00:00
murata 3a6f8d2136 AP_Notify: Preprocessor out EMOJI code group with character bitmap. 2017-03-17 01:26:54 +00:00
CSe 491b545fab SITL: fix gimbal connection on Windows 2017-03-17 00:43:21 +00:00
Peter Barker bcb0ead71a AP_Notify: improve display detection
Create probe function for displays
Use a mask to determine I2C buses to probe
2017-03-17 00:37:40 +00:00
Pierre Kancir bd4880b231 SRV_Channel: correct typo 2017-03-16 19:35:58 +00:00
Andrew Tridgell 2ef6473816 AP_ServoRelayEvents: fix do_set_servo
this was broken by the recent SRV_Channels changes

thanks to Jacob for noticing this!
2017-03-15 12:36:48 +11:00
Randy Mackay 132979b12f AC_PosControl: protect against POS_Z_P, ACCEL_Z_P divide-by-zero 2017-03-15 09:22:23 +09:00
Randy Mackay d4c4daca16 AC_WPNav: speed-up and down parameter min to 10cm/s 2017-03-15 09:22:23 +09:00
Randy Mackay 8c6c2e46cc AC_WPNav: protect against LOIT_SPEED divide-by-zero 2017-03-15 09:22:23 +09:00
Andrey Kolobov 5fdebe23cc AP_TECS: disable bad descent for soaring 2017-03-14 08:53:11 +11:00
Andrey Kolobov 9f2f070439 AP_Soaring: adding const qualifiers to some of soaring controller's methods 2017-03-14 08:53:11 +11:00
Andrew Tridgell 2b2fed735b AP_Soaring: fixed SOAR logging 2017-03-14 08:53:10 +11:00
Andrey Kolobov 42f5b5a232 AP_Soaring: fixes for matrixN changes 2017-03-14 08:53:10 +11:00
Andrew Tridgell 819c70494f AP_Soaring: added SOAR_ENABLE_CH parameter 2017-03-14 08:53:10 +11:00
Andrey Kolobov a1fa2a9de3 AP_Math: added matrixN for soaring controller 2017-03-14 08:35:44 +11:00
akolobov a3f3097941 AP_TECS: added function to reset integrator 2017-03-14 08:20:48 +11:00
akolobov acddf6bdf3 AP_SpdHgtControl: added function to reset integrator 2017-03-14 08:20:48 +11:00
Andrey Kolobov ea534f0445 AP_Soaring: added AP_Soar library, formerly known as SoaringController 2017-03-14 08:20:48 +11:00
Francisco Ferreira 7afcbf51ec
AP_Math: also fix SEC_PER_WEEK 2017-03-13 02:57:30 +00:00
murata 1982285e23 AP_Math: update MSEC_PER_SEC definition to fix GPS time calcs 2017-03-13 11:50:33 +09:00
Randy Mackay b82098ca44 AP_GPS: fix blended ground course
Thanks to jyl58 for finding this
2017-03-13 11:21:47 +09:00
Randy Mackay 3e628f30ff AP_GPS: fix blending when accuracy reported as 1mm
Thanks to Michael DuBreuil for suggesting the fix
2017-03-13 11:31:51 +11:00
Randy Mackay f340c118d4 AP_Arming: GPS blending health check renamed 2017-03-13 11:31:51 +11:00
Randy Mackay 2002827de3 AP_GPS: rename pre-arm blending health check 2017-03-13 11:31:51 +11:00
Randy Mackay e9c881c668 AP_GPS: stop blending if too many blending failures 2017-03-13 11:31:51 +11:00
Randy Mackay b7ad8da9b9 AP_GPS: minor bracketing fix
This silences a warning from eclipse
No functional change
2017-03-13 11:31:51 +11:00
Randy Mackay 5de64273ec AP_GPS: more efficient initialisation of blending arrays 2017-03-13 11:31:51 +11:00
Randy Mackay 81b20e971b AP_GPS_UBLOX: use get_rate_ms accessor 2017-03-13 11:31:51 +11:00
Randy Mackay ef1399a52f AP_GPS: fixups after peer review
This includes these changes:
RATE_MS, RATE_MS2 parameter description Range minimum reduced to 50
_blend_health_counter is reset to 0 if blending is disabled
GPS_MAX_RECEIVERS is replaced with GPS_BLENDED_INSTANCE where appropriate
simplify all_consistent functions check of number of receivers
calc_blended_weights fix for initial check of how many receivers we have
remove unnecessary setting of GPS last time when blending fails
remove RebootRequired from AUTO_SWITCH param description
2017-03-13 11:31:51 +11:00
Randy Mackay 2f21e3b40c DataFlash: rename GPS3/GPA3 to GPSB/GPAB 2017-03-13 11:31:51 +11:00
Randy Mackay 4f0333892d AP_Arming: clarify GPS inconsistency message 2017-03-13 11:31:51 +11:00
Randy Mackay e398bb5c68 AP_Arming: make gps-checks virtual
Copter's GPS checks will override this
2017-03-13 11:31:51 +11:00
Randy Mackay 9f21649dc0 AP_Arming: add gps consistency and blend health check 2017-03-13 11:31:51 +11:00
Randy Mackay 729ce34ce3 AP_GPS: add all_consistent and blend health for use as pre-arm check 2017-03-13 11:31:51 +11:00
Randy Mackay 72dfe1127f AP_GPS: protect parameters from being accessed externally
backends become friends so they can continue to access parameters held in frontend
get_rate_ms made private because only used by frontend
Also moved static arrays higher in cpp file
2017-03-13 11:31:51 +11:00
Randy Mackay 3172657f26 AP_GPS: move constructor and complex accessors to cpp file
These functions are slightly long and make the .h file hard to read.  Also saves a small amount of flash space.
No functional change
2017-03-13 11:31:51 +11:00
Randy Mackay 0066022a7f AP_GPS: check for valid instance in highest_supported_status
highest_supported_status will always return FIX_3D for blended or invalid instance
setHIL_Accuracy checks instance is 2 or less
send_mavlink_gps2_raw uses num_instances variable directly to avoid confusion with num_sensors
2017-03-13 11:31:51 +11:00
Randy Mackay e764f0d5d0 AP_GPS: sanity check update rate
Also minor spelling and parameter documentation fix
2017-03-13 11:31:51 +11:00
priseborough 6b26bdd454 AP_GPS: Add option to blend multiple GPS receivers
Fix pre-existing bug in hard switch logic
Update GPS_AUTO_SWITCH description
protect against zero accuracy estimates returned by GPS drivers
2017-03-13 11:31:51 +11:00
Randy Mackay cd379b0e86 AP_GPS: move time_epoch calcs into proper file
The frontend implementation was in the backend file
No functional change
2017-03-13 11:31:51 +11:00
Randy Mackay a79474dcbc AP_GPS: minor comment fix
No functional change
2017-03-13 11:31:51 +11:00
Randy Mackay 201504dbae AP_GPS: remove unused get_antenna_offsets()
callers always specify an instance
2017-03-13 11:31:51 +11:00
Randy Mackay 2d0258b6a2 AP_GPS: remove unused highest_supported_status(void) 2017-03-13 11:31:51 +11:00
Randy Mackay ac86c7999b AP_GPS_MAV: set have_accuracy as boolean 2017-03-13 11:31:51 +11:00
priseborough a82b6929f1 DataFlash: Allow logging of blended GPS instance
Add GPS and GPA reporting for blended solution
Allow GPS library to manage reporting for the blended solution
2017-03-13 11:31:51 +11:00
priseborough 56a9e2c462 AP_NavEKF3: Reference correct derivation 2017-03-13 11:31:51 +11:00
priseborough 44fa82d58c AP_NavEKF2: Reference correct derivation 2017-03-13 11:31:51 +11:00
priseborough 18927395d7 AP_NavEKF3: log correct GPS for replay 2017-03-13 11:31:51 +11:00
priseborough 407a60e599 AP_NavEKF2: log correct GPS for replay 2017-03-13 11:31:51 +11:00
priseborough 01551a4423 AP_NavEKF3: handle position jump caused by change in GPS receiver
If the GPS receiver selection changes and we are using GPS for height, the vertical position will be reset to the new GPS height measurement.
correct output observer history when doing a GPS height reset
2017-03-13 11:31:51 +11:00
priseborough 8c46d4316b AP_NavEKF2: handle position jump caused by change in GPS receiver
If the GPS receiver selection changes and we are using GPS for height, the
vertical position will be reset to the new GPS height measurement.
correct output observer history when doing a GPS height reset
2017-03-13 11:31:51 +11:00
Randy Mackay 341b926a43 AP_HAL_SITL: add glitch for 2nd ublox 2017-03-13 11:31:51 +11:00
Randy Mackay 07ce7b8bd6 SITL: add GPS2_GLITCH parameter 2017-03-13 11:31:51 +11:00
Michael Oborne e4ff445ea7 AP_GPS_GSOF-NOVA: fix last_gps_time_ms 2017-03-09 10:41:48 -08:00
mirkix 9e1345453f AP_HAL_Linux: BBBmini remove onboard OpticalFlow 2017-03-07 22:48:48 -08:00
mirkix ac60ddfdde AP_OpticalFlow: allow to search on I2C bus 2 2017-03-07 22:48:48 -08:00
mirkix ad208cab56 AP_OpticalFlow: BBBmini remove onboard OpticalFlow 2017-03-07 22:48:48 -08:00
mirkix 81da61a68d AP_HAL: BBBmini remove onboard OpticalFlow 2017-03-07 22:48:48 -08:00
Michael du Breuil be1fd147fc Arming: Remove the SITL protection around GPS configuration, and rely upon the GPS library instead 2017-03-07 12:43:30 +11:00
Michael du Breuil 398ff823c0 AP_GPS: Always consider ublox as configured in sitl 2017-03-07 12:43:30 +11:00
Francisco Ferreira f6687a2d6c AP_Baro: fix example output
PX4 boards can only start console after USB is connected so we need to
check it is available
2017-03-07 09:37:14 +11:00
jaxxzer b98573d55f SITL: Improved Sub simulation
-Constrain z axis movement between -100m (seafloor) and 0m (water
surface)
-More accurate thruster modelling
2017-03-07 09:35:41 +11:00
Michael du Breuil 44bcd74a57 AP_GPS: Remove dead SBF code
CID 125035
2017-03-06 15:24:22 +00:00
Randy Mackay 7a7f8eb7c1 AC_Avoidance: only stop below alt-fence if fence is enabled 2017-03-06 18:02:03 +09:00
Randy Mackay 3e039a6ba4 AP_NavEKF3: minor formatting fixes
No functional change
2017-03-06 18:40:18 +11:00
Randy Mackay a80c0a231d AP_NavEKF3: attempt to set-up every core
previously we would only call setup_core for the 2nd core if the first had been setup successfully
2017-03-06 18:40:18 +11:00
priseborough 7a8783f35e AP_NavEKF3: Fix bug preventing reset to GPS
This fixes a bug that prevented the reset to the GPS position occurring if GPS velocity observations were still passing innovation consistency checks.
2017-03-06 17:11:39 +11:00
priseborough b7c4945000 AP_NavEKF2: Fix bug preventing reset to GPS
This fixes a bug that prevented the reset to the GPS position occurring if GPS velocity observations were still passing innovation consistency checks.
2017-03-06 17:11:39 +11:00
Michael du Breuil 7f11cf3ca6 AP_Mount: Remove solo gimbal from the minimal build support 2017-03-06 11:53:08 +11:00
Randy Mackay 67097c8d59 AC_AttitudeControl: use gyro_latest
This allows moving the attitude control before the ahrs/ekf update

We continue to use ahrs.get_gyro for the non-time-critical heli
passthrough functions.  We should avoid using get_gyro_latest() unless we know there is a direct benefit because it could lead to inconsistent gyro values vs what the EKF is using.
2017-03-03 13:14:28 +11:00
Randy Mackay d3aca5544e AP_AHRS: get_gyro_latest returns latest rates from IMU with drift correction
Pulling the gyro values from the IMU allows our rate controllers to run before the EKF
2017-03-03 13:14:28 +11:00
Andrew Tridgell ce978595cd AP_BoardConfig: added support for ICM-20602 detection 2017-03-02 14:21:36 +11:00
Andrew Tridgell 875274e761 AP_InertialSensor: added support for ICM-20602
treat the same as a 20608
2017-03-02 14:21:36 +11:00
Andrew Tridgell e7024d9203 AP_Landing: restructure parameters into a structure 2017-03-02 12:38:59 +11:00
Michael du Breuil 547d06febf AP_Landing: Add deepstall support 2017-03-02 12:38:59 +11:00
Michael du Breuil 8b20577b74 AP_Landing: Add a servo override interface and PID logging interface 2017-03-02 12:38:59 +11:00
Michael du Breuil ed359a5833 Dataflash: Add landing PID logging 2017-03-02 12:38:59 +11:00
Michael du Breuil c10fe2e7a4 AP_Landing: Add more interfaces from vehicle code
Fixs up some documentation about expected return values
2017-03-02 12:38:59 +11:00
Michael du Breuil c5c94949bf AP_Math: Extend vector2::angle(vector2) to distinguish parallel and antiparallel vectors
There are a number of use cases where distingusihing antiparallel from parallel vectors is important
2017-03-02 00:50:44 +00:00
Andrew Tridgell 05cbc19ad6 AP_RangeFinder: added type 15 for LidareLiteV3 2017-03-01 22:44:37 +11:00
Andrew Tridgell cf3db7560c AP_BoardConfig: fixed AUAV21 board ID to not overlap with VRBrain boards 2017-03-01 18:07:44 +11:00
Jacob Walser 507b461388 AP_Motors: Initialize throttle range directly
This was causing SITL to hang at boot when motors object is statically allocated.
2017-02-28 22:34:35 -08:00
Andrew Tridgell b86513f503 AP_InertialSensor: support AUAV21 board 2017-03-01 17:24:10 +11:00
Andrew Tridgell 37c9e08316 AP_Compass: support AUAV21 board 2017-03-01 17:24:10 +11:00
Andrew Tridgell d5cad2ae44 AP_Baro: support AUAV21 board 2017-03-01 17:24:10 +11:00
Andrew Tridgell 1989f31ae3 AP_BoardConfig: added AUAV21 board type
unfortunately this uses the same sensor types as the PHMini, which
means we can't auto-detect the difference between them.
2017-03-01 17:24:10 +11:00
Randy Mackay d79403707b AC_AttControl: add feed forward param descriptions
No functional change
2017-03-01 14:59:44 +09:00
Randy Mackay fd94ab43fa AP_Proximity: minor fix to param description
No functional change
2017-03-01 14:59:44 +09:00
Randy Mackay 36bcabb4e4 SRV_Channel: add constraint to move_servo 2017-02-28 19:29:00 +11:00
Randy Mackay 7b3af58634 AC_Avoidance: fix AVOID_ANGLE_MAX parameter description 2017-02-28 15:33:59 +09:00
Andrew Tridgell adf215998f SRV_Channel: added MotorTilt to docs for SERVOn_FUNCTION 2017-02-28 08:10:56 +11:00
Randy Mackay 2b43c6aeed DataFlash: log range finder orientation 2017-02-27 15:18:40 +09:00
Randy Mackay e725ae866b AP_OpticalFlow: fix example sketch 2017-02-27 15:18:13 +09:00
Randy Mackay a74833a04a AP_AHRS: fix example sketch 2017-02-27 15:18:13 +09:00
Randy Mackay 65c8f87b17 AP_Frsky_Telem: only use downward facing rangefinder 2017-02-27 15:18:12 +09:00
Randy Mackay 3f6a734a71 AP_NavEKF3: only use downward facing rangefinder 2017-02-27 15:18:11 +09:00
Randy Mackay 563be389ee AP_NavEKF2: only use downward facing rangefinder 2017-02-27 15:18:10 +09:00
Randy Mackay a093bcb05f AP_Proximity: add rangefinder driver
This allows avoidance using upward or forward facing range finders
2017-02-27 15:18:09 +09:00
Randy Mackay c98e598ae2 AP_RangeFinder: fix example sketch 2017-02-27 15:18:08 +09:00
Randy Mackay e7dd21a0bb AP_RangeFinder: remove primary, add orientation 2017-02-27 15:18:03 +09:00
Randy Mackay 49f4afc2a1 AC_Avoidance: add 2m margin to upward avoidance 2017-02-27 09:48:29 +09:00
Peter Barker d170396acf Notify: Display: blank text line after 10s 2017-02-27 09:02:09 +09:00
Peter Barker da03cf29d6 Notify: Display: pad GPS status/sat count to fix stray chars 2017-02-27 08:14:25 +09:00
Lucas De Marchi f972fed70b AP_HAL_PX4: rename method to follow AP_HAL
This allows to avoid the cast in the HAL, making it easier to replace
the implementation with an Empty::RCOutput while prototyping.
2017-02-26 13:38:24 +11:00
Lucas De Marchi 686e0f08d6 AP_HAL: RCOutput: add optional timer_tick() method
This is common enough across the HAL implementaions so add a method for
it to avoid the need for casts inside the HALs.
2017-02-26 13:38:24 +11:00
Lucas De Marchi ade1876318 AP_Motors: tie esc scaling with set_throttle_range()
We need to update the esc scaling from inside the Motors library, that
has access to the MOT_PWM_[MIN|MAX] values. Otherwise even though the
AP_Motors library honors the value for calculations, the RCOutput
drivers that need the scaling to set the real HW scaling will not work.
Right now it scales the value using the throttle_channel's min/max, even
though AP_Motors may be passing values in other range.
2017-02-26 13:38:24 +11:00
Lucas De Marchi e1eda3066c AP_HAL_PX4: SPIDevice: add missing ifdefs
These sensors may always be present on px4fmu* boards, but they are not
always present for all boards supported by the PX4Firmware.
2017-02-26 13:37:13 +11:00
Lucas De Marchi 2d50eb312c AP_InertialSensor: add support to MPU6500
Just like and MPU9250 without mag and with different WHOAMI register.
2017-02-26 13:37:13 +11:00
Lucas De Marchi 8002df6e45 AP_HAL: add MPU6500 defines 2017-02-26 13:37:13 +11:00
Andrew Tridgell e5ed20d6f7 AC_AttitudeControl: added set_throttle_mix_value()
used by quadplane
2017-02-26 09:20:51 +11:00
Peter Barker e744460ff5 AP_AHRS: mark many functions as override
Also take the opportunity to remove void parameter
2017-02-24 21:13:08 +11:00
Peter Barker 6ee4045878 AP_AHRS: mark new relative position functions override 2017-02-24 21:13:08 +11:00
Peter Barker 35f876f853 AP_AHRS: examples: correct AHRS_Test
This is required so gcs() returns an object
2017-02-24 21:13:08 +11:00
Peter Barker 4ed7fb154f AP_AHRS: supply missing get_relative_position_D_home
Simply returns the baro altitude (like EKF does if it lacks
position)
2017-02-24 21:13:08 +11:00
Peter Barker 24647fb2b0 AP_AHRS: make get_relative_position_D_home pure virtual
Having a void function with a return parameter that isn't
filled in by the base class function seems like a bad idea
2017-02-24 21:13:08 +11:00
Peter Barker d6807d749c GCS_MAVLink: make send_statustext virtual 2017-02-23 23:03:54 -08:00
Peter Barker c93942695f AP_Param: load parameters from a comma-separated-list
This patch will break things for anyone who is using
a comma in their filenames for their ardupilot defaults
files.
2017-02-23 22:46:33 -08:00
Peter Barker fe189fefbc AP_Param: Factor load_defaults_file (NFC) 2017-02-23 22:46:33 -08:00
Lucas De Marchi 0a381dfa1b AP_HAL: document method to split transfers 2017-02-23 22:38:15 -08:00
Lucas De Marchi 32d208dbe8 AP_HAL_Linux: move check for _split_transfers
This is likely not true, so allow not to check the other conditions.
Also remove comment since this is going to be added to the method.
2017-02-23 22:38:15 -08:00
Andrew Tridgell df1da3c14e AP_RangeFinder: setup for split I2C transfers
this fixes PulsedLight Lidar on Linux
2017-02-23 22:38:15 -08:00
Andrew Tridgell a2e445cf24 HAL_Linux: implement set_split_transfers() API for I2C 2017-02-23 22:38:15 -08:00
Andrew Tridgell dc26cbc074 AP_HAL: added set_split_transfers() API for I2C 2017-02-23 22:38:15 -08:00
Michael du Breuil 7b483a1460 AP_GPS: Ublox, always quickly set the rates until we have fetched the version 2017-02-23 07:33:58 +11:00
Tom Pittenger 76dabf2dd9 AP_ADSB: cleanup
non-functional change
2017-02-22 11:55:47 -08:00
Tom Pittenger 5adbf9b232 AP_ADSB: populate altitude via pressure for ADSB-Out
fixes https://github.com/ArduPilot/ardupilot/issues/5424
2017-02-22 11:55:47 -08:00
Michael du Breuil 1de198883d AP_NavEKF3: Check gps vertical accuracy for aligning the GPS 2017-02-22 11:53:42 -08:00
Michael du Breuil 8b69f1708e NavEKF2: Add optional check for GPS vertical accuracy before aligning the EKF 2017-02-22 11:53:42 -08:00
Michael du Breuil 61023fc636 NavEKF: Add GPS vertical accuracy to nav_gps_flags 2017-02-22 11:53:42 -08:00
Jacob Walser cde1452da3 AP_Motors: Use fabsf instead of fabs 2017-02-22 11:25:18 -08:00
Jacob Walser 870183f26b AP_TemperatureSensor: Use powf instead of pow 2017-02-22 11:25:18 -08:00
Jacob Walser 06b394bf43 AP_JSButton: Fix param metadata for relay enum values 2017-02-22 14:42:23 +00:00
Tom Pittenger fb214ef95f AP_Baro: fixed spelling in comment 2017-02-21 02:23:23 -08:00
Jacob Walser 8c87868b5c AP_AHRS: Add submarine vehicle class 2017-02-21 11:26:14 +11:00
Jacob Walser 5829d4b645 AC_Avoidance: Refactor fence.get_safe_alt() to fence.get_safe_alt_max() 2017-02-21 11:26:14 +11:00
Jacob Walser e7a34b0fb3 AP_NavEKF2: Add set_baro_alt_noise method 2017-02-21 11:26:14 +11:00
Jacob Walser e7caf05238 AP_HAL_SITL: Add support for Sub 2017-02-21 11:26:14 +11:00
Jacob Walser 613bc46592 AP_Baro: Add support for water pressure and Sub 2017-02-21 11:26:14 +11:00
Jacob Walser 3c6df7cc0e AC_Fence: Add minimum altitude limit
get_safe_alt() -> get_safe_alt_max() and get_safe_alt_min()
2017-02-21 11:26:14 +11:00
Jacob Walser 0e124d0be5 AC_PosControl: Add AC_PosControl_Sub class 2017-02-21 11:26:14 +11:00
Jacob Walser 925fa5d214 AC_AttitudeControl: Add AC_AttitudeControl_Sub class 2017-02-21 11:26:14 +11:00
Jacob Walser ac1e1b9460 AP_NavEKF3: Add set_baro_alt_noise method 2017-02-21 11:26:14 +11:00
Jacob Walser ca603e1517 AP_TemperatureSensor: Add AP_TemperatureSensor library and TSYS01 driver 2017-02-21 11:26:14 +11:00
Jacob Walser 7121910fa7 AP_Compass: Set default learn parameter to disabled for Sub 2017-02-21 11:26:14 +11:00
Rustom Jehangir 36f3cae535 SITL: Add support for Sub 2017-02-21 11:26:14 +11:00
Jacob Walser 96303c3092 AC_WPNav: Add accessor for origin, and make get_bearing_cd() public 2017-02-21 11:26:14 +11:00
Jacob Walser d3442ae16b AP_RangeFinder: Bugfix for mavlink rangefinders to include out of range low/high 2017-02-21 11:26:14 +11:00
Jacob Walser f3fa8403f8 AP_Notify: Add tone and light pattern for leak detection 2017-02-21 11:26:14 +11:00
Jacob Walser 9c8fca02d9 AP_LeakDetector: New library and analog/digital sensor drivers 2017-02-21 11:26:14 +11:00
Rustom Jehangir 116f166a78 AP_JSButton: New library to map joystick buttons to vehicle functions 2017-02-21 11:26:14 +11:00
jaxxzer ccb6434831 AP_Scheduler: Set main loop rate to 400hz for Sub 2017-02-21 11:26:14 +11:00
jaxxzer 44c9efad50 AP_Vehicle: Add the ArduSub vehicle type.
This also fixes the issue causing accel calibration to be unresponsive
in gcs.
2017-02-21 11:26:14 +11:00
Jacob Walser 2bacc2fea2 AP_RCMapper: Add forward and strafe channel mappings for Sub 2017-02-21 11:26:14 +11:00
Rustom Jehangir 237ba87ca4 AP_Motors: New AP_Motors6DOF used by Sub 2017-02-21 11:26:14 +11:00
Peter Barker 1217256898 AP_AHRS: correct infinite recursion in AP_AHRS_View 2017-02-21 09:03:03 +11:00
Andrew Tridgell 29b06d2d4a SRV_Channel: fixed output slew rate handling
this fixes a bug that happens when the RC output speed is much lower
than the main loop speed, such as with forward throttle for
quadplanes. We need to base the slew on the last sent output, not the
last value read back (at 50Hz) from the IO board, or we will slew the
channel at 6x to 8x slower than the correct rate.
2017-02-21 06:09:33 +11:00
Andrew Tridgell 3ce7e4b322 AP_GPS: fixed fake uBlox with PVT message support 2017-02-21 06:09:33 +11:00
murata fe93bdbc5e AP_IRLock: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata eb6cdd27fb AP_Notify: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata d9dbf6e1eb AP_OpticalFlow: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata a3f5b4f319 AP_InertialSensor: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata eb4d8963d0 AP_HAL_Linux: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata bc7b2144e7 AP_Compass: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata f5c3de2a61 AP_Baro: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
murata af65be5aa4 AP_Airspeed: Change from magic number 0 to definition name. 2017-02-18 14:12:36 +00:00
Andrew Tridgell d338d9c0aa SITL: fixed whitespace on flightaxis code 2017-02-18 17:26:43 +11:00
Andrew Tridgell 83d055eceb AP_Motors: support twin-motor tailsitters
use differential thrust for roll
2017-02-18 17:26:43 +11:00