Andrew Tridgell
493c5dd63f
GCS_MAVLink: rebuild MAVLink headers
2014-04-04 21:57:22 +11:00
Andrew Tridgell
14b3696959
GCS_MAVLink: added SERIAL_CONTROL message definition
...
will be used for on-board radio and GPS firmware update and control
over USB
2014-04-04 21:57:22 +11:00
Andrew Tridgell
07d621c4be
AP_NavEKF: used state structure in more places
...
makes the code a bit easier to read
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-04 21:30:16 +11:00
priseborough
aa5335b16e
AP_NavEKF : Improved GPS position glitch handling
...
When using GPS after previously rejecting it, the GPS position will
always be offset if outside the specified glitch radius. This was the
original intent of the design and makes handling of glitches smoother.
It has been tested on replay using glitchy flight data
2014-04-04 21:01:22 +11:00
priseborough
b1786cf1e5
AP_NavEKF : Do not reset on GPS velocity timeout if good position data
2014-04-04 21:01:20 +11:00
priseborough
d25883f712
AP_NavEKF : Limit rate of Z accel bias adaptation
...
Aliasing can causes the bias estimate to fluctuate very rapidly as it tries
to keep up, which degrades the benefit of switching between
accelerometers to avoid aliasing.
This patch give a much more stable bias estimate during aliasing, and
allows the bias to adapt at a maximum rate of 1.0 m/s2 in 50 seconds
2014-04-04 21:01:18 +11:00
priseborough
36b3cbc365
AP_NavEKF : Relax aliasing check limits
...
This reduces the chance of noisy data inhibiting GPS glitch protection
2014-04-04 21:01:15 +11:00
priseborough
0ae736c3a0
AP_NavEKF : clean up convoluted logic used in sensor health checks
...
This doesn't change the behavior, but does make the code easier to
understand
2014-04-04 21:01:13 +11:00
Andrew Tridgell
013aaf4d3e
GCS_MAVLink: moved comms functions to not be inline
...
saves a bit of flash space
2014-04-04 13:19:15 +11:00
Andrew Tridgell
d9d038345a
AP_GPS: save 800 bytes of code space on APM2
...
we can assume a single GPS
2014-04-04 10:08:28 +11:00
Andrew Tridgell
9f857529ca
AP_GPS: auto-switch primary GPS based on status and number of satellites
2014-04-04 08:32:34 +11:00
Andrew Tridgell
11f196318e
RC_Channel: added static functions to simplify operations on all channels
...
this avoids vehicle code having to loop over all channels for common
operations
2014-04-03 12:18:56 +11:00
Andrew Tridgell
21c205a57e
AP_GPS: cope with different MON-HW message size in u-Blox Neo7
2014-04-03 10:55:05 +11:00
Andrew Tridgell
cd3038fabd
AP_NavEKF: fixed return of offset in getVariances()
2014-04-03 07:49:06 +11:00
Andrew Tridgell
dcb42af3e9
AP_BattMonitor: fixed example build
2014-04-03 07:49:06 +11:00
Craig Elder
3a92d75936
Ublox: Enable 1Hz Lock LED by default
2014-04-01 20:57:18 -07:00
Andrew Tridgell
067bbf5b5c
DataFlash: hdop is unsigned
2014-04-02 07:55:28 +11:00
Andrew Tridgell
e40a048009
AP_GPS: handle multiple GPS in GPS setHIL()
2014-04-02 07:55:28 +11:00
Andrew Tridgell
79f5618f6f
AP_GPS: zero state structure on driver release
...
this ensures no values are left from the previous driver
2014-04-02 07:55:28 +11:00
Randy Mackay
2ddc414f4d
InertialNav: replace safe_sqrt with pythagorous2
2014-04-01 20:43:53 +09:00
Randy Mackay
90e205c905
AC_PosControl: replace safe_sqrt with pythagorous2
2014-04-01 20:43:51 +09:00
Randy Mackay
15da01cf3a
AC_WPNav: replace safe_sqrt with pythagorous2
2014-04-01 20:43:45 +09:00
Andrew Tridgell
b8e4e35a0d
AP_Airspeed: use pythagorous3()
2014-04-01 22:15:12 +11:00
Andrew Tridgell
a7f213a5c5
AP_NavEKF: use pythagorous2()
2014-04-01 22:13:03 +11:00
Andrew Tridgell
9ab1a79b5a
AP_Airspeed: changed sqrt() to sqrtf()
2014-04-01 22:09:21 +11:00
priseborough
09c5ba1aed
Dataflash : Improved logging of EKF sensor health checks
...
This changes the definition sof the messages in the EKF4 message to make it more useful
The values shown now relate directly to how much margin there is before a measurement
is rejected, enabling better tuning of error trap parameters
2014-04-01 21:27:07 +11:00
priseborough
04036d7777
AP_NavEKF : Updated GPS glitch protection logic
...
This adds new functionality to the detection and compensation of GPS
glitches:
1) A maximum allowable innovation is calculated using the GPS noise
parameter multiplied by the gate, with an additional component allowing
for growth in position uncertainty due to acceleration error since
the last valid measurement
2) Includes per vehicle type values for the acceleration error limit
3) If the innovation length exceeds the maximum allowable, no fusion occurs
4) If no fusion has occurred for long enough such that the position uncertainty
exceeds the maximum set by a per vehicle parameter or a maximum time, an offset
is applied to the GPS data to so that it matches the value predicted by the filter
5) The offset is never allowed to be bigger than 100m
6) The offset is decayed to zero at a rate of 1.0 m/s to allow GPS jumps to
be accommodated gradually
7) The default velocity innovation gate has been tightened up for copter and rover
8) The variance data logging output has been updated to make it more useful
2014-04-01 21:22:14 +11:00
Andrew Tridgell
7e2ef0cfc0
AP_GPS: fixed GPS for Replay
2014-04-01 17:25:15 +11:00
Andrew Tridgell
9278685cdf
AP_Math: fixed location build on SITL
2014-04-01 14:20:10 +11:00
Andrew Tridgell
77e2f48581
AP_GPS: fixed notify updates for new API
2014-04-01 06:38:25 +11:00
Andrew Tridgell
9781175bf5
AP_GPS: fixed handling of driver destruction
...
this allows for more complex destructors, and ensures we don't have
multiple backends allocated at once per instance
2014-04-01 06:38:25 +11:00
Andrew Tridgell
7ceba8dce4
AP_GPS: prevent double allocation of GPS drivers
2014-04-01 06:38:25 +11:00
Andrew Tridgell
8779ffe088
AP_GPS: flush pending config strings when uBlox starts
2014-04-01 06:38:25 +11:00
Andrew Tridgell
0191355488
AP_GPS: fixed init strings to all be in progmem
...
and sent async ...
2014-04-01 06:38:25 +11:00
Andrew Tridgell
bc0c9ad6d5
AP_InertialNav: fixed example build
2014-04-01 06:38:25 +11:00
Andrew Tridgell
35c111a63a
AP_AHRS: fixed example build
2014-04-01 06:38:25 +11:00
Andrew Tridgell
7b2d56a8cb
AC_Fence: disable example build
...
fails to build with compiler error
2014-04-01 06:38:25 +11:00
Andrew Tridgell
3b8c6e629d
AC_AttitudeControl: updated example for new GPS API
2014-04-01 06:38:25 +11:00
Andrew Tridgell
c2486d8d6e
AP_GPS: updated examples for new API
...
removed old per-driver examples, and updates AUTO example
2014-04-01 06:38:25 +11:00
Andrew Tridgell
d04d33a02d
AP_InertialNav: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
5a2e84e792
AP_NavEKF: changes for new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
b7a2db716b
AP_Arming: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
eb67948171
AP_Mount: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
f07e4dee52
AP_AHRS: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
31d3b6555f
DataFlash: convert to new GPS API
2014-04-01 06:38:23 +11:00
Andrew Tridgell
368daf89f1
AP_GPS: new GPS API
...
This is a complete rewrite of the GPS driver structure, with a static
main driver and separate backend drivers. This will allow proper
support for multiple GPSes, and will allow parameters to be set on the
GPS object
2014-04-01 06:38:23 +11:00
Andrew Tridgell
2dd92832dc
AP_GPS: support multiple AP_GPS_Auto drivers
...
move all static variables into a dynamically allocated structure in
the AUTO driver which gets freed when we have found a GPS type
2014-04-01 06:38:23 +11:00
Andrew Tridgell
3c4389180e
AP_GPS: removed GPS_406 driver
...
this driver was untested and badly structured. If we want to support
the 406 we can revive it and do it properly
2014-04-01 06:38:23 +11:00
Jonathan Challinger
f0fc0397d3
Notify: add arming failure tone
2014-03-31 20:34:27 +09:00
Randy Mackay
7bb981f2df
AP_Notify: correct dos formatting
2014-03-31 20:34:24 +09:00
Andrew Tridgell
31082f4ce2
AP_Mission: fixed a bug re-entering AUTO
...
this fixes a bug found by Marco where we would continue in CRUISE mode
with no waypoint if we re-entered AUTO after a mission reset
2014-03-31 06:18:07 +11:00
Randy Mackay
93f8d53d1b
Mission: make get_prev_nav_cmd_index const
2014-03-30 23:09:54 +09:00
Randy Mackay
b15d4379d8
AC_WPNav: use atan2f, make methods const
2014-03-30 23:09:51 +09:00
Randy Mackay
3ad635feeb
AC_AttControl: 45deg/sec yaw rate for Auto, RTL
2014-03-30 15:44:14 +09:00
Randy Mackay
d27ca53a9d
AC_WPNav: spline sets origin vel to zero when no prev segment
...
Issue caught by Michael Oborne
2014-03-30 15:19:18 +09:00
Randy Mackay
7dfde39e19
AC_WPNav: advance_spline to use dt
2014-03-30 15:02:07 +09:00
Randy Mackay
c0458b786a
AC_WPNav: check acceleration is non zero
2014-03-30 11:52:44 +09:00
Randy Mackay
f0f3688172
AC_WPNav: rounder corners for short spline segments
2014-03-30 11:52:41 +09:00
priseborough
9c5f564dc5
AP_NavEKF : Fixes bug in initial earth magnetic field states
...
The calculation for these states was not being bias corrected
2014-03-30 07:43:52 +11:00
Randy Mackay
7bff8e9312
AC_AttControl: constrain earth frame yaw angle error
...
This temporarily resolves the wobble we see in Auto when the target
heading is suddenly changed leading to a large yaw angle error
2014-03-29 20:42:21 +09:00
Randy Mackay
197683d539
WPNav: clean up spline comments
2014-03-29 17:57:47 +09:00
priseborough
e1819bb53a
AP_NavEKF : Add initial parameter defaults for Copter, Rover and Plane
2014-03-29 14:06:43 +11:00
Randy Mackay
ac339a0289
Mission: add decoding of NAV_SPLINE command
2014-03-28 09:23:30 +09:00
Randy Mackay
e7be622eef
GCS_MAVLink: generate after adding NAV_SPLINE cmd
2014-03-28 09:23:28 +09:00
Randy Mackay
519d5fc444
GCS_MAVLink: add MAV_CMD_NAV_SPLINE_WAYPOINT cmd
...
This is the same as a NAV_WAYPOINT except that the vehicle flies a
spline curved path to the destination
2014-03-28 09:23:23 +09:00
Randy Mackay
24eb195aa3
WPNav: add yaw control for straight line wp nav
2014-03-28 09:23:13 +09:00
Randy Mackay
b42b12f7be
AC_WPNav: add get_spline_yaw
2014-03-28 09:23:07 +09:00
Randy Mackay
f2d9ad41aa
Mission: minor comment update
2014-03-28 09:22:56 +09:00
Randy Mackay
e5e71ce371
WPNav: add spline support
2014-03-28 09:22:53 +09:00
Michael Day
e1d193f539
GCS_MAVLink: Generated code from message additions for autofence.
2014-03-27 09:26:20 +11:00
Michael Day
c5ebd120f1
GCS_MAVLink: XML for MAV_CMD_DO_FENCE_ENABLE and MAV_SYS_STATUS_GEOFENCE
2014-03-27 09:26:20 +11:00
priseborough
55c60b8f07
AP_NavEKF : Reduce Magnetometer innovation consistency check threshold
2014-03-26 21:29:47 +11:00
priseborough
45b1a2fa46
AP_NavEKF : Reduce GPS position innovation consistency fail threshold
...
This patch reduces the maximum acceptable GPS jump from approximately 16 to 8 metres
This will provide copters with more protection for close in loiter situations
2014-03-26 21:29:45 +11:00
Andrew Tridgell
8c0c9c317e
RC_Channel: prevent a numerical exception with bad mount parameters
2014-03-26 17:38:27 +11:00
Andrew Tridgell
bafc664750
AP_NavEKF: use APM_BUILD_TYPE() macro
2014-03-26 12:42:11 +11:00
Andrew Tridgell
fbec098e2f
AP_Vehicle: added APM_BUILD_TYPE() macro
...
this makes checking build type less fragile
2014-03-26 12:41:53 +11:00
Andrew Tridgell
e3792f9b26
AP_NavEKF: added a mechanism for per-vehicle-type defaults in EKF
2014-03-26 12:30:17 +11:00
Andrew Tridgell
6b2f0b9553
AP_Vehicle: added defines for main vehicle types
2014-03-26 12:15:45 +11:00
Andrew Tridgell
6bf2b5033e
DataFlash: support logging up to 14 RC input channels
2014-03-25 16:39:19 +11:00
Andrew Tridgell
6039eab442
RC_Channel: support up to 12 aux channels on PX4
...
this allows RC13 and RC14 to work correctly as aux outputs on Pixhawk
2014-03-25 15:42:48 +11:00
Andrew Tridgell
64772cede8
GCS_MAVLink: rebuild MAVLink headers
2014-03-25 14:47:43 +11:00
Andrew Tridgell
d24547b390
GCS_MAVLink: merge latest msgs from upstream
2014-03-25 14:47:05 +11:00
Andrew Tridgell
6eee2421cc
AP_HAL: removed RCInput valid_channels() and added new_input() and num_channels()
...
the valid_channels() method was inconsistently implemented between
boards, and served two quite different purposes. It is clearer as two
functions
2014-03-25 14:39:41 +11:00
Andrew Tridgell
27dbf608c8
DataFlash: fixed a build warning
2014-03-25 13:31:21 +11:00
Andrew Tridgell
2a9a89e020
HAL_PX4: fixes for merged upstream PX4Firmware
2014-03-25 10:30:00 +11:00
priseborough
17cdac7bc8
AP_NavEKF : Clean up angle and mag field initialisation
...
This path reduces duplicated code, eliminates unused variables and
causes the earth magnetic field states to be reset when exiting static mode
which will occur every time copter is armed. This enables copters to be
powered on and initialised inside vehicles or houses, without bad earth
field values affecting flight.
2014-03-24 19:54:48 +11:00
Andrew Tridgell
f05b90bfd2
GCS_MAVLink: fixed some compiler warnings
2014-03-24 12:52:39 +11:00
Andrew Tridgell
0af35bd636
AP_Mission: fixed some compiler warnings
2014-03-24 12:52:27 +11:00
Andrew Tridgell
2763393908
AP_InertialSensor: fixed some compiler warnings
2014-03-24 12:52:16 +11:00
Andrew Tridgell
c6f3e0a81c
AP_GPS: fixed example builds
2014-03-24 12:20:34 +11:00
Andrew Tridgell
271ba3a6bc
AP_InertialNav: fixed example build
2014-03-24 12:03:47 +11:00
Andrew Tridgell
1b1a92251f
DataFlash: allow drivers to setup their own logging formats
...
this allows drivers to ask the dataflash driver to add new log formats
2014-03-24 12:03:31 +11:00
Andrew Tridgell
5630bb1ef6
AP_GPS: added detailed hardware status logging for uBlox
...
this gives us noise, jamming and RF information from the uBlox
protocol. This will hopefully allow a more detailed investigation of
antenna choices and RF interference
2014-03-24 12:02:37 +11:00
Andrew Tridgell
7ff293ca38
AP_GPS: added DataFlash to GPS init to allow for detailed logging
...
this will allow GPS drivers to log much more detailed device specific
information
2014-03-24 12:01:13 +11:00
Andrew Tridgell
485ae596fc
AP_Compass: fixed last_update for secondary compass with primary failed
...
this ensures EKF and DCM will use a secondary compass if the primary
fails
2014-03-23 22:05:17 +11:00
Matthew Lloyd
60a4f74de6
AP_Compass: avoid division by zero if we haven't received any mag reports
...
Otherwise, get_field() will return NaNs after once every few calls to
read() during compassmot on PX4 platforms, which causes compassmot to fail.
This is a quick hack around the deeper issue, which could be something
like the PX4 mag driver experiencing starvation and skipping mag reports,
buffer overrun or something else that causes mag reports to be dropped.
Or perhaps we should never expect in the first place that we will always
receive at least one mag report between calls to read().
2014-03-23 21:22:32 +11:00
priseborough
7ae86b3979
AP_NavEKF : Track baro height observations pre-arm
...
This prevents copter from failing the pre-arm height discrepancy test
2014-03-23 18:25:50 +11:00
priseborough
7780d55788
AP_NavEKF : Prevent large magnetic field adaptations early in flight
2014-03-22 19:55:26 +11:00
Randy Mackay
3efad982c0
GCS_Mavlink: return MISSION_INVALID when conversion fails
...
Requested by MichaelO to allow better error message to be displayed to
user when the mission upload from the GCS to vehicle fails
2014-03-22 11:29:36 +09:00
Paul Riseborough
f7007569d1
AP_NavEKF : Fix bug that limits copter sensor delay compensation to 125
...
msec
2014-03-21 21:52:20 +11:00
Paul Riseborough
b2c0979947
AP_NavEKF : Fixes bug that causes accel bias to diverge in static mode, preventing copter arming
2014-03-21 21:49:50 +11:00
Andrew Tridgell
a55c4e2296
AP_TECS: set target airspeed, not min/max airspeed, on landing
...
this seems to prevent ballooning of the altitude when we are in the
landing approach, and gives a much smoother landing
2014-03-20 17:34:39 +11:00
Andrew Tridgell
98530928b5
AP_TECS: make target landing speed a float
...
some users may want more precise control
2014-03-20 17:34:36 +11:00
Andrew Tridgell
b1ad2be897
AP_SpdHgtControl: added get_target_airspeed() interface
2014-03-20 17:34:29 +11:00
Michael Day
bd7e1b82e1
AP_TECS: Auto landing now takes throttle_nudge into account.
2014-03-20 17:34:26 +11:00
Michael Day
861690dea2
AP_TECS: New params LAND_ARSPD and LAND_THR auto-slowing landings.
...
Also controlling pitch by ignoring height error during landing.
This serves to keep the nose up.
2014-03-20 17:34:23 +11:00
Andrew Tridgell
3bdc22d672
AP_Mission: make p1 16 bit
...
this gives us a 16 bit value for extra data on a location, allowing
for an accurate angle in centi-degrees.
Also add validation of the size of the union arms in Content
2014-03-20 16:57:09 +11:00
Andrew Tridgell
959cafef8d
AP_Common: make alt in Location 24 bit
...
this allows for up to 83km mission altitudes, while allowing for 1
more byte in the command structure, making p1 16 bits
2014-03-20 16:57:09 +11:00
Andrew Tridgell
d508c7f37f
GCS_MAVLink: re-generate MAVLink headers
2014-03-20 10:21:28 +11:00
Andrew Tridgell
106fda773f
GCS_MAVLink: merge XML from upstream
2014-03-20 10:20:00 +11:00
Andrew Tridgell
8af9573806
GCS_MAVLink: allow logging of RADIO_STATUS, very useful for link analysis
2014-03-20 09:56:37 +11:00
Michael Day
68dbfd6315
DataFlash: Add Log_Write_Radio to store RSSI and noise on board.
2014-03-20 09:56:37 +11:00
Andrew Tridgell
8202cf437b
AP_Relay: fixed Pixhawk relay pin numbers
...
thanks to Craig for spotting this!
2014-03-20 09:40:08 +11:00
Paul Riseborough
8a2d16d13d
AP_NavEKF : modifed Zaccel bias noise parameter to prevent unstable bias estimate
2014-03-20 08:50:00 +11:00
Randy Mackay
c520cb789c
Mission: cmd field types to match mavlink commands
...
Split Set-Servo and Repeat-Servo command structures
Split Set-Relay and Repeat-Relay command structures
2014-03-19 12:14:22 +09:00
Andrew Tridgell
0832aba6bc
GCS_MAVLINK: moved deferred message handling into common code
2014-03-19 12:14:15 +09:00
Andrew Tridgell
8d89a64312
GCS_MAVLink: moved handling of MISSION_ITEM into common code
2014-03-19 12:14:09 +09:00
Andrew Tridgell
ba8c4b86a0
AP_InertialNav: fixed example build
2014-03-19 12:14:08 +09:00
Andrew Tridgell
d36989f6a1
AP_HAL: fixed example build
2014-03-19 12:14:06 +09:00
Andrew Tridgell
d3d71d597c
AP_Baro: fixed example build
2014-03-19 12:14:05 +09:00
Andrew Tridgell
dbd8f4b735
AP_Airspeed: fixed example build
2014-03-19 12:14:03 +09:00
Andrew Tridgell
afab8a9c5b
AP_AHRS: fixed example build
2014-03-19 12:14:02 +09:00
Andrew Tridgell
04587efb2d
AC_WPNav: fixed example build
2014-03-19 12:14:00 +09:00
Andrew Tridgell
1e9dcba3da
AC_Sprayer: fixed example build
2014-03-19 12:13:59 +09:00
Andrew Tridgell
4507c0fc4c
AC_Fence: fixed example build
2014-03-19 12:13:57 +09:00
Andrew Tridgell
73ae38eaf0
AC_AttitudeControl: fixed example build
2014-03-19 12:13:56 +09:00
Andrew Tridgell
23e296dd00
GCS_Console: fixed example build
2014-03-19 12:13:55 +09:00
Andrew Tridgell
5f85792224
DataFlash: fixed example build
2014-03-19 12:13:53 +09:00
Andrew Tridgell
2a199c4f03
AP_Notify: fixed example build
2014-03-19 12:13:51 +09:00
Andrew Tridgell
6eece3a278
AP_Mount: fixed example build
2014-03-19 12:13:50 +09:00
Andrew Tridgell
acd54d0826
AP_Math: fixed example build
2014-03-19 12:13:48 +09:00
Andrew Tridgell
731f980327
AP_InertialSensor: fixed example build
2014-03-19 12:13:47 +09:00
Andrew Tridgell
965f6bd3bd
GCS_MAVLink: make DataFlash a pointer
...
handle sketches where DataFlash is not available
2014-03-19 12:13:37 +09:00
Andrew Tridgell
b85c5123b2
GCS_MAVLink: added save parameter to handle_request_data_stream()
...
this allows copter to not save stream rate changes
2014-03-19 12:13:35 +09:00
Andrew Tridgell
79bb14b8c1
GCS_MAVLink: moved RADIO_STATUS handling into common code
2014-03-19 12:13:34 +09:00
Andrew Tridgell
144217ac74
GCS_MAVLink: moved parameter and stream handling into common code
...
this keeps it in common between vehicles, and saves stack space
2014-03-19 12:13:32 +09:00
Andrew Tridgell
06c578eb34
GCS_MAVLink: re-generate MAVLink headers
2014-03-19 12:13:31 +09:00
Andrew Tridgell
0b811ba6a9
GCS_MAVLink: added have_flow_control() method
...
can be used to change speed of handling some protocol methods, as we
know communication will be reliable
2014-03-19 12:13:25 +09:00
Randy Mackay
c462adf2ee
GCS_MAVLink: added five handle_mission methods
...
The five methods moved from the vehicle specific code are
handle_mission_request_list, set_current, count, clear_all and
write_partial_list
2014-03-19 12:13:19 +09:00
Randy Mackay
3938fb7255
GCS_MAVLink: loiter direction removed
...
This is now handled in Mission library
2014-03-19 12:13:18 +09:00
Randy Mackay
37cff752c8
Mission: handle Loiter direction
...
loiter-unlimited, loiter-turns and loiter-time cms specify the turn
direction in Param3. This is stored in the location's loiter_ccw flag.
Previously supported only in Plane, moving here allows us to share more
code with Plane, Copter, Rover.
2014-03-19 12:13:16 +09:00
Andrew Tridgell
add2416dbe
GCS_MAVLink: added handle_mission_request() common function
...
this handles requests for mission items, using stack saving
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:13:10 +09:00
Andrew Tridgell
ce29bbe394
GCS_MAVLink: save some memory in log download
...
use an existing buffer instead of using the mavlink _send()
function. This saves some stack space in log download
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:13:09 +09:00
Randy Mackay
c75560218d
Mission: command specific structures
2014-03-19 12:12:51 +09:00
Randy Mackay
865a4de33d
Common: use PACKED instead of pragma pack for Location
2014-03-19 12:12:49 +09:00
Randy Mackay
869f325c66
DataFlash: Log_Write_MavCmd replaces Log_Write_Cmd
2014-03-19 12:12:43 +09:00
Andrew Tridgell
3a6698f54b
AP_Mission: fixed typo
2014-03-19 12:12:42 +09:00
Andrew Tridgell
3538621c48
AP_Mission: doc updates
2014-03-19 12:12:40 +09:00
Randy Mackay
48329c1bba
Mission: bug fix for loading consecutive do-cmds
...
The verify step was not being run for the 2nd consecutive do-command in
a mission list
2014-03-19 12:12:37 +09:00
Randy Mackay
ece02b0c9a
Mission: get_prev_nav_cmd returns int16
2014-03-19 12:12:34 +09:00
Randy Mackay
266a1ce9af
Mission: bug fix set_current_cmd
...
If mission had completed desired command index was ignored
2014-03-19 12:12:27 +09:00
Andrew Tridgell
107cc2c126
AP_Mission: added truncate() function
...
Used when loading a mission while flying
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:12:21 +09:00
Andrew Tridgell
acdaf561c8
AP_Mission: fixed typo
2014-03-19 12:12:15 +09:00
Randy Mackay
ebf72f5beb
Dataflash: example sketch includes AP_Mission.h
2014-03-19 12:12:10 +09:00
Randy Mackay
150faafaf4
Dataflash: add Log_Write_Cmd method
2014-03-19 12:12:07 +09:00
Randy Mackay
8e117d29eb
Mission: test exceeding command storage size
2014-03-19 12:11:55 +09:00
Randy Mackay
9e07070d86
Mission: pass eeprom start into constructor
...
This allows different storage locations for ArduCopter, Plane and Rover
2014-03-19 12:11:53 +09:00
Randy Mackay
7663c5898e
AP_HAL_Boards: board specific storage size definition
2014-03-19 12:11:52 +09:00
Randy Mackay
ddc4cd4f18
Mission: add init and check_eeprom_version methods
2014-03-19 12:11:46 +09:00
Randy Mackay
4c0a31a9dc
Mission: init home to zero before writing to eeprom
2014-03-19 12:11:37 +09:00
Randy Mackay
df339c05fc
Mission: num_commands returns uint16
2014-03-19 12:11:25 +09:00
Randy Mackay
af186fba05
AP_Common: pack Location structure
...
This resolves issues storing and retrieving Location to eeprom as part
of AP_Mission
2014-03-19 12:11:13 +09:00
Randy Mackay
e60865b715
Mission: example sketch test for set_current_cmd
2014-03-19 12:11:12 +09:00
Randy Mackay
512b378c4a
Mission: allow set_current_cmd when mission is not running
...
Can now be run when mission is complete or stopped. When mission is
resumed it will begin at the set command. This command can be either a
nav or do command
2014-03-19 12:11:10 +09:00
Andrew Tridgell
eaf34bba9a
AP_Mission: fixed reset using set mission item to 0
...
this causes a mission reset
2014-03-19 12:11:07 +09:00
Randy Mackay
8dd301b0c2
Mission: set_current_cmd to use uint16
2014-03-19 12:11:06 +09:00
Randy Mackay
a6e422333e
Mission: remove alt_in_cm from mavlink to cmd conversion
2014-03-19 12:11:01 +09:00
Randy Mackay
efd4058e8b
AHRS: interate move of p1 from Location to mission cmd
2014-03-19 12:10:51 +09:00
Randy Mackay
5dd86bd7d7
Mission: update example sketch for p1's move to cmd structure
2014-03-19 12:10:49 +09:00
Randy Mackay
87126c9b71
Common: remove id and p1 from Location structure
...
id and p1 are now part of AP_Mission's Mission_Command structure
2014-03-19 12:10:46 +09:00
Randy Mackay
0dc3c9ab42
Mission: add p1 to command structure
...
mavlink_to_mission_cmd method extended to support plane including adding
parameter to allow the alt to be expressed in cm or meters
2014-03-19 12:10:45 +09:00
Randy Mackay
4c0ae63169
Mission: example sketch test replace_cmd method
2014-03-19 12:10:42 +09:00
Randy Mackay
61cc5e6b72
Mission: add replace_cmd method
2014-03-19 12:10:40 +09:00
Randy Mackay
ef21e32fbc
Mission: example sketch tests set current command
2014-03-19 12:10:37 +09:00
Randy Mackay
3cbbd4ebb9
Mission: add set current command method
2014-03-19 12:10:36 +09:00
Randy Mackay
c7ffd2db90
Mission: reduce unnecessary search for do-commands
...
do_cmd_all_done flag is set after all do-commands are complete
2014-03-19 12:10:33 +09:00
Randy Mackay
0c92d60406
Mission: command index increase to int16
...
Once more eeprom space is allocated this will allow more than 255
commands
2014-03-19 12:10:31 +09:00
Randy Mackay
85b979ede9
Mission: support do-jump num_times is -1
...
do-jump loops forever when num times is set to -1
2014-03-19 12:10:29 +09:00
Randy Mackay
c6c43847b6
Mission: example sketch tests set home command
2014-03-19 12:10:27 +09:00
Randy Mackay
9ef27955b5
Common: add location options masks
2014-03-19 12:10:20 +09:00
Randy Mackay
cc8554fa2b
Mission: fix example sketch
2014-03-19 12:10:18 +09:00
Randy Mackay
f4d8ccc128
Mission: add mavlink to cmd conversion methods
2014-03-19 12:10:17 +09:00
Randy Mackay
87c7d19f83
AP_Mission: special handling for cmd
2014-03-19 12:10:14 +09:00
Randy Mackay
e8db57ced3
AP_Mission: replace block read/write for eeprom
...
Also reserve command #0 for home position
2014-03-19 12:10:00 +09:00
Randy Mackay
fd009d0704
AP_Mission: tests added to example sketch
2014-03-19 12:09:59 +09:00
Randy Mackay
84b3497a82
AP_Mission: fixes to protect against endless loops
2014-03-19 12:09:57 +09:00
Randy Mackay
6086bc14be
AP_Mission: mostly working draft
2014-03-19 12:09:56 +09:00
Randy Mackay
4285eba297
AP_Mission: initial draft library
2014-03-19 12:09:54 +09:00
Randy Mackay
dd45647626
AC_PosControl: update some comments re leash lengths
2014-03-17 10:13:02 +09:00
Holger Steinhaus
345115fddd
AC_PosControl: fixed leash length calc for descent speed
2014-03-17 10:12:47 +09:00
Andrew Tridgell
6b5d27efbb
AP_GPS: fixed example builds with change to init()
2014-03-16 06:44:50 +11:00
Andrew Tridgell
68462025ba
RC_Channel: constrain norm_input() to -1 to 1
...
if RC is not properly calibrated we could get a value beyond 1, which
could cause some flight modes to exceed the roll/pitch limits of the
aircraft
2014-03-15 20:43:13 +11:00
Andrew Tridgell
9cf1fd46c8
AP_GPS: removed nav_setting default
...
not needed, and apparently caused issue with xcode 5.1
2014-03-14 07:49:56 +11:00
Paul Riseborough
dacba5d911
AP_NavEKF : Update default tuning parameters (for plane use)
2014-03-14 06:07:58 +11:00
Paul Riseborough
d0828d9c15
AP_NavEKF : Prevent bad user parameter causing incorrect GPS fusion
2014-03-14 06:07:58 +11:00
Paul Riseborough
a24bfc1b8a
AP_NavEKF : Use synthetic sideslip fusion during GPS denied operation with airspeed
2014-03-14 06:07:57 +11:00
Paul Riseborough
35811758d7
AP_NavEKF : Update comments and remove un-used function declarations
2014-03-14 06:07:57 +11:00
Andrew Tridgell
db48ed9218
AP_Compass: fixed showing of is_external for 2nd compass
2014-03-13 16:26:43 +11:00
Andrew Tridgell
beb6123576
GCS_MAVLink: send a "zero logs" message when no logs available
2014-03-11 17:12:22 +11:00
Andrew Tridgell
ecdd74d580
DataFlash: return number of logs as zero correctly
...
when we have no file based logs, report no logs :)
2014-03-11 17:11:58 +11:00
Andrew Tridgell
d9e8c34a89
GCS_MAVLink: allow for proxying of larger MAVLink messages on PX4
...
this makes it possible to deal with large MAVLink messages
2014-03-11 13:48:25 +11:00
Paul Riseborough
784034170d
AP_NavEKF : increased useage of helper functions
2014-03-10 21:54:03 +11:00
Paul Riseborough
7b3130cfcc
AP_NaVEKF : Enable operation without airspeed and compass
2014-03-10 21:53:09 +11:00
Paul Riseborough
3a5acb9cea
AP_NavEKF : improved on-ground, in-air check and GPS yaw alignment
2014-03-10 14:07:34 +11:00
Paul Riseborough
b47a11edf6
AP_NavEKF : improved static and on-ground mode selection logic
2014-03-10 04:39:59 +11:00
Paul Riseborough
15a44571c2
AP_NavEKF : enable operation without a compass for planes
2014-03-09 20:01:45 +11:00
Paul Riseborough
2019708056
AP_NavEKF : Make all compass use autodetect
2014-03-09 19:59:19 +11:00
Paul Riseborough
e485b246e7
AP_NavEKF : update comments
2014-03-09 19:59:18 +11:00
Paul Riseborough
c8bd415b00
AP_NavEKF : Add sideslip constraint to allow plane flight without magnetometer
2014-03-09 19:59:17 +11:00
Paul Riseborough
52fabc822f
AP_NavEKF : Add low speed magnetometer calibration option
2014-03-09 19:59:16 +11:00
Paul Riseborough
88b0364fcd
AP_TECS : Add protection for airspeed runaway due to pitch errors
2014-03-09 19:59:16 +11:00
priseborough
6ace31b6c1
AP_NavEKF : Fix bug that leaves height unconstrained in static mode
2014-03-09 19:27:21 +11:00
Mike McCauley
c90d3ff59e
Flymaple: RCOUtput disable_ch() now supports disabling outputs
2014-03-08 21:55:57 +11:00
Andrew Tridgell
794cc33e6a
GPS: added set_secondary() function
...
for preventing notify updates for 2nd GPS
2014-03-08 21:47:49 +11:00
Paul Riseborough
94ff7522fc
AP_NavEKF : Fix bug in initial East mag field state variance
2014-03-08 07:44:34 +11:00
Andrew Tridgell
63234d4c22
AP_Baro: fixed linux build of BMP085 driver
2014-03-07 09:33:43 +11:00
Randy Mackay
4cfe50b70c
Notify: brighter RGB LED when on battery power
2014-03-05 21:38:29 +09:00
Randy Mackay
1c457d8448
Mount: add get_mode and set_mode_to_default methods
2014-03-05 16:01:11 +09:00
Andrew Tridgell
dd502e98b4
RC_Channel: added support for separate wheel steering channels on planes
2014-03-05 12:57:50 +11:00
Andrew Tridgell
a788405c8b
RC_Channel: added percent_input() function
...
useful for plane flaps
2014-03-05 09:17:50 +11:00
Randy Mackay
25ee5d5dc8
AC_AttControl: smoothing_gain to angle_ef_roll_pitch_rate_ef_yaw_smooth
...
pair-programmed with lthall
2014-03-04 22:23:14 +09:00
lthall
15f88c2a2b
AC_AttControl: Stabilize input shaping
2014-03-04 21:52:18 +09:00
Andrew Tridgell
5f85e7af6a
HAL_PX4: switch to new serial port for 2nd GPS
2014-03-04 20:34:44 +11:00
Andrew Tridgell
af2f72acb0
HAL_SITL: honor SIM_GPS2_ENABLE option
2014-03-03 07:07:29 +11:00
Andrew Tridgell
7a52938f68
SITL: added SIM_GPS2_ENABLE option
2014-03-03 07:07:09 +11:00
Mike McCauley
be34e0358a
RC_Channel: Removed duplicate defines from RC_Channel.h
2014-03-03 06:34:34 +11:00
Andrew Tridgell
449d09051e
AP_NavEKF: cope with compass going offline while in flight
2014-03-02 14:32:10 +11:00
Andrew Tridgell
77f91e6250
AP_NavEKF: don't assume the number of gyros == number of accels
2014-03-02 13:53:19 +11:00
Paul Riseborough
ebb3cc3348
AP_NavEKF : Use average of dual IMU gyro data when available
2014-03-02 13:28:44 +11:00
Paul Riseborough
a39d00fc13
AP_NavEKF : Fix bug that prevents Zacc bias state variance being updated
2014-03-02 13:27:22 +11:00
Paul Riseborough
573b3210dd
AP_NavEKF : Add div0 protection to the IMU1_weighting calc
2014-03-02 08:10:06 +11:00
Paul Riseborough
bd152d332c
AP_NavEKF : Add accel aliasing protection
2014-03-02 08:10:04 +11:00
Andrew Tridgell
853271dd37
Replay: moved replay tool into Tools/Replay
2014-03-01 14:30:55 +11:00
Andrew Tridgell
295cd9adba
AP_NavEKF: give a sensible error for no such file on replay
2014-03-01 14:24:51 +11:00
Paul Riseborough
854f013146
AP_NavEKF : Fixes zero compass offsets on initialisation
2014-02-28 19:43:12 +11:00
Andrew Tridgell
cc4c443b32
SITL: simulate dual accel/gyro
2014-02-28 17:30:38 +11:00
Jonathan Challinger
e81d2e9584
AP_InertialSensor: Correct out-of-bounds array access that was causing SITL to crash
2014-02-28 17:25:54 +11:00
Andrew Tridgell
736201689b
AP_NavEKF: only use the active accel from DCM if fly_forward is set
2014-02-27 17:40:13 +11:00
Andrew Tridgell
aaaae9a222
AP_AHRS: added get_fly_forward() method
...
will be used to detect a copter
2014-02-27 17:39:49 +11:00
Paul Riseborough
62eff63267
AP_NavEKF : Increase the tuning range for magnetometer measurement noise
2014-02-27 17:20:38 +11:00
Andrew Tridgell
9a5ecc9541
AP_AHRS: use primary accel for accel_ef
...
Logs from Randy show that the copter INav code can't handle the
accelerometer sensor changing.
2014-02-27 16:28:37 +11:00
Andrew Tridgell
2c85a7ba56
AP_InertialSensor: expose get_primary_accel() for use in AHRS
2014-02-27 16:27:46 +11:00
Andrew Tridgell
cf148fa76c
AP_Compass: improved COMPASS_ORIENT and COMPASS_EXTERNAL for Pixhawk
2014-02-27 12:46:27 +11:00
Andrew Tridgell
a9e683dada
AP_NavEKF: use the accelerometer chosen by DCM for each step
2014-02-27 09:41:48 +11:00
Andrew Tridgell
b53496d470
AP_AHRS: choose the best accelerometer at each drift correction step
...
this greatly reduces the impact of aliasing on accelerometers by
choosing the accelerometer that produces the smallest error term in
DCM. The difference can be quite dramatic on the Pixhawk.
2014-02-27 09:41:28 +11:00
Andrew Tridgell
0b45d2bc06
AP_AHRS: removed the AHRS_GPS_DELAY parameter
...
the best value has turned out to be 1, and tweaking it has not turned
out to be useful, so this simplifies the code in preparation for
adding the anti-aliasing handling with multiple accelerometers
2014-02-27 08:57:44 +11:00
Paul Riseborough
78a1cac560
AP_NavEKF : Improved heading and magnetic field state initialisation
2014-02-27 08:12:10 +11:00
Paul Riseborough
d83b382e59
AP_NavEKF : Fix variance constraint bug
...
Constraining variances to a minimum value of 1e-9 was causing problems
with gyro bias and angular accuracy in noisy GPS environments.
Because the constraint is applied after every covariance prediction
and correction, a lower value of 0 is more appropriate.
2014-02-27 08:12:03 +11:00
Andrew Tridgell
8b59e564ba
AP_NavEKF: improved replay timing
2014-02-27 08:11:04 +11:00
Andrew Tridgell
840f1b9a1e
AP_InertialSensor: make HIL timing more accurate
...
needed for 400Hz replay
2014-02-27 08:10:42 +11:00
Andrew Tridgell
66f238c0da
AP_NavEKF: support 400Hz replay from 50Hz logs
2014-02-26 19:34:01 +11:00
Andrew Tridgell
3fa2207a2d
AP_HAL: allow for microsecond resolution in scheduler->stop_clock()
...
this makes 400Hz in the replay code possible
2014-02-26 19:33:39 +11:00
Andrew Tridgell
6fc5c12f1d
AP_AHRS: remove unused variable
2014-02-26 10:28:12 +11:00
Andrew Tridgell
866e32f059
AP_Motors: removed unused variable
2014-02-26 09:40:39 +11:00
Andrew Tridgell
e410733682
DataFlash: added GPS2 logging
2014-02-26 09:19:00 +11:00
Andrew Tridgell
0115b9fa07
HAL_SITL: support a 2nd GPS
2014-02-26 08:19:47 +11:00
Andrew Tridgell
836f473db2
HAL_FLYMAPLE: no uartE
2014-02-26 08:19:20 +11:00
Andrew Tridgell
58d5454d65
HAL_Empty: no uartE
2014-02-26 08:19:18 +11:00
Andrew Tridgell
6c74ca58c3
HAL_AVR: no uartE
2014-02-26 08:19:15 +11:00
Andrew Tridgell
4cb61f1f08
AP_HAL: support uartE
2014-02-26 08:18:20 +11:00
Andrew Tridgell
bf2dd141e9
HAL_PX4: support uartE for 2nd GPS
2014-02-26 08:18:11 +11:00
Andrew Tridgell
63874dfffd
AP_NavEKF: set fix type in GPS replay
2014-02-25 21:10:49 +11:00
Andrew Tridgell
d7b2a09919
AP_GPS: added fix type to setHIL
2014-02-25 21:10:30 +11:00
Andrew Tridgell
09cce5d24e
AP_NavEKF: fixed replay with current copter logs
2014-02-25 20:56:53 +11:00
Jonathan Challinger
f321a5f241
AP_AHRS: Change airspeed_estimate to const in children of AP_AHRS
...
Allows roll/pitch controllers to use DCM's airspeed estimate. Thanks to Kevin Hester for assistance in finding this.
2014-02-25 18:49:16 +11:00
Paul Riseborough
72a91ccbca
AP_NavEKF : Prevents aliasing triggering innovation consistency check failures
2014-02-25 15:55:44 +11:00
Andrew Tridgell
7a6f671659
AP_GPS: added have_vertical_velocity() function
...
for use by EKF
2014-02-24 18:24:10 +11:00
Andrew Tridgell
a273951f70
HAL_Linux: added missing Util.cpp
2014-02-24 11:59:24 +11:00
Paul Riseborough
5db9a87d31
AP_NavEKF : fixed bug in velocity rate of change filter
...
This bug meant the velocity rate of change used to scale the GPS measurement variances was noisy and too small
2014-02-23 19:50:37 +11:00
Paul Riseborough
01c84c3f47
AP_NavEKF : fixed bug in height limit range
2014-02-23 19:50:36 +11:00
Paul Riseborough
36d619ec3a
AP_NavEKF : Changed default IMU bias process noise to use smallest value
2014-02-23 19:50:36 +11:00
Paul Riseborough
89e0b48320
AP_NavEKF : Bug fix for height drift due to timer wrap-around
2014-02-23 19:50:35 +11:00
Paul Riseborough
939a32a7bb
AP_NavEKF : Improved stability of Z accel bias
2014-02-23 19:50:34 +11:00
Paul Riseborough
9f3c19c03a
AP_AHRS : change initialisation requirements for EKF and use dynamic method
2014-02-23 19:50:34 +11:00
Andrew Tridgell
6732d6c79b
AP_InertialSensor: enable get_accel_count() and get_gyro_count() APIs for HIL
2014-02-23 19:10:07 +11:00
Andrew Tridgell
5d7346b5c2
HAL_SITL: fixed build with new HIL INS API
2014-02-23 19:09:41 +11:00
Andrew Tridgell
ffbd655ba0
AP_NavEKF: support dual sensors in log replay, and fix flight altitude
2014-02-23 08:17:55 +11:00
Andrew Tridgell
707cc2b532
AP_NavEKF: allow log filename to be specified in replay
2014-02-23 08:17:01 +11:00
Andrew Tridgell
0e18079c47
AP_InertialSensor: allow HIL sensors to support multiple instances
...
this allows log replay to test both sets of sensors on a Pixhawk log
2014-02-23 08:16:33 +11:00
Andrew Tridgell
735c6449a1
AP_HAL: added support for commandline arguments
...
useful for log replay, specifying log file
2014-02-23 08:15:39 +11:00
Andrew Tridgell
4e56196655
AP_NavEKF: allow states to be accessed using names as well as a Vector22
2014-02-21 20:24:47 +11:00
Andrew Tridgell
009913ec60
AP_Math: make is_nan const for quaternion and add .zero() for vector2
2014-02-21 20:24:47 +11:00
Randy Mackay
33fe778cdd
InertialSensor_PX4: resolve compiler warning
2014-02-21 13:53:34 +09:00
Randy Mackay
98bdbb7fed
AC_WPNav: set loiter accel to 1/2 of speed
...
Bug fix from Leonard.
Also fixed some formatting.
2014-02-20 21:37:45 +09:00
Andrew Tridgell
f222f2ef1e
DataFlash: fixed logging on PX4v1
...
large writes break IO, a NuttX bug
2014-02-20 06:55:35 +11:00
Andrew Tridgell
20b0444c15
AP_NavEKF: remove sleep on init of EKF
...
this prevents HIL from locking up, and also prevents a possible 1s
delay in flight on EKF init
2014-02-19 22:04:12 +11:00
Andrew Tridgell
b434c11215
AP_AHRS: removed empty file
2014-02-19 22:00:25 +11:00
Randy Mackay
aa5ea23245
GCS_MAVLink: regenerate for COMPASSMOT_STATUS msg
2014-02-19 16:04:08 +11:00
Randy Mackay
a7c25ec649
GCS_MALink: improved generate.sh failure msg
2014-02-19 16:04:05 +11:00
Andrew Tridgell
50cbc661ef
GCS_MAVLink: added new COMPASSMOT_STATUS message
2014-02-19 16:03:57 +11:00
Andrew Tridgell
c9d0c1face
AP_NavEKF: use ahrs->get_armed() for static mode demanded
2014-02-19 10:52:57 +11:00
Andrew Tridgell
3b1f9a4bbf
AP_AHRS: added get_armed() and set_armed() calls
...
will be used by NavEKF to determine static mode
2014-02-19 10:52:24 +11:00
Andrew Tridgell
fe0cb23733
AP_InertialSensor: fixed HIL for 400Hz INS
2014-02-19 10:29:00 +11:00
Andrew Tridgell
536160a3fb
AP_NavEKF: use AHRS get_correct_centrifugal()
2014-02-19 10:28:45 +11:00
Andrew Tridgell
fad0b2b233
AP_AHRS: added get_correct_centrifugal()
...
used by NavEKF to force static mode
2014-02-19 10:28:14 +11:00
Andrew Tridgell
599c3a8abf
AP_Math: added more operators to VectorN
2014-02-19 10:14:58 +11:00
Andrew Tridgell
869e41fd03
AP_NavEKF: fixed detection of airspeed sensor
...
the get_airspeed() AHRS call can change as the user enables/disables
the airspeed sensor, plus it only gets enabled after the NavEKF
constructor runs.
2014-02-19 09:22:45 +11:00
Paul Riseborough
1ade39977a
AP_NavEKF : covariance prediction cleanup
2014-02-19 09:22:45 +11:00
Paul Riseborough
8daca145d0
AP_NavEKF : useAirspeed set automatically
2014-02-19 09:22:45 +11:00
Paul Riseborough
6fbada26d3
AP_NavEKF : Improvements to staticMode robustness
2014-02-19 09:22:45 +11:00
Mike McCauley
bd768a0c0c
AP_HAL_FLYMAPLE RCOutput.cpp: enable_ch no longer resets servo
...
FLYMAPLERCOutput::enable_ch incorrectly reset the servo to 0, which caused
servo twitching once per second when RC_Channel_aux::enable_aux_servos
enabled each channel.
2014-02-18 09:25:08 +11:00
Andrew Tridgell
ad4db4de6c
AP_Airspeed: added setHIL() method
...
useful for log playback
2014-02-18 09:25:08 +11:00
Andrew Tridgell
e11ada7bf0
RC_Channel: fixed comment on enable_aux_servos()
...
thanks to Mike McCauley for spotting
2014-02-18 09:25:07 +11:00
Andrew Tridgell
b2bd81f262
AP_Baro: added alternative setHIL interface
...
uses pressure and temperature for better log replay
2014-02-18 09:25:07 +11:00
Andrew Tridgell
5bf170c440
AP_NavEKF: fixed log replay code
...
also added BARO and ARSP messages
2014-02-18 09:25:07 +11:00
jschall
024855014f
AC_PosControl: update _pos_error if it is being limited
...
This fixes a bug that causes 10hz throttle noise.
2014-02-17 22:33:06 +09:00
Andrew Tridgell
9cf70fe3f7
AP_HAL: another broken example build
...
this one an internal compiler error
2014-02-17 12:42:13 +11:00
Mike McCauley
4f9f87a8c6
AP_HAL_FLYMAPLE: Add notes to FlymaplePortingNotes.txt re GPS selection.
2014-02-17 05:56:37 +11:00
Mike McCauley
54a0b04c12
AP_HAL_FLYMAPLE: RCInput detects stale input readings better. Update test
...
code.
2014-02-17 05:56:37 +11:00
Mike McCauley
f1533aa350
AP_HAL_FLYAPLE: update documentation in FlymaplePortingNotes.txt
2014-02-17 05:56:37 +11:00
Mike McCauley
81791bdc43
AP_HAL_FLYMAPLE: Added documentation about alternative orientations to FlymaplePortingNotes.txt
2014-02-17 05:56:37 +11:00
Mike McCauley
95bea052d2
AP_HAL_FLYMAPLE: update documentation in FlymaplePortingNotes.txt
2014-02-17 05:56:37 +11:00
Mike McCauley
2c94a40310
AP_InertialSensor: AP_InertialSensor_Flymaple Remove unnecessary
...
comment
2014-02-17 05:56:37 +11:00
Mike McCauley
dd6abb49a9
AP_InertialSensor: AP_InertialSensor_Flymaple::healthy() was required after
...
all.
2014-02-17 05:56:37 +11:00
Mike McCauley
0a43cf8c5c
AP_InertialSensor: AP_InertialSensor_Flymaple removed redundant definition of
...
healthy().
2014-02-17 05:56:37 +11:00
Mike McCauley
f7279aa13f
AP_InertialSensor: AP_InertialSensor_Flymaple implement get_gyro_health
...
and get_accel_health.
2014-02-17 05:56:37 +11:00
Mike McCauley
4dc33c8de8
AP_HAL_FLYMAPLE: updated FlymaplePortingNotes.txt
2014-02-17 05:56:37 +11:00
Randy Mackay
d277b6cabd
AC_AttControl: fix @Units parameter descriptions
2014-02-16 22:36:59 +09:00
Paul Riseborough
7a82746fcc
AP_NavEKF : fixed bug in pos and vel reset when in static mode
2014-02-16 22:35:19 +11:00
Paul Riseborough
275ef86f86
AP_NavEKF : Position and Velocity reset bugfix
2014-02-16 21:05:37 +11:00
Paul Riseborough
b22dc706b2
AP_NavEKF : staticMode bugfix and robustness improvements
2014-02-16 21:04:55 +11:00
Paul Riseborough
2926602718
AP_NavEKF : Cleaned up InitialiseFilterDynamic
2014-02-16 21:04:51 +11:00
Paul Riseborough
404fbafe26
AP_NavEKF : Changed timout behaviour to only reset PosVel states
2014-02-16 21:04:46 +11:00
Andrew Tridgell
856dfd0ee6
AC_AttitudeControl: fixed example build
2014-02-16 18:43:15 +11:00
Andrew Tridgell
ee37bc3d27
AP_AHRS: ensure we have HAL_CPU_CLASS available
2014-02-16 17:57:09 +11:00
Randy Mackay
6af705d455
AC_Circle: bug fix for pos target when radius is zero
2014-02-16 13:46:38 +11:00
Randy Mackay
9130c88f15
AC_PosControl: throttle rate to simple P controller
2014-02-16 13:35:44 +11:00
Randy Mackay
a021d0ca31
AHRS: fix compiler warning
2014-02-16 13:35:37 +11:00
Randy Mackay
34b62fc078
AC_AttControlHeli: add ACCEL_RP_MAX, ACCEL_Y_MAX
2014-02-16 13:35:26 +11:00
lthall
b8d9bdb794
AC_AttControl: accel limit for roll, pitch yaw rates
2014-02-16 13:35:23 +11:00
Andrew Tridgell
189d635493
AP_Compass: constrain compass offsets to +/- 2000
...
this is prompted by a user log showing NaN compass offsets, resulting
in a crash. The patch ensures we never end up with NaN offsets, and
also constrains the offsets to a reasonable limit
2014-02-16 13:33:41 +11:00
Andrew Tridgell
6618bdae67
DataFlash: periodically use lseek to avoid NuttX seek bug
2014-02-16 13:21:35 +11:00
Andrew Tridgell
9bb8f73d56
Compass: split compass learning out to its own C++ file
2014-02-16 13:21:06 +11:00
Andrew Tridgell
24e1070eb2
AP_NavEKF: initialise quaternion from rotation matrix
2014-02-15 12:21:11 +11:00
Andrew Tridgell
2df314799e
AP_Math: added tests for quaternion to/from rotation matrix
2014-02-15 12:20:51 +11:00
Andrew Tridgell
689f230d40
AP_Math: added quaternion.from_rotation_matrix()
2014-02-15 12:20:31 +11:00
Andrew Tridgell
c6b24c521b
AP_NavEKF: force healthy false when initialising
...
this prevents us feeding off our own values when booting
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-02-15 09:25:40 +11:00
Andrew Tridgell
be33a9634e
AP_AHRS: move using_EKF to .cpp to make it easier in gdb
2014-02-15 09:25:40 +11:00
Andrew Tridgell
eedd88c2ec
AP_AHRS: give zero lat/lng and baro alt if no position yet in DCM
2014-02-15 09:25:40 +11:00
Andrew Tridgell
4d3f714a5d
AP_Notify: fixed example build
2014-02-15 06:40:39 +11:00
Andrew Tridgell
830afefcef
AP_HAL: fixed example build
2014-02-15 06:40:29 +11:00
Andrew Tridgell
3af38a778d
AP_Baro: fixed example build
2014-02-15 06:40:15 +11:00
Andrew Tridgell
8201f9c928
AP_NavEKF: don't build example
2014-02-15 06:40:06 +11:00
Andrew Tridgell
c1dff6aa65
AP_Math: fixed example build
2014-02-15 06:39:43 +11:00
Andrew Tridgell
f9d0747750
AP_InertialSensor: fixed example build
2014-02-15 06:39:35 +11:00
Randy Mackay
5bdc564191
AP_AHRS: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
c18b3f6094
AP_Airspeed: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
bb715424ee
Baro: fix BMP085 example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
d761ddd4af
AP_Motors: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
ae59bef6d1
AC_INav: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
42d9225fbe
HAL_AVR: ArduCopterLibs to use AC_P library
2014-02-15 06:09:08 +11:00
Randy Mackay
bf3effcd10
AC_WPNav: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
889ee1bfef
AC_Sprayer: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
4484a4232a
AC_Fence: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
c35bd84e21
AC_AttControl: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
451910fc94
AC_AttControlHeli: replace APM_PI with AC_P
2014-02-15 06:09:08 +11:00
Randy Mackay
ff9f4fe6e7
AC_AttControl: replace APM_PI with AC_P
2014-02-15 06:09:08 +11:00
Randy Mackay
94fb9c4274
AC_PosControl: replace APM_PI with AC_P
2014-02-15 06:09:08 +11:00
Randy Mackay
fbf8106280
AC_Circle: remove AC_PID include
...
This is no longer required with introduction of PosControl lib
2014-02-15 06:09:08 +11:00
Randy Mackay
e86a21a254
AC_WPNav: remove AC_PID include
...
This is no longer required with introduction of PosControl lib
2014-02-15 06:09:08 +11:00
Randy Mackay
8fae75ee87
AC_PID: add AC_P controller
...
Used for stabilize angle controllers, alt hold and loiter
2014-02-15 06:09:08 +11:00
Randy Mackay
fbc5af2705
AC_PID: results returned as float
2014-02-15 06:09:08 +11:00
Randy Mackay
a6ad51b38f
AC_AttControl: rename most methods
2014-02-15 06:09:08 +11:00
lthall
65c2fc0cc6
AC_AttControl: ACRO fixes
2014-02-15 06:09:08 +11:00
Andrew Tridgell
0bbe038587
GCS_MAVLink: re-generate MAVLink headers
2014-02-15 05:48:24 +11:00
Andrew Tridgell
801ceacaf2
AP_AHRS: re-run update_trig() after EKF AHRS update
2014-02-15 05:48:24 +11:00
Andrew Tridgell
a88212eb7a
AP_InertialNav: fixed EKF version for new AHRS API
2014-02-15 05:48:24 +11:00
Andrew Tridgell
a7a44a9a5c
AP_NavEKF: fixed init order warning
2014-02-15 05:48:24 +11:00
Andrew Tridgell
9b8311580b
AP_TECS: update for AHRS API change
2014-02-15 05:48:24 +11:00
Andrew Tridgell
25ef0d5a7b
AP_AHRS: don't allow get_velocity_NED() and get_relative_position_NED() without EKF
...
this avoids some linking issues, plus the functions are inaccurate
without EKF
2014-02-15 05:48:24 +11:00
Andrew Tridgell
6964529124
AP_Baro: _calculate can be private
2014-02-15 05:48:24 +11:00
Andrew Tridgell
c62ccce9d8
AP_AHRS: make estimate_wind() public
...
this avoids it linking into copter
2014-02-15 05:48:24 +11:00
Paul Riseborough
b56c8211c9
AP_NavEKF: Reduced number of Mavlink tuneable parameters
2014-02-15 05:48:23 +11:00
Paul Riseborough
c20fac1269
AP_NavEKF: Updated comments for private functions
2014-02-15 05:48:23 +11:00
Paul Riseborough
deb64c4cbd
AP_NavEKF: Pos Vel reset after long GPS timeout
2014-02-15 05:48:23 +11:00
Paul Riseborough
7ac0172db1
AP_NavEKF: removed repeated intialisation
2014-02-15 05:48:23 +11:00
Paul Riseborough
28fb5e364b
AP_NavEKF: Fixed bug in pos/vel/hgt reset on timout
2014-02-15 05:48:23 +11:00
Paul Riseborough
f74cce8b4e
AP_NavEKF : Removed double to float conversions
2014-02-15 05:48:23 +11:00
Paul Riseborough
80f6dba694
AP_NavEKF: Improved control of fusion update intervals
2014-02-15 05:48:23 +11:00
Paul Riseborough
13b9daeff5
AP_NavEKF: Added constraints to Mavlink tuneable parameters
2014-02-15 05:48:23 +11:00
Paul Riseborough
b123e1bb16
AP_NavEKF: Improved in-air reset behaviour
2014-02-15 05:48:22 +11:00
Paul Riseborough
1651980b9f
AP_NavEKF: Improved behaviour following loss and regaining of GPS
2014-02-15 05:48:22 +11:00
Paul Riseborough
14eb63e7c9
AP_NavEKF: Made most tuning parameters Mavlink adustable
2014-02-15 05:48:22 +11:00
Andrew Tridgell
f800f5592d
AP_NavEKF: fixup parameter handling
2014-02-15 05:48:22 +11:00
Andrew Tridgell
f09ae0c2d0
AP_AHRS: expose get_NavEKF as non-const
...
better than having two methods
2014-02-15 05:48:22 +11:00
Paul Riseborough
f0f76920fa
AP_NavEKF : Mavlink tunable parameter - first attempt
2014-02-15 05:48:22 +11:00
Paul Riseborough
128f71157d
AP_NavEKF: Fixed bug in pre GPS fix updates
2014-02-15 05:48:22 +11:00
Paul Riseborough
08267cea87
AP_AHRS: Scheduling for yaw gain to reduce atitude errors in turning flight
2014-02-15 05:48:22 +11:00
Paul Riseborough
357743ee2d
AP_NavEKF: Adjusted tuning parameters for plane use
2014-02-15 05:48:22 +11:00
Paul Riseborough
b4171853b1
AP_NavEKF: allow initialisation before GPS lock to aid indoor testing
2014-02-15 05:48:21 +11:00
Paul Riseborough
7fb60812c2
AP_NavEKF: Added pitch and roll inertial sensor to body trim adjustment
2014-02-15 05:48:21 +11:00
Paul Riseborough
9d375da550
AP_NavEKF: changed sqrt to sqrtf
2014-02-15 05:48:21 +11:00
Paul Riseborough
1f0b4b02d0
AP_NavEKF: fixed merge error that inverted static mode
2014-02-15 05:48:21 +11:00
Paul Riseborough
17e24521e8
DataFlash : Added logging of NavEKF innovations and variances
2014-02-15 05:48:21 +11:00
Paul Riseborough
9bbddb2f66
AP_TECS : Use NavEKF height and height rate data if available
2014-02-15 05:48:21 +11:00
Paul Riseborough
0599817aa9
AP_AHRS : EKF initialisation changed to use bootstrap method
2014-02-15 05:48:21 +11:00
Paul Riseborough
401e3aee43
AP_NavEKF : Changes to test harness to support accel bias states
2014-02-15 05:48:21 +11:00
Paul Riseborough
5219869389
AP_NavEKF : Added Z accel bias state and bootstrap initialisation method
2014-02-15 05:48:21 +11:00
Randy Mackay
301a04b74a
AP_NavEKF: update params for copter
2014-02-15 05:48:21 +11:00
Randy Mackay
f068d0ff7e
AP_AHRS_NavEKF: expose non-const EKF for tuning
2014-02-15 05:48:20 +11:00
Randy Mackay
7c73020015
AP_NavEKF: make params public so they can be tuned
2014-02-15 05:48:20 +11:00
Randy Mackay
9f130b40a0
AP_AHRS_NavEKF: override set_correct_centrifugal
2014-02-15 05:48:20 +11:00
Randy Mackay
8f6fd86f69
AP_AHRS: make set_correct_centrifugal virtual
2014-02-15 05:48:20 +11:00
Paul Riseborough
a87df0ad56
AP_AHRS : set NavEKF staticMode using call to set_correct_centrigual
2014-02-15 05:48:20 +11:00
Paul Riseborough
5c3dea28dc
AP_NavEKF : Enable staticMode to be set externally
2014-02-15 05:48:20 +11:00
Andrew Tridgell
3617c65af7
AP_InertialSensor: make HIL treat time like PX4 does
2014-02-15 05:48:20 +11:00
Andrew Tridgell
77c4968342
AP_NavEKF: enable plotting in plot2.dat too
2014-02-15 05:48:20 +11:00
Andrew Tridgell
ab2a5a0672
AP_NavEKF: enable some debug
2014-02-15 05:48:20 +11:00
Paul Riseborough
0d4d287215
AP_NavEKF: comment and parameter tweaks for ground testing
2014-02-15 05:48:20 +11:00
Paul Riseborough
b6b0c2a489
AP_NavEKF: fixed bug in flag reset for hgt fusion
2014-02-15 05:48:19 +11:00
Paul Riseborough
2f3b2a7111
AP_NavEKF: second attempt at higher rate baro fusion
2014-02-15 05:48:19 +11:00
Paul Riseborough
cdbc5a3f35
AP_NavEKF: added position observations to static mode
2014-02-15 05:48:19 +11:00
Paul Riseborough
da2c341914
Revert "AP_NavEKF: Modifed Vel Pos fusion to fuse height data whenever baro reading has changed"
...
This reverts commit d1e1be192a0e7ab0771edc9f2c03547da25697cf.
2014-02-15 05:48:19 +11:00
Paul Riseborough
32cc427ff4
AP_NavEKF: Modifed Vel Pos fusion to fuse height data whenever baro reading has changed
2014-02-15 05:48:19 +11:00
Paul Riseborough
2998aa1a6a
AP_NavEKF: Amended tuning parameter list, and changed from variance to noise definitions
2014-02-15 05:48:19 +11:00
Paul Riseborough
f9aae1b90b
AP_NavEKF: fixed bug in variance constraint code
2014-02-15 05:48:19 +11:00
Paul Riseborough
735c9684da
AP_NavEKF: removed error in constructor comments
2014-02-15 05:48:19 +11:00
Paul Riseborough
8f999fe787
AP_NavEKF: Misc tuning adjustments for Plane testing
2014-02-15 05:48:19 +11:00
Paul Riseborough
c87a5aaf34
AP_NavEKF: added PositionReset public function to fix pre-arm loss of solution
2014-02-15 05:48:19 +11:00
Paul Riseborough
fec4fd463c
AP_NavEKF: reduced On Ground yaw gyro bias drift variance scaler
2014-02-15 05:48:19 +11:00
Paul Riseborough
619fffec3e
AP_NavEKF: added static mode for pre-arm and bench testing
2014-02-15 05:48:18 +11:00
Paul Riseborough
ab08a5c7d6
AP_AHRS : altered NavEKF set home to reset position instead of reset filter
2014-02-15 05:48:18 +11:00
Paul Riseborough
d0831c708d
AP_NavEKF : Added position and height reset public method
2014-02-15 05:48:18 +11:00
Andrew Tridgell
1b1f9e41ab
AP_NavEKF: improved playback initialisation
2014-02-15 05:48:18 +11:00
Andrew Tridgell
d9ef45234b
AP_NavEKF: useful plotting function
2014-02-15 05:48:18 +11:00
Andrew Tridgell
0816642436
AP_NavEKF: handle intertial nav
2014-02-15 05:48:18 +11:00
Andrew Tridgell
77c6e3206a
AP_NavEKF: some debug code
2014-02-15 05:48:18 +11:00
Andrew Tridgell
2cd781997f
AP_Baro: changed HIL driver to use floats and better handle starup
2014-02-15 05:48:18 +11:00
Andrew Tridgell
c995f994c5
AP_InertialNav: make some functions protected
2014-02-15 05:48:18 +11:00
Andrew Tridgell
c33da7b3a2
AP_NavEKF: fixed log playback for copter
2014-02-15 05:48:18 +11:00
Andrew Tridgell
78ff078988
HAL_Linux: fixed stopped clock delay
2014-02-15 05:48:18 +11:00
Andrew Tridgell
9b53db66cb
AP_NavEKF: tweak parameters based on randys copter log
2014-02-15 05:48:18 +11:00
Andrew Tridgell
9e3bf685c2
SITL: use sinf() and cosf()
...
for some strange reason the double precision functions can crash
2014-02-15 05:48:17 +11:00
Andrew Tridgell
bb0eed5c14
SITL: prevent initialisation error
2014-02-15 05:48:17 +11:00
Andrew Tridgell
574946f0aa
AP_AHRS: start EKF 5 seconds after getting GPS lock
2014-02-15 05:48:17 +11:00
Andrew Tridgell
df271fbd59
AP_AHRS: fill in _dcm_matrix whenever EKF started
...
this ensures get_dcm_matrix() always returns valid data
2014-02-15 05:48:17 +11:00
Andrew Tridgell
4c42f53636
AP_NavEKF: use INS delta_time
2014-02-15 05:48:17 +11:00
Andrew Tridgell
5193ce90dc
AP_NavEKF: copter specific dtIMUAvg
2014-02-15 05:48:17 +11:00
Andrew Tridgell
ada7d4fb98
AP_AHRS: use the right DCM matrix when EKF not enabled
2014-02-15 05:48:17 +11:00
Andrew Tridgell
a74fcc5a93
AP_AHRS: added set_ekf_use()
2014-02-15 05:48:17 +11:00
Andrew Tridgell
38ac8d404a
SITL: fixed PX4 build
2014-02-15 05:48:17 +11:00
Andrew Tridgell
fba0891617
SITL: fixed SIM df altitude
2014-02-15 05:48:17 +11:00
Paul Riseborough
8b1d056e07
AP_NavEKF: updated timeout for GPS retry and reduced onGround gyro bias noise multiplier
2014-02-15 05:48:16 +11:00
Paul Riseborough
7e026d41df
AP_NavEKF: explicitly zeroed covariance matrix priro to setting initial values
2014-02-15 05:48:16 +11:00
Paul Riseborough
6e6e3d923e
AP_NavEKF: improved covariance matrix numerical stability protection
2014-02-15 05:48:16 +11:00
Andrew Tridgell
45177df354
DataFlash: moved EKF logging to common code
2014-02-15 05:48:16 +11:00
Andrew Tridgell
9aea781248
GCS_MAVLink: moved send_ahrs2 to common code
2014-02-15 05:48:16 +11:00
Andrew Tridgell
66dbaa6657
AP_NavEKF: make health() API const
2014-02-15 05:48:16 +11:00
Andrew Tridgell
47f541e143
AP_InertialNav: implement InertialNav in terms of AHRS when available
2014-02-15 05:48:16 +11:00
Andrew Tridgell
5d43a1d704
AP_AHRS: added inertial nav interfaces to AHRS
2014-02-15 05:48:16 +11:00