From 1cac345b5c7b6d576da87dc321af4223d515df51 Mon Sep 17 00:00:00 2001 From: Moritz Fischer Date: Thu, 16 Apr 2015 16:12:40 -0500 Subject: gps: gpsd: Adding gpsd_iface to interface with gpsd. The gpsd_iface class might be useful for more than just e3x0, it therefore belongs into lib/usrp instead of lib/usrp/e300. A new UHD component is being registered, to cope with the additional dependency. If libgps is not found, UHD and E300 will be compiled without GPS support. This has several consequences: - The E310 GPSDO should now work transparently over network - Users can use the GPS through gpsd for other applications *while* running UHD applications - We now have a dependency on libgps We need currently at least version 3.11 (while running 3.14), on the device. Older versions do work if 3.10 runs on both sides e.g Reviewed-by: Martin Braun Reviewed-by: Ashish Chaudhari Signed-off-by: Moritz Fischer --- host/lib/usrp/e300/e300_network.cpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'host/lib/usrp/e300/e300_network.cpp') diff --git a/host/lib/usrp/e300/e300_network.cpp b/host/lib/usrp/e300/e300_network.cpp index d68dc4541..96387d6f7 100644 --- a/host/lib/usrp/e300/e300_network.cpp +++ b/host/lib/usrp/e300/e300_network.cpp @@ -349,19 +349,9 @@ static void e300_sensor_tunnel( // TODO: This is ugly ... use proper serialization in->value = uhd::htonx( e300_sensor_manager::pack_float_in_uint32_t(temp.to_real())); - } else if (uhd::ntohx(in->which) == GPS_FOUND) { - in->value = uhd::htonx( - sensor_manager->get_gps_found() ? 1 : 0); - - } else if (uhd::ntohx(in->which) == GPS_LOCK) { - in->value = uhd::htonx( - sensor_manager->get_gps_lock().to_bool() ? 1 : 0); } else if (uhd::ntohx(in->which) == REF_LOCK) { in->value = uhd::htonx( sensor_manager->get_ref_lock().to_bool() ? 1 : 0); - } else if (uhd::ntohx(in->which) == GPS_TIME) { - in->value = uhd::htonx( - sensor_manager->get_gps_time().to_int()); } else UHD_MSG(status) << "Got unknown request?!" << std::endl; @@ -648,8 +638,7 @@ network_server_impl::network_server_impl(const uhd::device_addr_t &device_addr) _codec_ctrl = ad9361_ctrl::make_spi(client_settings, spi::make(E300_SPIDEV_DEVICE), 1); // This is horrible ... why do I have to sleep here? boost::this_thread::sleep(boost::posix_time::milliseconds(100)); - _sensor_manager = e300_sensor_manager::make_local( - gps::ublox::ubx::control::make("/dev/ttyPS1", 9600), _global_regs); + _sensor_manager = e300_sensor_manager::make_local(_global_regs); } }}} // namespace -- cgit v1.2.3