Siddharth Bharat Purohit
d65f453da1
AP_HAL_SITL:use common fenv function
2016-07-07 11:35:18 -03:00
Lucas De Marchi
c728b6c164
AP_Common: missing/fenv: fix coding style
2016-07-07 11:35:18 -03:00
Siddharth Bharat Purohit
484db9ff82
AP_Common: add replacements for fe control functions systems without them
2016-07-07 11:35:18 -03:00
Siddharth Bharat Purohit
8903bc9eab
AP_HAL: add support for get realtime on Darwin systems
2016-07-07 11:35:17 -03:00
Andrew Tridgell
f090e9b27c
HAL_Linux: fixed makefile build with PRIu64
2016-07-07 15:10:59 +10:00
Lucas De Marchi
3ba27df405
AP_Compass: BMM150: minor refactors
...
- Correctly sort includes and add missing AP_Math.h
- Use anonymous struct for trim_registers in _load_trim_values,
renaming its members so they don't start with underscore
- Don't change _dig* values when we failed to read from sensor
- Add some blank lines
- Make _dig_* members be inside a _dig struct
- Use constrain_int32 instead of if/else chain
- s/time_us/time_usec/
- Construct raw_field with a single constructor in _update()
- Add missing copyright notice
- Group methods together in declaration
2016-07-06 10:04:05 -03:00
José Roberto de Souza
6e53854122
AP_Compass: Add BMM150 backend
2016-07-06 10:03:30 -03:00
Fernandes Pinheiro, Daker
51bf638ad3
PID: Remove unused method get_pid_4500
2016-07-06 08:45:01 +09:00
Tom Pittenger
19713200e5
AP_TECS: coverity scan: init variable struct
2016-07-05 14:09:40 -07:00
Tom Pittenger
6d0cf22358
AP_TECS: spelling
2016-07-05 14:09:39 -07:00
Tom Pittenger
753c0d47f0
AP_TECS: coverity scan - variables not initialized in constructor
2016-07-05 13:53:26 -07:00
Tom Pittenger
5f16d873b8
AP_L1_Control: coverity scan - ignoring get_position() result
...
- if no GPS location is available, do not continue computing navigation values. Hold old nav/target bearings and allow GPS failsafe to switch modes
2016-07-05 13:32:34 -07:00
Tom Pittenger
a74e86c234
GCS_MAVLink: coverity scan - computed value overwritten without use for SITL
...
- when building for SITL we should just skip the num_sends work instead of overwriting the value
2016-07-05 13:32:29 -07:00
Tom Pittenger
bd8debdf8b
GCS_MAVLink: coverity scan - variables not initialized in constructor
2016-07-05 13:32:24 -07:00
Tom Pittenger
8d2872d3ab
AP_Baro: coverity scan - variables not initialized in constructor
2016-07-05 13:32:06 -07:00
Tom Pittenger
93462d0fe3
AP_Airspeed: coverity scan - variables not initialized in constructor
2016-07-05 13:32:00 -07:00
Tom Pittenger
d558f32142
AP_L1_Control: coverity scan - variables not initialized in constructor
2016-07-05 13:28:52 -07:00
Andrew Tridgell
0be442d34b
SITL: improved throttle input in XPlane
...
reduce chance that throttle output will be interpreted as input
2016-07-05 09:48:40 +10:00
Andrew Tridgell
f387f248d3
SITL: added support for servo slew rates and retract servos
...
this is for tiltrotors with retract servos
2016-07-05 09:40:37 +10:00
Luis Vale Gonçalves
334233d48f
AP_BoardConfig: fix spelling in parameter description
...
witch ->no
switch->yes
2016-07-04 21:59:30 +09:00
Randy Mackay
e820506c5a
AC_Fence: add polygon fence check to check_destination_within_fence
2016-07-04 18:25:03 +09:00
Randy Mackay
a9d1dcd6ac
AC_Fence: trigger reloading of polygon fence if update from GCS
...
The GCS can either modify a point with a mavlink message or directly change the FENCE_TOTAL parameter value
2016-07-04 18:25:03 +09:00
Jonathan Challinger
0eac5a5c8f
AC_PrecLand: remove zero terms from math
2016-07-04 16:57:06 +09:00
Jonathan Challinger
b5e80148c6
AC_WPNav: remove shift_loiter_target
2016-07-04 16:57:06 +09:00
Jonathan Challinger
f74e162451
AC_PrecLand: redo math, simplify interface
2016-07-04 16:57:06 +09:00
Randy Mackay
4bedc57cbe
DataFlash: rename SBFE's Long field to Lng
...
This naming is consistent with the other GPS messages
2016-07-04 11:17:14 +09:00
Randy Mackay
032e834849
Dataflash: log rally points
2016-07-04 11:17:09 +09:00
Andrew Tridgell
11975223dd
AP_Motors: added H_RSC_POWER_NEGC and H_RSC_SLEWRATE
...
this gives more control over throttle for petrol
helis. H_RSC_POWER_NEGC allows for a asymmetric V-curve, which allows
for less power being put into the head when landing or when sitting on
the ground. That can lead to significantly less vibration and chance
of ground oscillation. A heli not being flown with aerobatics does not
need to use high throttle at negative collective pitch.
The H_RSC_SLEWRATE allows for a maximum throttle slew rate to be
set. Some petrol motors can cut if the throttle is moved too
quickly. We had this happen at a height of 6m when switching from
ALT_HOLD to STABILIZE mode. It also lowers the chance of the blades
skewing in their holders with the sudden change of power when the heli
is disarmed. In general it is a bad idea to do instantaneous large
movements of a IC engine throttle.
2016-07-03 18:29:05 +10:00
Andrew Tridgell
918c41b1e4
AP_BoardConfig: fixed IMU_TARGTEMP index
2016-07-03 12:54:27 +10:00
Andrew Tridgell
3377714300
RC_Channel: fixed typo
2016-07-01 15:35:55 +10:00
Andrew Tridgell
a331542958
GCS_MAVLink: fixed typo
2016-07-01 15:35:49 +10:00
Andrew Tridgell
4dcff15603
DataFlash: fixed typo
2016-07-01 15:35:45 +10:00
Andrew Tridgell
50958bc026
AP_RangeFinder: fixed typo
2016-07-01 15:35:39 +10:00
Andrew Tridgell
1f2216982d
AP_Mount: fixed typo
2016-07-01 15:35:34 +10:00
Andrew Tridgell
bc7488e2f2
AP_Motors: fixed typos
2016-07-01 15:35:29 +10:00
Andrew Tridgell
cb858d2c99
AP_InertialSensor: fixed typo
2016-07-01 15:35:22 +10:00
Andrew Tridgell
081df44d92
HAL_QURT: fixed typo
2016-07-01 15:35:15 +10:00
Andrew Tridgell
6e065b3fe2
AP_HAL: fixed typo
2016-07-01 15:35:07 +10:00
Andrew Tridgell
86ceee4a53
AC_WPNav: fixed typo
2016-07-01 15:34:56 +10:00
Andrew Tridgell
45c72eb442
AP_BoardConfig: added BRD_IMU_TARGTEMP
...
set target temperature for IMU
2016-07-01 15:29:52 +10:00
Andrew Tridgell
834acaffee
AP_InertialSensor: provide IMU temperature to HAL for all boards
2016-07-01 15:29:52 +10:00
Andrew Tridgell
7c2e4d0419
HAL_PX4: implement IMU heater in hal.util for Pixhawk2
2016-07-01 15:29:52 +10:00
Andrew Tridgell
461c159b22
HAL_Linux: use set_imu_target_temp() API
2016-07-01 15:29:52 +10:00
Andrew Tridgell
8617db89dc
AP_HAL: added hal.util->set_imu_target_temp() API
2016-07-01 15:29:52 +10:00
Leonard Hall
fe68fe65e2
AP_Motors: Single and Coax fix flap gains
2016-07-01 12:45:14 +09:00
Andrew Tridgell
fc9283964a
HAL_SITL: fixed segv on cygwin
2016-06-30 20:45:03 +10:00
Andrew Tridgell
82f131667d
SITL: added flaps control in XPlane
2016-06-30 20:26:00 +10:00
Andrew Tridgell
934d2b6ae4
RC_Channel: added setup_failsafe_trim_mask()
2016-06-30 16:46:57 +10:00
Andrew Tridgell
a071fa3921
AP_Param: display defaults path on startup
2016-06-30 14:16:52 +10:00
Andrew Tridgell
beb3591f67
HAL_Linux: improved help output and errors for udp and bcast
2016-06-28 21:01:45 +10:00
Andrew Tridgell
72b5cecdb2
HAL_Linux: added udpin support to HAL_Linux
...
useful for setting up ardupilot as a mavlink UDP listener
2016-06-28 21:01:43 +10:00
Paul Riseborough
4a8689aa97
AP_NavEKF2: remove duplicate if statements from mag fusion
2016-06-28 14:20:13 +10:00
Paul Riseborough
e117bedf6a
AP_NavEKF2: Adjust output observer tuning
...
Use more accurate method by default.
Reduce overshoot on quaternion tracking
2016-06-28 14:20:13 +10:00
Paul Riseborough
5c59922574
AP_NavEKF2: Fix bug that could publish bad compass offsets
...
Magnetometer bias states will subject to larger errors early in flight before flight motion makes the offsets observable and the state variances reduce.
Adds a check on state variances.
Replaces the parameter check with a check of the actual filter fusion method being used.
2016-06-28 14:20:13 +10:00
Paul Riseborough
165335b9e3
AP_NavEKF2: Improve ability to tune magnetic field learning
...
Allow different process noise to be set for body (sensor bias) and earth field states.
This allows a stable magnetometer bias estimate to be available at end of flight whilst still allowing for external magnetic anomalies during landing.
Adjust default values to give stable mag bias learning and fast learning of external anomalies.
2016-06-28 14:20:12 +10:00
Paul Riseborough
6523481c76
AP_NavEKF2: Improve tracking accuracy of output predictor
...
Automatically use the highest gain consistent with a 5% overshoot to minimise RMS tracking errors.
Provide an alternative correction method for the position and velocity states that allows the user to specify the time-constant. This can be used to fine tune the output observer for for platform specific sensor errors and control loop sensitivity estimation noise.
2016-06-28 14:20:12 +10:00
Paul Riseborough
fe06606193
AP_NavEKF2: Ensure corrected IMU data used by EKF
...
Don't try to pop new IMU data from the buffer unless we have written data.
Correct IMU data as soon as it is popped from the buffer
2016-06-28 14:20:12 +10:00
Paul Riseborough
1400dc9d02
AP_NavEKF2: Add tuning parameters for magentic yaw fusion
...
Enable simple magnetic yaw fusion observation noise and innovation consistency check gate width to be tuned independantly.
2016-06-28 14:20:12 +10:00
Paul Riseborough
dc6836988c
AP_NavEKF2: Improve ground based magnetic anomaly protection for copter
...
The toilet bowling check during early flight has been removed. This check caused problems where bad compass calibration was the cause of the toilet bowling and resetting to the compass was a bad option. The handling of simultaneous failed mag and velocity innovations is already handled outside the EKF by the failsafe.
A check for yaw errors due to a ground based magnetic anomaly has been introduced.
The logic for in-flight yaw and magnetic field resets has been cleaned up and variable names improved.
2016-06-28 14:20:12 +10:00
Paul Riseborough
703f56908f
AP_NavEKF2: Correct comment
2016-06-28 14:20:12 +10:00
Paul Riseborough
26815ace7a
AP_NavEKF2: Remove redundant logic check
2016-06-28 14:20:12 +10:00
Jonathan Challinger
bd8c804ab5
AP_NavEKF2: correct comments
2016-06-28 14:20:12 +10:00
Jonathan Challinger
ebae95d7f6
AP_NavEKF2: apply corrections to new inertial data when using for output prediction
2016-06-28 14:20:11 +10:00
Jonathan Challinger
2f709dfe86
AP_NavEKF2: improve inertial prediction
2016-06-28 14:20:11 +10:00
Paul Riseborough
262c5fe56d
AP_NavEKF2: Make setter loop through all instances
...
For setters where a success boolean is returned, return false if any instance fails.
2016-06-28 14:20:11 +10:00
Jonathan Challinger
8baf064317
AP_NavEKF2: setTakeoffExpected and setTouchdownExpected loop through instances
2016-06-28 14:20:11 +10:00
Paul Riseborough
ec5c460584
AP_NavEKF2: Fix predicted nav reporting
...
Predicted nav should never be false if current nav is true
2016-06-28 14:20:11 +10:00
Jonathan Challinger
99f481e098
AP_NavEKF2: always calcGpsGoodForFlight
2016-06-28 14:20:11 +10:00
Jonathan Challinger
3382e09580
AP_NavEKF2: add height constraint during takeoff
2016-06-28 14:20:11 +10:00
Paul Riseborough
4bb46af861
AP_NavEKF2: Increase allowable gyro bias offset
2016-06-28 14:20:10 +10:00
Andrew Tridgell
af23a681e0
AP_BoardConfig: improved docs for BRD_SAFETYENABLE
2016-06-28 09:58:55 +10:00
Lucas De Marchi
1f96336f7c
Global: rename bus type enum entries
2016-06-27 17:51:41 -03:00
Gustavo Jose de Sousa
f6bebc96c0
AP_InertialSensor: INS_generic: remove unused includes
2016-06-27 17:22:43 -03:00
Gustavo Jose de Sousa
e85ac8b2c5
AP_InertialSensor: inform maximum gyro average difference
...
While at it, define GYRO_INIT_MAX_DIFF_DPS.
2016-06-27 17:22:43 -03:00
Gustavo Jose de Sousa
e6f62080f5
AP_InertialSensor: fix best_diff on gyro initialization
...
Without this patch, if accel_diff.length() > 0.2f and j == 0, then
best_diff[k] would be zero forever since diff_norm[k] >= 0 for any j.
2016-06-27 17:20:51 -03:00
Gustavo Jose de Sousa
de94392759
AP_InertialSensor: MPU9250: remove _bus_type field
...
Use _dev->bus_type instead.
2016-06-27 17:20:51 -03:00
Gustavo Jose de Sousa
83feb2e2ae
AP_InertialSensor: MPU9250: let Device handle read flag
...
There's no need to handle that in MPU9250 anymore.
2016-06-27 17:20:51 -03:00
Gustavo Jose de Sousa
1e99a7125c
AP_InertialSensor: MPU9250: remove _register_write_check()
...
That function isn't used in the code base and there should be a better way to
debug writes on registers.
2016-06-27 17:20:51 -03:00
Gustavo Jose de Sousa
a6e5eb9e14
AP_InertialSensor: MPU6000: remove _bus_type field
...
Use _dev->bus_type instead.
2016-06-27 17:20:51 -03:00
Gustavo Jose de Sousa
0718649c8b
AP_InertialSensor: MPU6000: let Device handle read flag
...
There's no need to handle that in MPU6000 anymore.
2016-06-27 17:20:51 -03:00
Gustavo Jose de Sousa
309fe4a88c
AP_InertialSensor: MPU6000: remove _register_write_check()
...
That function isn't used in the code base and there should be a better way to
debug writes on registers.
2016-06-27 17:20:51 -03:00
Gustavo Jose de Sousa
d35cf60ce1
AP_HAL_Linux: I2CDevice: use read flag in read_registers_multiple
...
Use the generic support in Device interface for read flag when we are
using read_registers_multiple() method.
2016-06-27 17:20:46 -03:00
Gustavo Jose de Sousa
66f1ad9ed0
AP_HAL: Device: add support for read flag
...
Many of our SPI and I2C sensors define the protocol of setting the most
significant bit of the register address in order to perform a read operation.
Thus, enable the use of a "read flag" that is ORed with the register's address.
Since this is an abstraction for general devices, it's a good idea to have zero
as the default value for that flag.
While at it, add documentation to read_registers().
2016-06-27 17:18:35 -03:00
Gustavo Jose de Sousa
b6a1d598e3
AP_HAL: Device: document write_register()
2016-06-27 17:18:35 -03:00
Gustavo Jose de Sousa
4693501d9d
AP_HAL: Device: add bus_type field
...
Sometimes it's necessary to know the type of bus to make some decisions where
AP_HAL::Device abstraction is used.
2016-06-27 17:18:35 -03:00
Michael du Breuil
c2da36d505
GCS_MAVLink: fix race condition when recieving last waypoint
...
only shows up when the waypoint is about to time out
2016-06-27 10:57:14 +10:00
Andrew Tridgell
689595080a
AP_Airspeed: ensure we have at least 10 samples for airspeed cal
...
thanks to Michael for pointing out this issue
2016-06-27 10:52:59 +10:00
Tom Pittenger
37f990bfad
AP_ADSB: allow param based VEHICLE list sizes, 1 to 100.
2016-06-26 11:03:33 -07:00
Lucas De Marchi
b70b9ed8d1
AP_HAL_Linux: fix warning on 64b printf
...
../../libraries/AP_HAL_Linux/Perf.cpp: In member function ‘void Linux::Perf::_debug_counters()’:
../../libraries/AP_HAL_Linux/Perf.cpp:85:36: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘uint64_t {aka long unsigned int}’ [-Wformat=]
c.name, c.count);
^
2016-06-25 12:05:55 -03:00
Daniel Ricketts
865aad7598
AC_Avoid: add support for stopping at polygon fence
2016-06-25 15:55:55 +09:00
Randy Mackay
26a6234a29
AC_Avoid: do not attempt to stop at circular fence if already breached
2016-06-25 15:55:55 +09:00
Randy Mackay
c6f9889a25
AC_Avoid: constify get_max_speed
...
Also get_stopping_distance and get_margin
2016-06-25 15:55:55 +09:00
Randy Mackay
5153c3d195
AC_Fence: merge with add polygon support
2016-06-25 15:55:55 +09:00
Randy Mackay
d91805edbf
AC_Fence: add support for polygon fences
2016-06-25 15:55:55 +09:00
Randy Mackay
f0bb1ac1d2
AC_Fence: AC_Polygon_loader loads points from eeprom
...
Thanks to Peter Barker for his work to library-ify Plane's geofence which was the basis for this work.
2016-06-25 15:55:55 +09:00
Daniel Ricketts
249d95b413
AP_Math: add Polygon_outside and Polygon_complete functions
2016-06-25 15:55:55 +09:00
Leonard Hall
80bda572ba
AC_AttutudeControl: Yaw shift fix
2016-06-24 18:15:48 +09:00
Leonard Hall
a5bb3c206e
Dataflash: Log rate to degrees
2016-06-24 17:17:16 +09:00
Leonard Hall
8737f6b62d
AC_AttitudeControl: enhanced quaternion attitude controller
2016-06-24 17:17:11 +09:00
Leonard Hall
117ae89505
AC_AttitudeControl: increase SLEW_YAW default to 60deg/sec
2016-06-24 16:24:17 +09:00