Commit Graph

11617 Commits

Author SHA1 Message Date
dgrat
15a915edd3 AP_HAL_Linux: Simplification of the code
I applied the ArduPilot coding style guide and additionally simplified the code where possible.
2016-06-08 11:50:43 -03:00
masierra
8fc494cfcd AP_AHRS_DCM: changed estimate to use prev values for dir & vel 2016-06-06 15:26:51 -07:00
Tom Pittenger
41c9cace68 AP_Mission: mavlink parsing should use check_lat/lng functions 2016-06-06 13:08:37 -07:00
Tom Pittenger
00aaa78757 AP_Math: add separate check_lat() and check_lng() 2016-06-06 13:02:56 -07:00
Michael du Breuil
fb07b8c4cc Mission: fix bounds checking of MISSION_ITEM lat/lon 2016-06-06 10:08:45 -07:00
Andrew Tridgell
a06e46a84c DataFlash: log 14 output channels in RCOU
unfortunately this means we need to shorten the column headers, but at
least this makes us consistent with RCIN
2016-06-06 15:14:28 +10:00
Andrew Tridgell
2239fd6a6e AP_GPS: fixed hexdigit in NMEA detector
thanks to adorus for spotting this! See issue#4255
2016-06-06 07:36:31 +10:00
Andrew Tridgell
3969bde84a AP_Math: fixed coverity warning in example 2016-06-05 07:20:46 +10:00
Andrew Tridgell
0166ab2038 HAL_SITL: check for SIM_RC_FAIL 2016-06-05 05:54:56 +10:00
Andrew Tridgell
4e3dd315cb RC_Channel: fixed double channel assignment
this fixes RC_Channel_aux::set_aux_channel_default from assigning
k_heli_rsc twice, once at default channel and once at user designated
channel
2016-06-05 05:54:56 +10:00
Peter Barker
cb16d0b6c6 AP_Math: correct examples build on px4 2016-06-04 12:31:36 -03:00
Andrew Tridgell
be26988b93 AP_Tuning: don't warn of controller errors when disarmed 2016-06-04 19:20:45 +10:00
Andrew Tridgell
9e9a048016 SITL: make heli RPM rpm1 in FlightAxis 2016-06-04 18:33:36 +10:00
Andrew Tridgell
f58d837026 AP_Motors: fixed heli RSC output range and float conversion
adds H_RSC_PWM_MIN, H_RSC_PWM_MAX and H_RSC_PWM_REV
2016-06-04 18:33:36 +10:00
Tom Pittenger
a512e807dc AP_HAL_PX4: disarm motors on reboot so ensure they are off during bootloader upload 2016-06-04 00:42:43 -07:00
Andrew Tridgell
79ffc28f68 SITL: fixed ground accel for helis in FlightAxis
fixes landing detection
2016-06-04 15:52:00 +10:00
Andrew Tridgell
7c227ac96c SITL: debug code for logging raw SITL data 2016-06-04 14:21:21 +10:00
Andrew Tridgell
f6a7c1839a SITL: use FlightAxis body accel
less noisy than rotating early accel
2016-06-04 14:20:55 +10:00
Andrew Tridgell
f6e42cb3e2 SITL: cope with restarting RealFlight while connected 2016-06-04 12:07:03 +10:00
Andrew Tridgell
9c13ac997e SITL: use FlightAxis accel when not touching the ground 2016-06-04 11:34:57 +10:00
Andrew Tridgell
0b9fca6ef9 SITL: use quaternion attitude from FlightAxis 2016-06-04 11:04:15 +10:00
Tom Pittenger
5df2e57209 AP_HAL_SITL: do not compile terrain class when terrain is not disabled via compile flag 2016-06-03 11:07:36 -07:00
Tom Pittenger
8b405e26ea GCS_MAVLink: battery2 current is in 10*mAh over mavlink 2016-06-02 16:59:29 -07:00
Tom Pittenger
a8c14e68da AP_Tuning: compile warning: float to double on print 2016-06-02 16:59:27 -07:00
Tom Pittenger
d2c9b02ca5 AP_BattMonitor: remove voltage2() since we have voltage(x) available 2016-06-02 16:59:26 -07:00
Tom Pittenger
4e4bc0bee4 GCS_MAVLink: use voltage(x) instead of voltage2() 2016-06-02 16:59:23 -07:00
Tom Pittenger
a1564bd337 AP_BattMonitor: check actual battery instances instead of max possible instances 2016-06-02 16:59:21 -07:00
Tom Pittenger
8939c5308f AP_Arming: check actual battery instances then max possible instances 2016-06-02 16:59:19 -07:00
Tom Pittenger
3ed2fafefa DataFlash: Log new CUR2 entry for battery2 data 2016-06-02 16:59:16 -07:00
Tom Pittenger
43c7b4d518 DataFlash: do not log CURR.Throttle because it's already logged elsewhere 2016-06-02 16:59:07 -07:00
Tom Pittenger
7a397475af DataFlash: log POWR.vcc and Vservo as float in volts instead of int16 mV 2016-06-02 16:59:05 -07:00
Tom Pittenger
608fbee867 GCS_MAVLink: send current2 over mavlink 2016-06-02 16:59:03 -07:00
Tom Pittenger
7b4c503052 AP_Math: use new check_latlng helper 2016-06-01 17:38:48 -07:00
Tom Pittenger
ce9ecf9f3d AP_Math: added check_latlng helper 2016-06-01 17:38:48 -07:00
Tom Pittenger
64c2510be9 AC_AttitudeControl: fix compile warning float to double promotion in string conversion 2016-06-01 17:38:47 -07:00
Andrew Tridgell
b4bdfa2451 AC_AttitudeControl: return roll, pitch and yaw controller error separately
as discussed with Leonard
2016-06-01 17:18:58 +10:00
Grant Morphett
d56e2b6a39 APM_Control: Get steer rate using earth frame.
Rather then just using the standard z gyro by using the earth frame it
takes into account when a rover leans over in hard corners.  My rover
leans 15 degrees no problem which is why this is needed.
2016-06-01 10:05:20 +09:00
Andrew Tridgell
b855c70139 GCS_MAVLink: don't route RADIO and RADIO_STATUS packets
they don't mean anything off the local link
2016-05-31 22:13:05 +10:00
Paul Riseborough
24d8cc62e2 AP_NavEKF2: rework yaw and magnetic heading reset logic
Splits in-flight yaw alignment completed status into separate yaw and magnetic field flags.
Reduce the number of places where decisions to perform a yaw and field reset are made.
Don't perform a reset unless there is is data in the buffer
Don't use 3-axis fusion if the field states still need to be reset.
When starting 3-axis fusion request a reset if not previously performed.
Ensure magnetometer and GPs heading resets are alwasy perfomred with data at teh correct time horizon.
2016-05-31 16:12:53 +10:00
Andrew Tridgell
a6cbc5d4a5 AP_AHRS: use EKF for groundspeed estimate if available 2016-05-31 15:56:25 +10:00
Leonard Hall
a16018f9fe AP_Motors: Missed Single fix 2016-05-31 12:44:17 +10:00
Peter Barker
1e146256cc GCS_MAVLink: move telemetry_delayed up into base class 2016-05-31 08:46:09 +10:00
Grant Morphett
944541b287 PID: Added PID_Info to class for PID logging 2016-05-31 08:44:52 +10:00
Andrew Tridgell
abe850c397 PID: fixed example build 2016-05-31 08:36:14 +10:00
Andrew Tridgell
38965f4617 DataFlash: fixed example build 2016-05-31 08:36:07 +10:00
Andrew Tridgell
04f87a452e HAL_SITL: fixed tcp client mode 2016-05-30 16:42:28 +10:00
Peter Barker
e828525c94 GCS_MAVLink: adjust_rate_for_stream_trigger is no longer virtual 2016-05-29 21:24:41 +10:00
Peter Barker
43fed65f37 GCS_MAVLink: move adjust_rate_for_stream up 2016-05-29 19:38:49 +10:00
Andrew Tridgell
f4f0ae8c8b SITL: auto-reconnect FlightAxis on reset button 2016-05-29 19:17:29 +10:00
Peter Barker
03ded35d7c GCS_MAVLink: update routing example for mavlink namespacing 2016-05-29 16:21:21 +10:00
Peter Barker
56114dd37a GCS_MAVLink: use subclasses in vehicle directories
Instead of the vehicles defining functions that are declared in the libraries directory, they will now create subclasses of GCS_MAVLINK
2016-05-29 16:21:20 +10:00
Leonard Hall
d67f83559c AP_Motors: Single and Coax Fixes 2016-05-29 16:12:29 +10:00
Leonard Hall
e5bdf0a0a2 SITL: Single and Coax fixes 2016-05-29 16:12:13 +10:00
Andrew Tridgell
26ef71e130 AP_Notify: added tuning error tones 2016-05-28 17:33:30 +10:00
Andrew Tridgell
006aafab3f AP_Tuning: added monitoring of controller output 2016-05-28 17:33:30 +10:00
Andrew Tridgell
6330060e49 AC_AttitudeControl: added monitoring of controller error
use RMS P+I+FF output. Thanks to Leonard for the suggestion
2016-05-28 17:33:30 +10:00
Andrew Tridgell
fdac1d26cc AP_Tuning: added TUNE_MODE_REVERT parameter 2016-05-28 17:33:30 +10:00
Randy Mackay
72b86a3f99 AP_Motors: remove unused stabilizing flag
Also initialise some members to resolve converity warnings
2016-05-28 15:45:29 +09:00
Andrew Tridgell
7ec513668e GCS_MAVLink: reserve some space when param fetch fails
this ensures we give some buffer space for parameter fetch when we are
low on buffer space

we reserve 100 bytes for 2 seconds after a param fetch fails due to
low buffer space
2016-05-28 15:08:46 +10:00
Andrew Tridgell
f02c8f732c DataFlash: fixed BAR2 format for drift offset 2016-05-28 15:08:46 +10:00
Paul Riseborough
a94a19bd09 AP_NavEKF2: Fix bug causing continual yaw resets 2016-05-28 06:52:11 +10:00
Tom Pittenger
57d6ccc0dd AP_HAL_PX4: skip the 100ms delay on first px4io safety_state async attempt 2016-05-27 11:30:50 -07:00
Tom Pittenger
d3ac1dc161 AP_HAL: defer calls to safety_state switch to queue an async attempt.
- this allows for auto-retries if the state does not set correctly
2016-05-27 21:34:40 +10:00
Tom Pittenger
67aaf7e226 AP_HAL_PX4: defer calls to safety_state switch to queue an async attempt.
- this allows for auto-retries if the state does not set correctly
2016-05-27 21:34:40 +10:00
Andrew Tridgell
97e2203e70 AP_NavEKF2: don't do 3D mag fusion on 2nd EKF2 core
this reduces the risk that mag fusion errors will badly affect
attitude estimation.
2016-05-27 21:27:06 +10:00
Andrew Tridgell
d17e3b17bf AP_AHRS: special handling for flying fixed wing with no compass
we need to accept EKF having no absolute position and velocity before
takeoff with no compass
2016-05-27 10:18:53 +10:00
Paul Riseborough
de15928921 AP_NavEKF2: prevent potential arithmetic error in declination fusion 2016-05-27 09:00:41 +10:00
Paul Riseborough
722eb0d706 AP_NavEKF2: Fix bug for start of wind speed estimation
The commencement of airspeed fusion could cause pitch errors due to small variances and large innovations. This issue is addressed by the following changes:
1) The airspeed measurement is used to set wind states to a value that reduces initial innovations.
2) The wind state variances are set to values that better reflect the wind speed uncertainty
2016-05-27 09:00:41 +10:00
Paul Riseborough
ac329ec31c AP_NavEKF2: use observation noise to set initial magnetic field variances 2016-05-27 09:00:41 +10:00
Paul Riseborough
830751c0ae AP_NavEKF2: remove un-wanted functionality from mag and yaw reset
The function used to reset magnetic field states and yaw angle should not be used when there is no magnetometer. If it is incorrectly called without a magnetometer it should not change the attitude or field states.
2016-05-27 09:00:41 +10:00
Paul Riseborough
11c6ea7ef6 AP_NavEKF2: attitude co-variance reset for all post alignment yaw resets
Whenever the yaw angle is changed, the correlation with other state errors will be incorrect and the terms should be zeroed.
2016-05-27 09:00:41 +10:00
Paul Riseborough
cdd09df9ac AP_NavEKF: Add function to zero attitude state co-variances
When changing the vehicle yaw angle, the correlation between the attitude errors and errors in other states is invalid so the corresponding co-variance terms need to be zeroed.
This needs to be done in more than one place.
2016-05-27 09:00:41 +10:00
Paul Riseborough
6d34ac5ceb AP_NavEKF2: improve switch-over to use of mag field states
Set initial variances to measurement uncertainties
Always perform a field  and yaw reset
2016-05-27 09:00:40 +10:00
Paul Riseborough
fe9ddfdfeb AP_NavEKF2: remove code that prevents attitude updates after mag reset
This code assumes a vehicle is close to level and will not work for all vehicle types. It will be replaced by a different method.
2016-05-27 09:00:40 +10:00
Paul Riseborough
fe85c68344 AP_NavEKF2: move yaw reset for no compass case
Should not be in a function that performs reset on magnetic field states
2016-05-27 09:00:40 +10:00
Paul Riseborough
da0622827d AP_NavEKF: update tuning defaults
Increase speed of scale factor learning
2016-05-27 09:00:40 +10:00
Andrew Tridgell
4c66e14563 SITL: fixed air resistance bug for heli, balloon and singlecopter 2016-05-26 20:38:20 +10:00
Randy Mackay
d26a9d4a22 SITL: fix compiler warning by defaulting frame_type 2016-05-26 17:03:28 +09:00
Andrew Tridgell
969b6ebea9 HAL_SITL: support coaxcopter in SITL 2016-05-26 17:09:22 +10:00
Andrew Tridgell
a2ed8fb313 AP_Motors: prevent negative thrust
this prevents a sqrt of a negative number
2016-05-26 17:09:11 +10:00
Andrew Tridgell
9f33ece3ef SITL: support coax copter 2016-05-26 17:08:27 +10:00
Andrew Tridgell
6855899cbf AP_Motors: fixed servo constructor for coax 2016-05-26 16:41:16 +10:00
Andrew Tridgell
4e5e301c4e AP_Motors: fixed servo constructor for heli 2016-05-26 16:41:06 +10:00
Andrew Tridgell
a80e233836 HAL_SITL: added SingleCopter 2016-05-26 16:30:39 +10:00
Andrew Tridgell
8944d298ed SITL: added SingleCopter simulator 2016-05-26 16:30:39 +10:00
Andrew Tridgell
f9fb098222 AP_Motors: fixed channel output for SingleCopter 2016-05-26 16:26:43 +10:00
Andrew Tridgell
163783fefd AP_HAL: define CH_NONE
for servos not connected to a channel
2016-05-26 16:26:30 +10:00
Andrew Tridgell
65eb9ceb32 AP_Motors: expose min/max pwm 2016-05-26 14:33:57 +10:00
Andrew Tridgell
dda35a366c HAL_PX4: prevent rate changes once oneshot is setup
this fixes a problem with small motor outputs at the start of a motor
test.

Thanks to Luis for reporting this.
2016-05-26 12:18:49 +10:00
Andrew Tridgell
a44b0e0011 AP_Motors: don't setup oneshot for a zero output mask 2016-05-26 12:18:49 +10:00
Andrew Tridgell
d90a2f7deb DataFlash: added get_structures() API
used in Replay
2016-05-25 20:46:00 +10:00
Andrew Tridgell
ac8c4d9beb AP_Mount: use zero length flexible arrays in unions 2016-05-25 19:55:49 +10:00
Andrew Tridgell
af116d238f AP_GPS: use zero length flexible arrays
this works with gcc-6.1 and also works with asan. Hopefully it will
make coverity happy too.
2016-05-25 19:55:49 +10:00
Andrew Tridgell
ae3cb0557d HAL_PX4: disable "Overtime in task" msg
this hasn't helped us find any bugs and it is very annoying with nsh
over MAVLink
2016-05-25 12:35:42 +10:00
Paul Riseborough
9eef97d108 AP_NavEKF2: use consistent parameter naming
M_NSE is a measurement noise
P_NSE is a observation noise
I_GATE is an innovation gate

This also ensures the new parameter values required to use the EKF2 will be enforced.
2016-05-25 12:06:04 +10:00
Fredrik Hedberg
75d5c87788 AP_Motors: Fix setpoint bug with 0~1 conversion in AP_MotorsHeli 2016-05-25 09:27:40 +09:00
Andrew Tridgell
1fd4cbffb2 DataFlash: update for changed AP_Airspeed API 2016-05-24 17:00:56 +10:00
Andrew Tridgell
4131b98f8c AP_Airspeed: use non-blocking airspeed calibration
this prevents the EKF from being upset by a time jump
2016-05-24 17:00:56 +10:00
Andrew Tridgell
1581a5e354 AP_Param: fixed forced save of constructor override parameters
this fixes the problem where setting ATC_RAT_YAW_FILT to 20 in copter
didn't stick across reboots
2016-05-24 16:55:45 +10:00
Grant Morphett
52755c893d Rover: Print message when running skid steering SITL 2016-05-24 12:24:53 +10:00