Niels Joubert
e32b73f075
AP_HAL_AVR_SITL: Adding Swift Binary Protocol stand-alone simulator
2014-04-05 13:42:23 +11:00
Niels Joubert
00064ac883
SITL: Adding GPS types for Swift Binary Protocol
2014-04-05 13:42:23 +11:00
Niels Joubert
879eb5936b
AP_MATH: Adding WGS GPS conversions, CRC16 checks, and double-precision Vectors and Matrices
2014-04-05 13:42:23 +11:00
Niels Joubert
161b5f99b3
SITL: Adding Swift Binary Protocol GPS type
2014-04-05 13:42:23 +11:00
Niels Joubert
552f33b39e
AP_GPS: Support fix types of DGPS and RTK
2014-04-05 13:42:23 +11:00
Niels Joubert
64d4a1236f
AP_Notify: Support all GPS status flags, with status >= GPS_OK_FIX_3D notified as having a lock
2014-04-05 13:42:23 +11:00
Andrew Tridgell
87c77dc07f
Rover: added SERIAL_CONTROL support
2014-04-05 07:34:34 +11:00
Andrew Tridgell
454d1f26c3
Copter: added support for SERIAL_CONTROL message
2014-04-05 07:34:34 +11:00
Andrew Tridgell
f7858bfb0a
Plane: added support for SERIAL_CONTROL message
2014-04-05 07:34:33 +11:00
Andrew Tridgell
67ed5b73ef
AP_GPS: added lock_port() interface
...
used by SERIAL_CONTROL message
2014-04-05 07:34:33 +11:00
Andrew Tridgell
b8675b9abc
GCS_MAVLink: implement SERIAL_CONTROL MAVLink message
2014-04-05 07:34:33 +11:00
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
339689b578
Copter: fixed load average for different loop rates
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-04 21:37:56 +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
5a84fb96ed
Plane: build fix
2014-04-03 20:54:50 +11:00
Andrew Tridgell
1efadb7a05
Plane: fixed some warnings
2014-04-03 12:48:06 +11:00
Andrew Tridgell
27ad8c39d6
Copter: enable passthrough auxillary channels
2014-04-03 12:19:44 +11:00
Andrew Tridgell
c6f9627782
Rover: use new channel output API
2014-04-03 12:19:25 +11:00
Andrew Tridgell
3c33eb3f09
Plane: use new channel output API
2014-04-03 12:19:11 +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
Andrew Tridgell
eaf746b7fd
Replay: fixed velocity vector
2014-04-02 19:08:45 +11:00
Craig Elder
3a92d75936
Ublox: Enable 1Hz Lock LED by default
2014-04-01 20:57:18 -07:00
Andrew Tridgell
7bf12cfd8a
Copter: update for gps.setHIL() API
2014-04-02 07:55:28 +11:00
Andrew Tridgell
337ca31b79
Rover: update for gps.setHIL() API
2014-04-02 07:55:28 +11:00
Andrew Tridgell
88693796ef
Plane: update for GPS.setHIL() API
2014-04-02 07:55:28 +11:00
Andrew Tridgell
ec04eba61c
Replay: handle multiple GPS sensors
2014-04-02 07:55:28 +11: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
4f2a390dfa
Replay : Incorporate EKF4 flash logging updates
2014-04-01 21:27:09 +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