Andrew Tridgell
30f5e2c37f
AP_GPS: work around scheduling issue in example code
2014-05-16 22:35:32 +10:00
Andrew Tridgell
73976e2ca4
AP_GPS: fixed example build
2014-05-16 22:05:04 +10:00
Jonathan Challinger
0bb7b8e938
AP_GPS: Fix bug that causes permanent lag if we miss a message
2014-04-29 15:35:46 +10:00
Andrew Tridgell
b0fd94f18e
AP_GPS: initialise a variable in uBlox driver
2014-04-23 18:15:53 +10:00
Andrew Tridgell
5a7afbf2cd
AP_GPS: prevent writing GPS log headings multiple times
2014-04-20 21:44:14 +10:00
Andrew Tridgell
3b8839d2f7
AP_GPS: fixed num_sensors on APM2
2014-04-11 21:32:55 +10:00
Andrew Tridgell
a821b0e198
AP_GPS: fixed a build warning
...
Debug() should not be exposed in public headers
2014-04-10 10:28:55 +10:00
Andrew Tridgell
43ebd86bb1
AP_GPS: disable SBP driver on APM2
...
the driver uses double precision floating point, which can't work on
8bit AVR with gcc
2014-04-05 21:47:46 +11:00
Andrew Tridgell
5a585b90e8
AP_GPS: fixed some warnings in SBP driver
2014-04-05 14:18:01 +11:00
Niels Joubert
33576dfdd9
AP_GPS: Swift Binary Protocol SINGLE-POINT-POSITIONING Driver
...
This is the SBP driver for Piksi, Lodestar and other forthcoming Swift Navigation GPSes.
This driver currently implements three things:
- Implements a lightweight SBP protocol detection system
- Implements Piksi as a single-point-positioning GPS (same as ublox/others)
- Implements hardware logging of GPS health and baseline messages
Forthcoming iin future updates:
- Need to implement the RTK functionality
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
Andrew Tridgell
67ed5b73ef
AP_GPS: added lock_port() interface
...
used by SERIAL_CONTROL message
2014-04-05 07:34:33 +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
21c205a57e
AP_GPS: cope with different MON-HW message size in u-Blox Neo7
2014-04-03 10:55:05 +11:00
Craig Elder
3a92d75936
Ublox: Enable 1Hz Lock LED by default
2014-04-01 20:57:18 -07: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
Andrew Tridgell
7e2ef0cfc0
AP_GPS: fixed GPS for Replay
2014-04-01 17:25:15 +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
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
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
Andrew Tridgell
c6f3e0a81c
AP_GPS: fixed example builds
2014-03-24 12:20:34 +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
6b5d27efbb
AP_GPS: fixed example builds with change to init()
2014-03-16 06:44:50 +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
Andrew Tridgell
794cc33e6a
GPS: added set_secondary() function
...
for preventing notify updates for 2nd GPS
2014-03-08 21:47:49 +11:00
Andrew Tridgell
d7b2a09919
AP_GPS: added fix type to setHIL
2014-02-25 21:10:30 +11:00
Andrew Tridgell
7a6f671659
AP_GPS: added have_vertical_velocity() function
...
for use by EKF
2014-02-24 18:24:10 +11:00
JakobSt
986417067e
AP_GPS: Improved accuracy of NMEA driver
...
The conversion of ret (32bit-integer) to float reduced accuracy to ~9cm or ~22cm. Now it's ~1cm.
2014-01-13 09:58:30 +11:00
Andrew Tridgell
e7a1331b81
AP_GPS: allow HIL GPS to show no lock
2013-12-30 14:35:20 +11:00
Andrew Tridgell
519a26691e
AP_GPS: make last_message_time_ms const
2013-12-29 18:39:07 +11:00
Andrew Tridgell
7a12f44a41
AP_GPS: GPS week is unsigned
2013-12-11 17:29:27 +11:00
Andrew Tridgell
137880be70
AP_GPS: fixed a build warning
2013-12-11 10:22:22 +11:00
Randy Mackay
91c17e9848
GPSGlitch: reduce radius to 2m
2013-12-09 11:42:03 +09:00
Randy Mackay
e489224c6b
GPSGlitch: update @Range for RADIUS and ACCEL params
2013-11-24 23:21:19 +09:00
Randy Mackay
bd6511dd0a
GPS: add GPS_UBLOX_passthrough sketch
...
This sketch allows the user to configure the Ublox GPS using U-Center
without the need for an FTDI cable.
2013-11-24 14:53:08 +09:00
Andrew Tridgell
72415ed358
AP_GPS: change HIL GPS to always be 5Hz
...
this prevents too short updates in DCM from affecting attitude
2013-11-23 18:50:57 +11:00
Randy Mackay
7c52572020
Ublox: disable NMEA info in 3DR config
2013-11-21 17:02:00 +09:00
Randy Mackay
4e5cb72604
Ublox: set default rate to 5hz in 3DR config
2013-11-21 17:01:58 +09:00
Randy Mackay
b349d95269
Ublox: disable TimePulse Timedata in 3DR config
2013-11-21 17:01:55 +09:00
Randy Mackay
25046b4e6d
Ublox: update config to ver 7.03
2013-11-21 17:01:52 +09:00
Randy Mackay
bcbf0feff0
GPS Glitch: revert accel max to 10m/s/s
...
This may not be the best real world value but it keeps the autotester
from failing because it recovers from the glitch before the 5second
time-out on the GPS failsafe
2013-11-13 21:33:34 +09:00
Randy Mackay
3bd124eb72
GPS Glitch: radius and accel max to 5m and 5m/s/s
2013-11-13 11:49:21 +09:00
Andrew Tridgell
ff73773de4
AP_GPS: try harder to get 5Hz updates from a uBlox
...
check for getting at least one 5Hz update every 15s
2013-11-05 15:18:25 +11:00
Andrew Tridgell
de96ad9445
AP_GPS: fixed date handling in NMEA driver
2013-10-24 14:22:48 +11:00
Andrew Tridgell
744819cec8
AP_GPS: added fake time to fake GPS lock
2013-10-24 14:22:48 +11:00
Andrew Tridgell
6f5ac1d553
AP_GPS: added support for GPS time in week/millisec
...
also adds time_epoch_usec() for MAVLink SYSTEM_TIME
2013-10-24 14:22:47 +11:00
Andrew Tridgell
25d3e5b7e9
AP_GPS: changed fake GPS fix to have a latitude/longitude
...
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-11 16:06:35 +11:00
Randy Mackay
13cf7c96cd
GPSGlitch: parameters for accel and always-ok-radius
2013-10-09 13:02:14 +09:00
Andrew Tridgell
7a9ed0a5a1
AP_GPS: fixed warning
2013-10-03 12:21:08 +10:00
Andrew Tridgell
5489097476
AP_GPS: update the UBLOX rates async from the start
...
this saves a bit of startup time
2013-10-03 12:21:07 +10:00
Andrew Tridgell
cee8a017ab
AP_GPS: added UBLOX_FAKE_3DLOCK debugging option
...
useful when unable to get 3D lock
2013-10-03 12:21:07 +10:00
Andrew Tridgell
34f7f88190
AP_GPS: check for corret GPS solution rates in flight and fix
...
if the GPS is giving us data at less than 300ms intervals then re-send
the configuration messages to try to kick it into the right rates
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-10-03 12:21:07 +10:00
Randy Mackay
cddbaf0459
GPS_Glitch: make accessor functions const
2013-09-24 21:41:56 +09:00
Randy Mackay
55c94b3b41
GPS_Glitch: bug fix for enable/disable parameter
2013-09-24 21:41:54 +09:00
Randy Mackay
a2c0415ba9
GPS_Glitch: make enable/disable a parameter
2013-09-24 21:41:42 +09:00
Randy Mackay
78124f2fca
GPS_Glitch: remove unused recovered flag
2013-09-24 21:41:38 +09:00
Randy Mackay
4dcfce7104
GPS_Glitch: glitch detection class
2013-09-24 21:41:10 +09:00
Andrew Tridgell
448167e958
AP_GPS: fixed examples build
2013-09-24 11:57:03 +10:00
Andrew Tridgell
284492cfec
AP_GPS: fixed an initialisation problem with GPS drivers
...
before the first full packet arrives we could report uninitialised
values for groundspeed and heading
2013-09-16 21:20:36 +10:00
Andrew Tridgell
5484b97419
AP_GPS: reset _fix_count to 0 on nav settings update
...
this makes it run every 20s exactly
2013-09-04 13:18:00 +10:00
Andrew Tridgell
879d44f930
AP_GPS: use the mask bits to only set dynamic model
...
this ensures we don't try to change any other CFG_NAV5 settings
2013-09-04 13:17:20 +10:00
Andrew Tridgell
97b7130bb9
libraries: update license header to GPLv3
...
we switched to GPLv3 a long time ago, but neglected to update the
per-file license headers
2013-08-30 13:01:39 +10:00
Andrew Tridgell
e6bd3b65b9
AP_GPS: fixed examples build
2013-08-30 13:01:36 +10:00
Andrew Tridgell
7b1e2b0e78
AP_GPS: don't need notify.h here
2013-08-30 13:01:35 +10:00
Randy Mackay
82b7b2cb3e
GPS: integrate AP_Notify
2013-08-30 13:01:35 +10:00
Randy Mackay
496962f037
GPS: update notify
2013-08-30 13:01:35 +10:00
Andrew Tridgell
b43bf44552
AP_GPS: improved the precision of the NMEA driver
...
this brings the NMEA driver to the same lat/lon precision as the uBlox
driver (approx 1cm)
2013-08-14 14:36:44 +10:00
Andrew Tridgell
01c124d5f5
AP_GPS: added velocity_vector() method
2013-07-22 12:50:00 +10:00
Andrew Tridgell
c7141c4851
AP_GPS: fixed examples build
2013-07-15 14:09:07 +10:00
Andrew Tridgell
7dbb898264
AP_GPS: switch fields to add units suffix
...
altitude -> altitude_cm
ground_speed -> ground_speed_cm
ground_course -> ground_course_cd
this helps prevent unit mixups
2013-07-10 14:04:22 +10:00
Tobias
c95072ea25
AP_GPS: added explicit cast to omit [-Wconversion] warning
2013-07-08 14:53:20 +10:00
Andrew Tridgell
edfebc1f29
AP_GPS: fixed indent-tabs-mode
2013-05-30 09:52:21 +10:00
Andrew Tridgell
06b6f4b04e
AP_GPS: use PACKED attribute instead of pragma pack
2013-05-09 20:10:31 +10:00
Andrew Tridgell
786e4cf705
AP_GPS: added last_message_time_ms() API
...
used to help GPS logging
2013-04-28 14:53:02 +10:00
Andrew Tridgell
f5d062d5ba
AP_GPS: move byte swapping code to cpp
2013-04-28 14:51:37 +10:00
Andrew Tridgell
c3abdaf308
AP_GPS: removed duplicate print_latlon()
2013-04-20 13:57:59 +10:00
Andrew Tridgell
8d727614b4
AP_GPS: make status() const
2013-04-20 13:52:36 +10:00
Andrew Tridgell
b3ec5187f2
AP_GPS: fixed uninitialied variable bugs found with valgrind
2013-04-17 23:02:13 +10:00
Andrew Tridgell
a5c3051929
AP_GPS: fixed initialisation error in uBlox driver
...
found with valgrind
2013-04-12 14:25:46 +10:00
Randy Mackay
93f7e61b66
UBLOX GPS: fix MSG_SOL typo
...
"status" was used instead of "solution"
2013-03-27 11:42:05 +09:00
Randy Mackay
27309a553f
GPS: fixes after review
...
Ensure 3D fix before returning velocity_down
UBLOX: restore check of fix_status as part of determining 2D or 3D fix
SIRF: add missing brackets on fix type check
2013-03-27 11:41:54 +09:00
Randy Mackay
d7454bb09e
GPS: add 2D fix type
2013-03-27 11:41:39 +09:00
Andrew Tridgell
3f6eb87f23
AP_GPS: fixed uBlox Debug() macro
2013-03-20 15:42:07 +11:00
Andrew Tridgell
551950c573
GPS_UBLOX: fixed auto-config of baudrate
...
this fixes the setting of the baudrate on a uBlox that is configured
for 9600. It fixes the NMEA message to have a \r\n, plus sends the
NAV_SOL rate config before the NMEA baudrate config message.
This fixes issue #159
2013-03-17 17:52:48 +11:00
Andrew Tridgell
f67480fa50
AP_GPS: ensure constructors zero all key variables
...
this prevents a crash on PX4 if a GPS is attached after startup
2013-02-20 11:33:39 +11:00
Andrew Tridgell
93ef403529
AP_GPS: removed unused AP_GPS_Shim.h
2013-02-20 11:33:39 +11:00
Andrew Tridgell
727f8ff029
AP_GPS: removed the old MTK16 driver
...
the MTK19 driver supports both the 1.6 and 1.9 protocol
2013-02-16 22:03:53 +11:00
James Bielman
5631f865b2
Update floating point calculations to use floats instead of doubles.
...
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell
252d11ccfa
AP_GPS: initialise _step to zero in all drivers
...
new() does not zero-fill memory
2013-01-12 16:04:23 +11:00
Andrew Tridgell
f3783b0306
AP_GPS: put SIRF init_messages in progmem
...
this saves 32 bytes of memory
2013-01-10 21:27:41 +11:00
Andrew Tridgell
f93a7d50eb
AP_GPS: fixed debug code
2013-01-07 11:06:53 +11:00