Commit graph

43 commits

Author SHA1 Message Date
Andrej Rode
21aad77c9c utils: introduce new logging API and remove msg API 2017-02-20 17:13:15 -08:00
Andrej Rode
26cc20847c uhd: replace BOOST_FOREACH with C++11 range-based for loop
Note: This is the first commit that uses for-range, and range-based
for-loops are now usable for UHD development.
2017-02-10 16:44:33 -08:00
michael-west
63fcfb9574 GPSDO: Improved detection
- Added re-sending of *IDN? command if no reply or unexpected string (i.e. during GPSDO firmware initialization)
- Shortened detection timeout to return sooner if no GPSDO present (faster initialization)
2017-02-01 15:20:04 -08:00
michael-west
c613c7edb4 GPS: Improvements to query_gpsdo_sensor
- Reordered operations to make sure setting clock and time sources is first
- Reduced delay waiting for ref lock
- Added wait for GPSDO warm up
- Made warning messages in gps_ctrl function into log messages to prevent unnecessary output
2017-01-30 09:36:38 +01:00
Martin Braun
99c2730bc9 Remove all boost:: namespace prefix for uint32_t, int32_t etc. (fixed-width types)
- Also removes all references to boost/cstdint.hpp and replaces it with
  stdint.h (The 'correct' replacement would be <cstdint>, but not all of our
  compilers support that).
2016-11-08 08:02:22 -08:00
Martin Braun
4b6d3db7eb gps: Removed redundant error message in case no GPS present
Signed-off-by: Martin Braun <martin.braun@ettus.com>
Reviewed-By: Moritz Fischer <moritz.fischer@ettus.com>
2016-09-27 09:02:10 -07:00
michael-west
23198a9092 Fix TXCO GPSDO recognition 2016-09-08 11:09:25 -07:00
michael-west
90a5d3153e gps_ctrl: Multiple fixes
- Check for updates if cached data is older than one millisecond
- Removed timeouts when checking for updated data from UART
- Subscribe to SERVO:TRACe message every second and process like NMEA strings
- Refactored code for simplification
2016-09-02 11:10:46 -07:00
michael-west
196e93a387 Add thread safety to gps_ctrl cached sensors 2016-09-02 11:10:46 -07:00
Nicholas Corgan
9b51e4cfbe gps_ctrl: code cleanup 2015-08-14 12:30:53 -07:00
Nicholas Corgan
654c5b06c0 Added missing pure virtual destructors to base classes 2014-09-01 17:58:24 +02:00
michael-west
afb4cb4d4a Updated copyright year. 2014-07-17 18:16:04 -07:00
michael-west
863953d972 - Changed variables from uint8_t to uint32_t so parsing of hex strings would work properly. 2014-07-17 18:16:04 -07:00
michael-west
208d851678 Addressing comments from review.
- Corrected types of some variables to be boost types.
- Removed debugging code accidentally left in.
- Changed some compiled out error messages to log messages.
2014-07-17 18:16:04 -07:00
michael-west
8f6e2ac997 Fix for BUG #469: Bad/Empty GPS NMEA strings returned when the queries are made in a random wait iterative fashion
Fix for BUG #460:  X300: GPGGA sensor most often empty, while RMC is usually OK
- Added checksum verification of NMEA strings
- Improved handling of short or malformed strings
- Fixed GPSDO data synchronization between X300 firmware and host
2014-07-17 18:16:04 -07:00
michael-west
d878f8e42b BUG #460: X300: GPGGA sensor most often empty, while RMC is usually OK
- It was found that strings containing only a newline character were being returned by N-series and X-series devices.
- Added better handling of strings received under 6 bytes.
- Added erasing of end of line characters.
2014-05-06 16:11:10 -07:00
Moritz Fischer
c1222d751a gps: Removed superfluous include.
* This file doesn't need boost::container::vector.

Tested-by: Marcus D. Leech <mleech@ripnet.com>
Signed-off-by: Moritz Fischer <moritz@ettus.com>
2014-03-23 20:27:19 +01:00
Ben Hilburn
ff1546f813 Pushing the bulk of UHD-3.7.0 code. 2014-02-14 12:05:07 -08:00
Ben Hilburn
178ac3f1c9 Merging USRP X300 and X310 support!! 2014-02-04 11:04:07 -08:00
Ben Hilburn
6f26689e35 cleaning up gpsdo docs 2013-12-19 16:13:41 -08:00
Ben Hilburn
9e47ad607b Squashed merge of Coverity fixes. 2013-11-27 12:11:23 -08:00
Josh Blum
f01d1a28e2 gps: only enable SERV:TRAC when requested 2013-04-09 21:20:26 -05:00
Josh Blum
31f0e964aa gps: flush uart buffer before waiting for time
This addresses a bug only on the master branch.
Also turn off the servo sensor, its too long a delay.
We will need to conditionally enable this in a later commit.
2013-04-09 20:34:23 -05:00
Moritz Fischer
a288d3bb2f gps_ctrl: Lower the number of retries to two when waiting for the time. 2012-11-13 14:47:06 -08:00
Moritz Fischer
99c9949eb1 gps_ctrl.cpp: Partially rewritten, to use caching instead of throwing
away the 'wrong' messages.

The old way to do this was when a sensor was requested, to wait for the
corresponding NMEA message to pass by, throwing away all the 'wrong'
ones in the meantime. However, this leads to problems if the user
requests combinations that are based on the same NMEA string.
To avoid this we now try to cache the strings for a 'freshness' period.
2012-10-19 16:45:50 -07:00
Nick Foster
efdc76514d Removed GPGSA from GPS driver since Firefly doesn't actually support it. 2012-05-16 10:54:09 -07:00
Josh Blum
902818f50b uhd: removed wax and props utils 2011-11-07 16:53:47 -08:00
Josh Blum
0d9421b7ab gps: use absolute timeout for communication 2011-09-28 10:32:05 -07:00
Josh Blum
25494489bf usrp2: uart/udp work in host and fw, working 2011-09-28 10:32:05 -07:00
Nick Foster
8009a340f7 gps_ctrl: make GPSDO parsing more robust, add retries 2011-08-11 13:32:47 -07:00
Nick Foster
cbd7ff3ad3 GPS ctrl fixes for uncooperative Firefly devices (Bastien Auneau) 2011-08-05 10:17:50 -07:00
Nick Foster
ab63a54088 Refactor GPS code to duplicate way less stuff, make members private 2011-06-17 16:01:24 -07:00
Nick Foster
9101804e6b USRP2/N210: set VITA time even if GPS not locked. harmless to do so. 2011-06-17 15:13:09 -07:00
Nick Foster
6f6364f73a UHD: implemented gps_locked sensor. usrp2 mboard doesn't init VITA time if time not valid. 2011-06-17 15:09:16 -07:00
Nick Foster
7af605b247 UHD: GPS work.
* Rewrote NMEA acquisition to be more general
* Added GPS sensors instead of member fns for data access
* GPS sensors added to mboard sensors to keep ABI compat
* VITA time initialized to GPS time on init
2011-06-17 13:35:40 -07:00
Josh Blum
09be0518ce uhd: removed more iostream stuff from usrp* implementations 2011-05-04 19:53:01 -07:00
Nick Foster
4d73aae463 GPS parser fixes for get_time. 2011-04-29 09:58:55 -07:00
Nick Foster
a4aa89ed5d USRP2: Added GPS time support to the sensors interface. gps_time sensor returns epoch time as time_t. Untested. 2011-04-29 09:58:54 -07:00
Josh Blum
95b966a599 uhd: update copyright headers with automated script 2011-03-23 18:48:30 -07:00
Josh Blum
4357f5d3c0 uhd: replaced instanced of std::exception with the uhd exceptions 2011-02-24 16:35:29 -08:00
Josh Blum
16f08844d7 uhd: renamed the assert header to assert has
only the assert has implementation is in this header

uhd assert throw moved to the exception header

updated code base includes to match
2011-02-24 14:54:24 -08:00
Nick Foster
bf25ec24ad N210: longer GPS timeout, removed try/catch in safe_recv loop (since it can't throw any more) 2011-01-25 14:12:39 -08:00
Nick Foster
330a014dfc next: generalized the GPS interface to any USRP device. just give it a function to write/read strings to UART.
not sure if i'm happy with the interface; maybe inheriting is cleaner. this works though.
gps interface for usrp2 is disabled right now in mboard_impl.
2011-01-17 22:51:14 -08:00
Renamed from host/lib/usrp/usrp2/gps_ctrl.cpp (Browse further)