Commit Graph

372 Commits

Author SHA1 Message Date
Andrew Tridgell 60e501d5ab AP_GPS: moved UBX log headers to DataFlash
headers were not always being written
2014-08-19 10:08:15 +10:00
Randy Mackay 534922adc3 GPSGlitch: init members to resolve compiler warnings 2014-08-14 11:27:31 +09:00
Andrew Tridgell b08b76b8ff AP_GPS: fixed example build 2014-08-13 21:48:35 +10:00
Daniel Frenzel c97b460a6b AP_GPS: removed wrong reassignment of msec
Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>
2014-08-11 09:24:19 +10:00
Andrew Tridgell b296508da4 AP_GPS: make setHIL take const references 2014-08-09 22:50:15 +10:00
Andrew Tridgell db1479b46b AP_GPS: fixed example build 2014-07-25 17:54:25 +10:00
Víctor Mayoral Vilches 70aafa380e GPS_UBLOX: fix test to work with AP_HAL_Linux.
Some libraries were missing.
2014-07-14 09:29:18 +10:00
Randy Mackay f630f9abc3 GPS: exclude SIRF and NMEA on APM copter build
This only works for the centralised builder, the modified Arduino IDE
will still include the NMEA and SIRF drivers meaning it will require
approximately 4k additional flash which may push us over the limit on
the APM2.  Users will instead need to exclude other features to get
below the APM1/2 flash limit.
2014-07-13 15:41:11 +09:00
Andrew Tridgell 59de5a8465 AP_GPS: avoid some float conversion warnings 2014-07-08 20:27:03 +10:00
Niels Joubert fabd7601f0 GPS: Fix dataflash logging bug in SBP driver 2014-07-03 09:57:10 +10:00
Niels Joubert b57d1f5245 GPS: Include 75-class CPUs in RTK support since they will have 64 bit floating point values. 2014-07-03 09:57:07 +10:00
Andrew Tridgell f9d87bcc88 AP_GPS: fixed build errors and warnings in SBP driver
shadowed variables and implied casts in structures
2014-06-30 11:15:51 +10:00
Niels Joubert fa78634959 AP_GPS: GPS calculates MAVLink messages for GPS and GPS_RTK 2014-06-30 10:30:16 +10:00
Niels Joubert 2b1169b0ab AP_GPS: SwiftNav RTK Driver and GPS AutoSwitch param 2014-06-30 10:29:56 +10:00
Randy Mackay 69ad632e2a GPS: correct NAVFILTER parameter description
These corrected values match the GPS_Engine_Setting enum in GPS.h
Thanks to Adolfo R for noticing the issue and providing the fix
2014-05-20 22:08:40 +09:00
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