Ryan<div><br></div><div>it compiles and runs perfectly. There's the output</div><div><br></div><div><div>$ ./test_gpsdo </div><div>linux; GNU C++ version 4.5.1 20100924 (Red Hat 4.5.1-4); Boost_104400; UHD_003.004.002-128-g12f7a5c9</div>
<div><br></div><div><br></div><div>Creating the usrp device with: ...</div><div>-- Opening a USRP2/N-Series device...</div><div>-- Current recv frame size: 1472 bytes</div><div>-- Current send frame size: 1472 bytes</div>
<div>-- Found a Jackson Labs GPS</div><div>-- Setting references to the internal GPSDO</div><div>-- Initializing time to the internal GPSDO</div><div>Using Device: Single USRP:</div><div>  Device: USRP2 / N-Series Device</div>
<div>  Mboard 0: N210r4</div><div>  RX Channel: 0</div><div>    RX DSP: 0</div><div>    RX Dboard: A</div><div>    RX Subdev: RFX900 RX</div><div>  TX Channel: 0</div><div>    TX DSP: 0</div><div>    TX Dboard: A</div><div>
    TX Subdev: RFX900 TX</div><div><br></div><div><br></div><div>Querying gps_time sensor...</div><div>Sensor output: GPS epoch time: 1338881388 seconds</div><div><br></div><div><br></div><div>Querying gps_locked sensor...</div>
<div>Sensor output: GPS lock status: locked</div><div><br></div><div><br></div><div>Querying ref_locked sensor...</div><div>Sensor output: Ref: unlocked</div><div><br></div><div><br></div><div>Querying gps_gpgga sensor...</div>
<div> ensor output: GPS_GPGGA: $GPGGA,072949.00,4506.7212,N,0740.3228,E,2,09,1.1,271.7,M,47.2,M,,*5C</div><div><br></div><div><br></div><div>Querying gps_gprmc sensor...</div><div> ensor output: GPS_GPRMC: $GPRMC,072950.00,A,4506.7212,N,0740.3228,E,1.1,0.0,050612,,*03</div>
<div><br></div><div><br></div><div>Querying gps_gpgsa sensor...</div><div>Error: LookupError: Path not found in tree: /mboards/0/sensors/gps_gpgsa</div><div><br></div><div>Which output should be taken into account, gps_locked, or ref_locked?</div>
<div>If ref_locked, I think that the "clear view of the sky" should be improved... since a small roof out of my window could partially hide the sky. I can try to move my equipment to the courtyard. Should it be useful?</div>
<br><div class="gmail_quote">On Mon, Jun 4, 2012 at 8:57 PM, Ryan Connelly <span dir="ltr"><<a href="mailto:ryan.connelly.6742@gmail.com" target="_blank">ryan.connelly.6742@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The GPS antenna should have a clear unobstructed view of the sky. Also<br>
if the GPS antenna has a little metal dimple on one of its sides, it<br>
has to be facing up towards the sky.<br>
<br>
Here is a C++ program written by someone a while back to check GPS<br>
sensors. I don't know if it still works but that gives you an idea of<br>
how to query the sensor info. One of the sensors outputs the GGA info<br>
as an NMEA string. Here's a link to read the string:<br>
<a href="http://www.gpsinformation.org/dale/nmea.htm#GGA" target="_blank">http://www.gpsinformation.org/dale/nmea.htm#GGA</a><br>
<br>
<br>
---------------------file:<br>
test_gpsdo.cpp--------------------------------------------------------------------<br>
--------------------example compile: g++ -luhd<br>
-lboot_program_options-mt test_gpsdo.cpp -o test_gpsdo -------<br>
--------------------example usage: ./test_gpsdo --args<br>
"addr=192.168.10.2"-----------------------------------<br>
<br>
// author: Anonymous ( based on<br>
<a href="http://code.ettus.com/redmine/ettus/projects/uhd/repository/revisions" target="_blank">http://code.ettus.com/redmine/ettus/projects/uhd/repository/revisions</a><br>
// /6bd7281f83d5311675847b31746525841657c057/entry/host/examples/test_pps_input.cpp<br>
)<br>
// date: 2012/02/16<br>
// purpose: access gpsdo information (by querying all the gpsdo<br>
sensors) and output results to console<br>
<br>
#include <uhd/utils/thread_priority.hpp><br>
#include <uhd/utils/safe_main.hpp><br>
#include <uhd/usrp/multi_usrp.hpp><br>
#include <boost/program_options.hpp><br>
#include <boost/format.hpp><br>
#include <boost/thread.hpp><br>
#include <iostream><br>
#include <complex><br>
<br>
namespace po = boost::program_options;<br>
int UHD_SAFE_MAIN(int argc, char *argv[]){<br>
<br>
   uhd::set_thread_priority_safe();<br>
<br>
   //variables to be set by po<br>
   std::string args;<br>
<br>
   //setup the program options<br>
   po::options_description desc("Allowed options");<br>
   desc.add_options()<br>
       ("help", "help message")<br>
       ("args", po::value<std::string>(&args)->default_value(""),<br>
"single uhd device address args")<br>
   ;<br>
<br>
   po::variables_map vm;<br>
   po::store(po::parse_command_line(argc, argv, desc), vm);<br>
   po::notify(vm);<br>
<br>
   //print the help message<br>
   if (vm.count("help")){<br>
       std::cout << boost::format("UHD Test PPS Input %s") % desc << std::endl;<br>
       return ~0;<br>
   }<br>
<br>
   //create a usrp device<br>
   std::cout << std::endl;<br>
   std::cout << boost::format("Creating the usrp device with: %s...")<br>
% args << std::endl;<br>
   uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(args);<br>
   std::cout << boost::format("Using Device: %s") %<br>
usrp->get_pp_string() << std::endl;<br>
<br>
       //query gpsdo sensors and output to console<br>
       //gps_time sensor<br>
       std::cout << std::endl << "Querying gps_time sensor..." << std::endl;<br>
       uhd::sensor_value_t val_gps_time = usrp->get_mboard_sensor("gps_time",0);<br>
       std::cout << boost::format("Sensor output: %s") %<br>
val_gps_time.to_pp_string() << std::endl << std::endl;<br>
       //gps_locked sensor<br>
       std::cout << std::endl << "Querying gps_locked sensor..." << std::endl;<br>
       uhd::sensor_value_t val_gps_locked =<br>
usrp->get_mboard_sensor("gps_locked",0);<br>
       std::cout << boost::format("Sensor output: %s") %<br>
val_gps_locked.to_pp_string() << std::endl << std::endl;<br>
       //ref_locked sensor<br>
       std::cout << std::endl << "Querying ref_locked sensor..." << std::endl;<br>
       uhd::sensor_value_t val_ref_locked =<br>
usrp->get_mboard_sensor("ref_locked",0);<br>
       std::cout << boost::format("Sensor output: %s") %<br>
val_ref_locked.to_pp_string() << std::endl << std::endl;<br>
       //gps_gpgga sensor<br>
       std::cout << std::endl << "Querying gps_gpgga sensor..." << std::endl;<br>
       uhd::sensor_value_t val_gps_gpgga =<br>
usrp->get_mboard_sensor("gps_gpgga",0);<br>
       std::cout << boost::format("Sensor output: %s") %<br>
val_gps_gpgga.to_pp_string() << std::endl << std::endl;<br>
       //gps_gprmc sensor<br>
       std::cout << std::endl << "Querying gps_gprmc sensor..." << std::endl;<br>
       uhd::sensor_value_t val_gps_gprmc =<br>
usrp->get_mboard_sensor("gps_gprmc",0);<br>
       std::cout << boost::format("Sensor output: %s") %<br>
val_gps_gprmc.to_pp_string() << std::endl << std::endl;<br>
       //gps_gpgsa sensor<br>
       std::cout << std::endl << "Querying gps_gpgsa sensor..." << std::endl;<br>
       uhd::sensor_value_t val_gps_gpgsa =<br>
usrp->get_mboard_sensor("gps_gpgsa",0);<br>
       std::cout << boost::format("Sensor output: %s") %<br>
val_gps_gpgsa.to_pp_string() << std::endl << std::endl;<br>
<br>
       return 0;<br>
}<br>
<br>
-----------------------------------------------------------<br>
<br>
<br>
On Mon, Jun 4, 2012 at 2:19 PM, Dario Lombardo<br>
<<a href="mailto:dario.lombardo.ml@gmail.com">dario.lombardo.ml@gmail.com</a>> wrote:<br>
><br>
><br>
> On Mon, Jun 4, 2012 at 8:03 PM, Nick Foster <<a href="mailto:nick@ettus.com">nick@ettus.com</a>> wrote:<br>
>><br>
>> I guess I suspect that you aren't getting a valid GPS signal.<br>
><br>
><br>
> It's what others have suggested. But I don't know how to improve it.<br>
><br>
>><br>
>> I'd suggest doing a little coding and checking the GPSDO lock status,<br>
>> probably easiest to modify the UHD examples.<br>
><br>
><br>
> Can you suggest one to start from?<br>
><br>
>><br>
>> What antenna are you using?<br>
><br>
><br>
> It's a GPS/GSM antenna (antennas are packed together, with separate cables<br>
> to go to the board).<br>
><br>
>><br>
>> Does it have a clear view of the sky?<br>
><br>
><br>
> More or less. I'm in a building and the usrp is in my office. Inside the<br>
> building I can't get the GPS signal, but I can get it close to my window (I<br>
> mean with other GPS equipments). I don't know how clean the GPS signal must<br>
> be caught.<br>
><br>
> _______________________________________________<br>
> USRP-users mailing list<br>
> <a href="mailto:USRP-users@lists.ettus.com">USRP-users@lists.ettus.com</a><br>
> <a href="http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com" target="_blank">http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com</a><br>
><br>
<br>
_______________________________________________<br>
USRP-users mailing list<br>
<a href="mailto:USRP-users@lists.ettus.com">USRP-users@lists.ettus.com</a><br>
<a href="http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com" target="_blank">http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com</a><br>
</blockquote></div><br></div>