Commit Graph

580 Commits

Author SHA1 Message Date
Benoit PEREIRA DA SILVA 010d267376 GPS: use primary for Notification 2014-10-29 12:04:12 +09:00
Jonathan Challinger 6848897999 AP_GPS: Add agcCnt to UBX1 message 2014-10-29 08:18:04 +11:00
Craig Elder be352e9471 AP_GPS: Removed CFG-DAT message from 3DR-Ublox-NEO7
CFG-DAT is generated by U-Center but no longer used by the receiver.
2014-10-06 11:21:42 -07:00
Craig Elder 7367ea04a7 AP_GPS: Adding support for the NEO7 GPS 2014-10-03 03:21:28 -07:00
Randy Mackay e7b4a02d26 GPS: fix SIRF set-binary message
This fixes an issue in which the the update rate for the mediatek, which
uses a similar protocol, was not being set correctly
2014-10-01 11:42:31 +09:00
Andrew Tridgell 15470bd81b AP_GPS: added GPS_MIN_ELEV parameter
allows setting of satellite elevation mask in degrees
2014-09-04 14:46:10 +10:00
Andrew Tridgell 840a4dee1e AP_GPS: added GPS_SBAS_MODE parameter
allows SBAS to be enabled/disabled
2014-09-04 14:46:10 +10:00
Andrew Tridgell cd50fe82b6 AP_GPS: fixed GPS time in HIL
account for 10 year difference in epoch between unix time and GPS time
2014-09-04 06:37:42 +10:00
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
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
Andrew Tridgell f7e5f88199 AP_GPS: make UBLOX driver a bit more robust 2013-01-05 20:39:31 +11:00
Andrew Tridgell 3b0398dc14 AP_GPS: fixed UBLOX example for PX4 2013-01-05 20:39:30 +11:00
Andrew Tridgell 2f111b857b AP_GPS: ported test code for PX4 2013-01-04 19:41:36 +11:00
Andrew Tridgell f701d0cc85 AP_GPS: a couple more places where we should restart
this prevents us losing a byte
2013-01-04 19:40:49 +11:00
Andrew Tridgell 3bfff4bd6d AP_GPS: pragma pack is needed on ARM
we rely on GPS data structures having byte alignment. Luckily GCC can
cope with this.
2013-01-04 19:39:15 +11:00
Andrew Tridgell 374af1cd14 build: change from Arduino.mk to apm.mk 2013-01-02 17:29:37 +11:00
Andrew Tridgell 609ef220a6 AP_GPS: more state machine fixes for MTK19 GPS 2013-01-02 14:45:09 +11:00
Andrew Tridgell c980b32319 GPS: fixed state machine logic errors in MTK19 driver 2013-01-02 10:12:55 +11:00
Andrew Tridgell 8c0d1d7084 GPS: fixed MTK19 driver for AP_HAL merge 2013-01-02 09:55:37 +11:00
Craig@3DR 2de676306e Improved parsing in auto detect 2013-01-02 09:24:31 +11:00
Craig@3DR 8cfefbc275 Updated rev number in driver 2013-01-02 09:22:21 +11:00
rmackay9 90d7f00965 AP_GPS_MTK16: saved 22 bytes of ram by moving error message into program space.
Perhaps there's no point in writing an error message to a console that likely nobody will be viewing anyway.
2013-01-02 09:18:03 +11:00
rmackay9 811550cca6 AP_GPS_MTK19: small bug fix re "==" vs "="
Also saved 22 bytes of RAM by moving error message into program space.
2013-01-02 09:16:48 +11:00
Craig@3DR f778961acf Added support for Mediatek firmware Rev 1.9 2013-01-02 09:16:47 +11:00
Andrew Tridgell 4a6b46c661 AP_GPS: fixed multiple GPS detection bug 2012-12-20 14:53:24 +11:00
Andrew Tridgell f549950a9c AP_GPS: remove some debug code 2012-12-20 14:53:23 +11:00
Andrew Tridgell ceb3f577d8 libraries: use new math functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell 2679eabdef Cleanup: removed unused AP_GPS_IMU 2012-12-20 14:52:37 +11:00
Andrew Tridgell 8beaec61a8 AP_GPS: fixed build for new syntax 2012-12-20 14:52:36 +11:00
Pat Hickey eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell 18db7b2efd GPS: move _port setting to init()
this is needed to avoid constructor ordering dependencies
2012-12-20 14:52:32 +11:00
Andrew Tridgell 7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Pat Hickey f1869d1aa6 AP_GPS: GPS_406_test ported to AP_HAL 2012-12-20 14:51:40 +11:00
Pat Hickey d6cb240468 AP_GPS: GPS_NMEA_test ported to AP_HAL
* I wasn't able to demonstrate the library/test sketch working with my
  ublox gps.
2012-12-20 14:51:40 +11:00
Andrew Tridgell 18fb9c67f6 AP_GPS: use AP_Progmem 2012-12-20 14:51:39 +11:00
Pat Hickey 475da4eca4 CONFIG_HAL_BOARD - test sketches fixed up, build all passes 2012-12-20 14:51:37 +11:00
Andrew Tridgell 13309cceb3 AP_GPS: reverted formatting of GPS messages 2012-12-20 14:51:37 +11:00
Pat Hickey 2be552ea22 AP_GPS: less chatty autodetect 2012-12-20 14:51:35 +11:00
Pat Hickey d72c5cf828 AP_GPS: uartB fixup 2012-12-20 14:51:35 +11:00
Pat Hickey a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Andrew Tridgell 53105efbcd HAL_AVR: more uart0 -> console changes 2012-12-20 14:51:27 +11:00
Andrew Tridgell d133f15f57 HAL_AVR: use hal.console instead of hal.uart0 2012-12-20 14:51:27 +11:00
Pat Hickey c56c4ae240 Various example sketches: hal.uart0->begin(115200) is redundant. use console.
just assume uart0 is initialized by the HAL, because it is. DRY.
also, don't ever use uart0 explicitly in example sketches, use console
and let the hal figure it out.
2012-12-20 14:51:25 +11:00
Pat Hickey deb96143d3 AP_GPS_IMU: fix type punning warnings by using memcpy 2012-12-20 14:51:25 +11:00
Pat Hickey 9ed023aeb4 AP_GPS: Builds under AP_HAL. Not tested. 2012-12-20 14:51:25 +11:00
Pat Hickey 3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
Craig@3DR 2586c7a32a Updated the MediaTek configuration
to set the minimum speed the GPS must be moving to update the position to 0 m/s.
to enable SBAS / WAAS / DGPS position fixes.
2012-12-11 15:35:52 -08:00
Andrew Tridgell 57d3609d00 AP_GPS: fixed examples build 2012-11-24 21:07:53 +11:00
Andrew Tridgell 2e63b3ae8e AP_GPS: added in two more dynamic model enums 2012-11-22 16:23:29 +11:00
Andrew Tridgell 984b1086cb AP_GPS_UBLOX: ask for nav settings every 20 seconds
this ensures we don't run with the wrong nav settings on a uBlox if
we get a bad checksum on the initial nav settings message
2012-11-05 14:58:40 +11:00
Andrew Tridgell 72e97c6dfc AP_GPS: start detection timer on first bytes
this prevents a uBlox plugged in late from being detected as a NMEA
GPS
2012-11-05 14:58:40 +11:00
Andrew Tridgell 6f9fa7d3b3 AP_GPS: removed shadowed class variable _nav_setting
this caused a uBlox to incorrectly configure as "portable" instead of
airborne if the detection took more than 2 seconds. That led to
terrible performance.
2012-11-05 14:58:40 +11:00
Andrew Tridgell e74e730992 AP_GPS: added velocity_down() call
on GPSes with raw velocity support this will be used for DCM
correction
2012-11-05 14:58:40 +11:00
Andrew Tridgell a53cbc08f3 GPS: avoid output delays in the GPS auto detection
this sends out the GPS init strings in 16 byte chunks to avoid causing
timing glitches when no GPS is attached
2012-10-18 16:18:32 +11:00
Andrew Tridgell 608cc60689 GPS: fixed SIRF auto detect code 2012-09-25 07:10:07 +10:00
rmackay9 50a97f3092 AP_GPS: added get_lag method to return expected lag from the GPS. 2012-09-20 15:48:22 +09:00
Andrew Tridgell 728b3a133e GPS: disable auto detection of NMEA and SiRF on a 1280 board
saves a bit more flash space
2012-09-19 19:36:48 +10:00
Andrew Tridgell 59b44816ec GPS: replaced the GPS auto-detect mechanism
the old mechanism wasted most of the input bytes, and chewed a lot of
CPU, making it impractical to do GPS detection for a GPS attached
after startup

The new code is async, and detects a GPS by looking for a fully formed
packet with the right checksum for each GPS type
2012-09-17 14:45:47 +10:00
Andrew Tridgell ba9543ee04 GPS: NMEA bug fix from Alexey Kozin
thanks Alexey!
2012-09-12 15:04:24 +10:00
uncrustify 97035fbead uncrustify libraries/AP_GPS/GPS.h 2012-08-21 19:19:52 -07:00
uncrustify 20d1a94778 uncrustify libraries/AP_GPS/AP_GPS_IMU.h 2012-08-21 19:19:52 -07:00
uncrustify 4cd477d13d uncrustify libraries/AP_GPS/AP_GPS_IMU.cpp 2012-08-21 19:19:52 -07:00
uncrustify 6c885df832 uncrustify libraries/AP_GPS/AP_GPS_UBLOX.cpp 2012-08-21 19:19:52 -07:00
uncrustify a48aa18d6f uncrustify libraries/AP_GPS/AP_GPS_MTK16.cpp 2012-08-21 19:19:52 -07:00
uncrustify 03b42037a0 uncrustify libraries/AP_GPS/AP_GPS_NMEA.h 2012-08-21 19:19:51 -07:00
uncrustify da81115079 uncrustify libraries/AP_GPS/AP_GPS_NMEA.cpp 2012-08-21 19:19:51 -07:00
uncrustify a8ed24da6c uncrustify libraries/AP_GPS/AP_GPS_SIRF.cpp 2012-08-21 19:19:51 -07:00
uncrustify 074f3ae872 uncrustify libraries/AP_GPS/AP_GPS_406.cpp 2012-08-21 19:19:51 -07:00
uncrustify 9ce7513096 uncrustify libraries/AP_GPS/AP_GPS_MTK.cpp 2012-08-21 19:19:51 -07:00
uncrustify d8200a6aea uncrustify libraries/AP_GPS/AP_GPS_HIL.h 2012-08-21 19:03:13 -07:00
uncrustify 8ad83695b8 uncrustify libraries/AP_GPS/AP_GPS_MTK16.h 2012-08-21 19:03:02 -07:00
uncrustify a91687f1cb uncrustify libraries/AP_GPS/AP_GPS_None.h 2012-08-21 19:03:02 -07:00
uncrustify c95fc7b166 uncrustify libraries/AP_GPS/AP_GPS_406.h 2012-08-21 19:02:53 -07:00
uncrustify 65f55328e2 uncrustify libraries/AP_GPS/AP_GPS.h 2012-08-21 19:02:53 -07:00
uncrustify 4950bf3b95 uncrustify libraries/AP_GPS/AP_GPS_UBLOX.h 2012-08-21 19:02:46 -07:00
uncrustify a8ad5f62a5 uncrustify libraries/AP_GPS/AP_GPS_MTK.h 2012-08-21 19:02:40 -07:00
uncrustify 9b3081345e uncrustify libraries/AP_GPS/AP_GPS_Auto.h 2012-08-21 19:02:40 -07:00
uncrustify a133b098a5 uncrustify libraries/AP_GPS/AP_GPS_SIRF.h 2012-08-21 19:02:40 -07:00
uncrustify 5c24c373d0 uncrustify libraries/AP_GPS/AP_GPS_Shim.h 2012-08-21 19:02:40 -07:00
uncrustify cdaf2f923d uncrustify libraries/AP_GPS/GPS.cpp 2012-08-21 19:02:32 -07:00
uncrustify c5451b0e9b uncrustify libraries/AP_GPS/AP_GPS_HIL.cpp 2012-08-21 19:02:12 -07:00
uncrustify b9d3f449b9 uncrustify libraries/AP_GPS/AP_GPS_Auto.cpp 2012-08-21 19:02:11 -07:00
uncrustify 9e43a9d090 uncrustify libraries/AP_GPS/examples/GPS_MTK_test/GPS_MTK_test.pde 2012-08-21 19:01:35 -07:00
uncrustify 0f5aff35fc uncrustify libraries/AP_GPS/examples/GPS_NMEA_test/GPS_NMEA_test.pde 2012-08-21 19:01:35 -07:00
uncrustify 1e8ea08bce uncrustify libraries/AP_GPS/examples/GPS_AUTO_test/GPS_AUTO_test.pde 2012-08-21 19:01:34 -07:00
uncrustify 9f2d71e544 uncrustify libraries/AP_GPS/examples/GPS_UBLOX_test/GPS_UBLOX_test.pde 2012-08-21 19:01:34 -07:00
uncrustify 12b5e53ce7 uncrustify libraries/AP_GPS/examples/GPS_406_test/GPS_406_test.pde 2012-08-21 19:01:34 -07:00
Andrew Tridgell ddf9541c0a AP_GPS: fixed build of new MTK code 2012-08-22 10:02:21 +10:00
Craig Elder 2493ffaad1 GPS: Corrections to Media Tek GPS Driver. Change to 5Hz and SBAS 2012-08-22 09:56:25 +10:00
rmackay9 c10d01f24b AP_GPS: revert delay callback to be "unsigned long" 2012-08-18 20:33:45 +09:00
rmackay9 8a29f47ce0 AP_GPS: replaced "int" with "int16_t" and "long" with "int32_t" 2012-08-18 16:35:38 +09:00
Andrew Tridgell 2d47bd0386 GPS: support getting raw velocity values from a UBlox
this may give better velocity numbers than the value from COG
2012-08-15 20:06:35 +10:00
Andrew Tridgell 618f43bef6 AP_GPS: added last_ground_speed() method
used for dead-reckoning in AHRS
2012-08-11 11:59:47 +10:00
Andrew Tridgell 8a6fcf998b AP_GPS: fixed types to be stdint types 2012-08-11 11:59:03 +10:00
Andrew Tridgell 819b6459b2 GPS-UBlox: removed duplicate config messages
these were left over from debugging
2012-07-19 15:23:15 +10:00
Andrew Tridgell f4faf941e2 GPS: test the more modern MTK16 2012-06-27 16:01:50 +10:00
Andrew Tridgell 37db5247cd GPS: added velocity and acceleration components
used by AHRS for acceleration correction
2012-06-27 16:01:49 +10:00
rmackay9 068fe64b9b ArduCopter HIL: changed calls to setHIL to send in time as a uint32_t (it was a float) 2012-06-26 22:50:17 +09:00
Andrew Tridgell a851c53de4 GPS: need pgmspace.h for _write_progstr_block() 2012-06-15 16:27:11 +10:00
Andrew Tridgell 70f18289c5 GPS: fixed auto-config of UBlox setup with no UBX messages
if a UBlox is configured for NMEA only, with no UBX messages at all
then it would never trigger the GPS_AUTO detection. This adds a UBX
config message to the init strings that enables the NAV_SOL message
2012-06-15 15:53:27 +10:00
rmackay9 1e38b0d535 AP_GPS_NMEA: fix from Roberto Navoni to improve NMEA accuracy 2012-06-12 20:27:50 +09:00
Andrew Tridgell f9560ef093 GPS: use the new nav_setting in a couple of the sample sketches 2012-06-10 16:35:13 +10:00
Andrew Tridgell 33a2ad7e07 GPS: add stub settings for nav_setting in the other GPS drivers
only Ublox supports nav_setting so far
2012-06-10 16:34:53 +10:00
Andrew Tridgell 514be604a5 GPS: added auto-configuration of UBlox GPS
the Ublox will now auto-configure for 5Hz with just the messages we
want. It also supports setting the navigation engine type
2012-06-10 16:34:13 +10:00
Andrew Tridgell cbf477addd GPS: added debug code to the main GPS class 2012-06-08 16:42:03 +10:00
Andrew Tridgell a8bfc5d8e9 GPS: re-open the serial port with a 256 byte serial receive buffer
this ensures all GPS parsers have a 256 byte buffer available
2012-06-08 16:42:03 +10:00
Andrew Tridgell 296e651b30 GPS: fixed the UBLOX parser to handle unknown messages
the parser was broken in several ways:

 1) when it received an unknown message it didn't update the ck_a and ck_b fields, so it
    thought the message had a bad checksum, which meant it got out of protocol sync

 2) the read() method would return false if the last message from the GPS was of an unknown type. 
    So we relied on the last msg always being one that we understand and want

 3) the parser considered any valid UBLOX message to be 'new data', whereas we only actually get 
    a new fix when we get box a new position and velned message

 4) the total message size per update is more than 128 bytes, but the serial port was opened 
    with only a 128 byte buffer, so we got corruption regularly
2012-06-08 16:42:02 +10:00
Andrew Tridgell 9c2ba2e814 GPS: tidy up the auto gps test 2012-06-08 16:42:02 +10:00
Andrew Tridgell 0f0cbce22f GPS: fixed a race condition in the ublox driver
the status update comes as a separate message from the lat/lon
2012-06-04 14:47:58 +10:00
Jason Short 73e23aab2a GPS time set to unsigned int32 2012-06-03 11:13:50 -07:00
rmackay9 dcdeae412e ArduCopter: Another attempt at fixing the lat/lon printing bug in which small negative lattitudes or longitudes were appearing as positives.
Fixed in both ArduCopter Log.pde and the GPS Auto test sketch
2012-06-03 16:58:19 +09:00
rmackay9 2a216ce900 ArduCopter: fixed print_latlon bug in which it would print negative lat/lon numbers incorrectly (i.e. -1234567890 would be printed as -124.xxx). 2012-06-02 12:51:12 +09:00
Andrew Tridgell 7f8fe97889 GPS: u-center config file for 3DR Ublox 2012-04-20 22:05:30 +10:00
Andrew Tridgell f170790fd8 GPS: fixed auto GPS test 2012-04-20 22:05:30 +10:00
Andrew Tridgell 711814085b GPS: detect new style 3DR UBlox 2012-04-20 22:05:30 +10:00
Andrew Tridgell 08bc7f1a41 GPS: fixed the UBlox test code 2012-04-20 20:57:08 +10:00
analoguedevices 28833ed1d6 added missing #include 2012-04-09 14:32:54 +00:00
Andrew Tridgell 4dff78b9c0 GPS: expose last_fix_time 2012-03-10 10:34:32 +11:00
Andrew Tridgell 57f67ca6e3 GPS: added an acceleration estimate to the GPS driver
This uses the GPS ground speed to estimate acceleration
2012-03-10 10:34:30 +11:00
Andrew Tridgell 7fbfcc2721 GPS: fixed some stdint types 2012-03-10 10:34:29 +11:00
Andrew Tridgell d90dc4d893 GPS: change back to 4Hz for MTK GPS
this will hopefully fix the NO_GPS problems that have been regularly
happening in recent months. I will watch the logs carefully to see if
the problem recurs
2012-02-13 22:50:20 +11:00
Andrew Tridgell 1f05e7dafb fixed types in GPS detect code
using int everywhere is wasteful and non-portable
2012-02-13 16:22:53 +11:00
Randy Mackay ed19c25a97 Arduino 1.0 - changed all #includes of "WProgram.h", "wiring.h" and "WConstants.h to "Arduino.h".
Modified FastSerial's write function to return size_t (number of bytes written).
2012-01-28 12:25:47 +09:00
Michael Oborne 306e2e3f7d add gps character count.
this problem happens when the mtk ends up in nmea mode at 10hz. there is no 50ms window of no activity
2011-12-31 13:05:33 +08:00
Michael Oborne 3d85f99546 remove gps callback in wait loop 2011-12-31 09:35:40 +08:00
Randy Mackay c24b5229e1 AP_GPS - updated MTK rate to 10Hz and fixed lat/lon printing inaccuracy in Arducopter logs and AP_TEST example sketch 2011-12-25 12:33:06 +09:00
Andrew Tridgell b4965d34a9 GPS: added FAKE_GPS_LOCK_TIME
this allows you to fake up a GPS lock after a specific number of
seconds
2011-12-04 09:06:57 +11:00
James Goppert 025fa7fb5d ArduPlane cmake build working. 2011-10-31 13:18:48 -04:00
James Goppert 14d27b1e4c Cleaned up AP_GPS formatting. 2011-10-28 14:52:50 -04:00
Andrew Tridgell 6048f3870f GPS: fixed type to be consistent with declaration 2011-10-09 22:08:59 +11:00
James Goppert 0c7c508541 Optional recursion added. 2011-09-30 17:17:51 -04:00
James Goppert 5489b84f8e Improvements to cmake. 2011-09-29 21:23:26 -04:00
James Goppert d887a28b91 Added ArduBoat/ ArduRover/ and APO library. 2011-09-29 14:12:15 -04:00
Andrew Tridgell 3a9b7d6458 GPS: change example serial rate to 115200
this matches default for AP/AC
2011-09-17 14:58:02 +10:00
unknown a4e001bbcf Adding CMake support 2011-09-14 15:44:55 +02:00
hazyhxj@gmail.com b110803dcb Fix NMEA GPS error
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3227 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 05:14:42 +00:00
mich146@hotmail.com 5e3e96b236 update "NO_GPS" issue as per Justin Beech
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3225 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 04:46:14 +00:00
tridge60@gmail.com 91e101f47e GPS: added delay hook for GPS detection
this allows for MAVLink to be up during GPS detection

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2987 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-31 22:34:37 +00:00
tridge60@gmail.com da2a1d72e2 GPS: fixed the GPS specific test programs
This fixes the build

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2962 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-30 08:48:17 +00:00
tridge60@gmail.com 60bf2182e4 GPS-HIL: set new_data on setHIL()
this fixes navigation for ACM in HIL

git-svn-id: https://arducopter.googlecode.com/svn/trunk@2909 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-18 12:42:36 +00:00
deweibel@gmail.com 8d7e7ff58e revert gps lib to 2602
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2608 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-21 01:38:31 +00:00
deweibel@gmail.com 26d1ec1f56 remove static declaration from idleTimeout
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2607 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-21 01:26:57 +00:00
deweibel@gmail.com 5b9e7eff9d clean up idleTimeout
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2606 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-21 01:20:39 +00:00
deweibel@gmail.com b53b749fc7 Fix initialization of idleTimeout
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2602 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-20 21:11:45 +00:00
jasonshort 76d072591b made timeout public, settable
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2563 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-16 16:33:08 +00:00
jasonshort 4a1772b5ff http://code.google.com/p/arducopter/issues/detail?id=161
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2395 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-24 05:17:12 +00:00
deweibel@gmail.com 20cdf7c698 Add hDOP for ublox gps driver
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2241 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-11 02:54:43 +00:00
james.goppert 7809b0ca2a Massive warning fixes.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2089 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-04 19:12:27 +00:00
james.goppert aa598b575a APO merge.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1935 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 02:05:17 +00:00
james.goppert@gmail.com c1b6032e7f Eclipse makefile support for examples.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1860 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-09 19:38:12 +00:00
tridge60@gmail.com d36869494f GPS: fixed the idle timer
we need to reset the idle timer only on good data, or a call to
init(). Otherwise we never use it.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1849 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-04 22:00:06 +00:00
tridge60@gmail.com 860998d337 implemented typesafe PSTR()
This makes PSTR() type safe by using a 1 byte wrapper
structure. Attempts to use the wrong varient of a print function will
generate a compilation error.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1797 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-21 07:25:48 +00:00
jasonshort 00209c82a9 Added setHIL to GPS.cpp
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1686 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-19 18:33:42 +00:00
deweibel@gmail.com bd9c7de109 Correct factoring issue for AP_GPS_IMU XPlane HIL interface.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1673 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-17 21:36:56 +00:00
deweibel@gmail.com 4f514faf97 Small bug fix for HIL gps when using auto-detect
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1663 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-16 18:19:07 +00:00
DrZiplok 3108d661d2 Correct knots -> m/sec conversion. Thanks to Paul M. for spotting this.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1613 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-08 07:06:47 +00:00
deweibel e620eb1326 Change MediaTek timestamps to millisecond Time of Day
Add epoch method to return timestamp epoch.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1589 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-01 23:50:36 +00:00
deweibel@gmail.com 5e0fff1618 Add back AP_GPS_IMU to provide Xplane functionality
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1504 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-17 01:50:34 +00:00
DrZiplok@gmail.com 52a0a03d56 Bring AP_GPS_Auto closer to ready for prime-time:
- disable NMEA autodetection; false positives are still a risk
 - trim down the console output to a minimum; we still need something to help users diagnose potential problems, but the old output was much too verbose
 - rather than block forever, only do one autodetect pass for each ::read call.  That's still too long (five seconds or so) but better than blocking forever.
 - don't block forever if no GPS is attached.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1480 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 08:20:41 +00:00
DrZiplok@gmail.com eb39264834 Update the NMEA example code in conjunction with the new parser.
Added an init string for SiRF receivers that will bring them back out of the binary mode configuration that AP_GPS_Auto sets them to.  

Picked up the GPS logging format from the AP_GPS_Auto test.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@1469 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:57:16 +00:00
DrZiplok@gmail.com cad260a481 Implement a completely new NMEA parser based on the TinyGPS parser by Mikal Hart.
Major new features:

 - No RAM buffer for the NMEA message being parsed; saves 120 bytes of RAM.
 - More robust parser, a little less likely to be confused by bad messages.
 - Added configuration strings for SiRF, ublox and MediaTek GPS in NMEA mode to select just the messages of interest.

Note that the issue that TinyGPS has with co-ordinates with "different" numbers of decimal digits is addressed in this code.

Size is comparable to the old parser.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1468 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:55:45 +00:00
DrZiplok@gmail.com 1bfcdaa2cb Add a delay after sending the GPS mode switch strings in an attempt to give any NMEA data time to drain before we attempt to sniff again.
Otherwise, we can end up settling on NMEA as a mode just after switching a SiRF GPS to binary mode.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1467 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:50:42 +00:00
DrZiplok 07dec5e1b7 Use operator new from AP_Common rather than our own. This also makes AP_Common available to the GPS drivers that work with AP_GPS_Auto.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1463 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 01:19:15 +00:00
DrZiplok 2c0e8515d5 Add a date field to the standard GPS data. This may be zero, and its format is TBD (may be GPS-dependent).
Increase the no-data timeout to slightly more than a second, so that GPS' with a 1Hz update rate don't cause problems.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@1461 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-10 00:44:09 +00:00
DrZiplok@gmail.com f2f38f2e71 Make the GPS ctor protected so that it can't be accidentally constructed or copied.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1353 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 03:32:37 +00:00
DrZiplok ba6ba990f0 Undo the ^M nonsense that CodeLite pulled.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1349 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-29 00:35:53 +00:00
DrZiplok f8ed279b14 Fix over-clever macro.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1344 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:50:50 +00:00
DrZiplok c1f19797d9 Add a GPS shim class that lets an external agent update the pseudo-GPS properties.
This should obsolete AP_GPS_HIL as it's a little more versatile (and it will generate cheaper code).


git-svn-id: https://arducopter.googlecode.com/svn/trunk@1336 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 23:27:12 +00:00
DrZiplok@gmail.com 7e76b64515 Give AP_GPS_None a ctor so that it fits in.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1247 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 19:59:07 +00:00
DrZiplok@gmail.com 8da4a29d58 Add support for the DIYD MTK v1.6 firmware
Nuke AP_GPS_IMU, as nothing is using it anymore.
Simplify the handling of no GPS/no fix detection.
Fix prototypes for ::init and ::read.
Update AP_GPS_Auto and corresponding example, nearly ready for primetime.
Use uint8_t rather than byte.
Strip some _error() calls to save space.  More could still go.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@1246 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-24 06:35:09 +00:00
jasonshort f75c7b47ff minor changes, fixed IMU class
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1225 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-22 03:34:47 +00:00
james.goppert 075fb61a92 Added lasttime to GPS HIL.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1216 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-20 06:52:23 +00:00
james.goppert dfe94bc77e Removed delay from MTK library.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1189 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 15:34:09 +00:00
james.goppert aa115aea68 AP_GPS libs now recover from disconnect or failed initialization.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1188 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 13:24:29 +00:00
DrZiplok@gmail.com cb4e8144f4 Eliminate GPS::_error, as it's responsible for pulling in the old printf, which doesn't work anymore. Fixing it's not worth the effort.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@955 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 08:46:41 +00:00
james.goppert 9331f8616c Fixed several HIL class bugs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@914 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-24 16:32:30 +00:00
james.goppert 0eef05b734 Working on HIL for sensors.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@873 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-19 21:20:49 +00:00
james.goppert e245b7c7b3 Added sensor level HIL support.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@857 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-19 05:42:47 +00:00
paulbmather@gmail.com bd205a48e8 GPS units that don't have 2 digits after decimal on heading and alt would cause serious math problem.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@807 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-08 19:21:42 +00:00
DrZiplok 2e5be5d86b Revert the MTK GPS driver to only claiming a fix when the GPS has a 3D solution, per discussion with Paul.
Minor tidying and documentation.



git-svn-id: https://arducopter.googlecode.com/svn/trunk@683 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 20:13:53 +00:00
DrZiplok@gmail.com ee105a0ebf The previous initialisation strategy for auto-detection doesn't play well with the way APM uses the GPS.
Switch to subclassing GPS and manipulating a global pointer.  Update the test program so that it works again.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@673 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 07:22:11 +00:00
DrZiplok@gmail.com 0a94520682 Add support for automatically detecting the connected GPS and configuring accordingly.
Note that this is currently disabled as changes need to be made to APM to support it.

Tested with MTK, u-blox and SiRF GPS'.

git-svn-id: https://arducopter.googlecode.com/svn/trunk@671 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 06:06:04 +00:00
paulbmather@gmail.com 079dd3c617 Changes to accommodate blinking lights and loss of GPS commands. Tested with NMEA, uBlox, Sirf and MTK. Does not function correctly with rmack's changes to APM_Compass posted 10/17/2010 (I don't know why).
git-svn-id: https://arducopter.googlecode.com/svn/trunk@669 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-17 04:07:46 +00:00
paulbmather@gmail.com 614d43c905 git-svn-id: https://arducopter.googlecode.com/svn/trunk@665 f9c3cf11-9bcb-44bc-f272-b75c42450872 2010-10-16 16:59:03 +00:00
paulbmather@gmail.com 0bbc8651e4 Added #defines for PMTK commands
git-svn-id: https://arducopter.googlecode.com/svn/trunk@664 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-16 16:56:29 +00:00
paulbmather@gmail.com d7e71b602c Fixed issue with comma parsing (space after comma was causing routine to misread data)
Added init functions (PMTK)

git-svn-id: https://arducopter.googlecode.com/svn/trunk@663 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-10-16 16:55:56 +00:00
deweibel 34aa823003 Bug fixes for EM-406
git-svn-id: https://arducopter.googlecode.com/svn/trunk@539 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-09-23 00:20:11 +00:00