Commit Graph

279 Commits

Author SHA1 Message Date
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