LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

garmin gps timeout error

Hi,

 

I am trying to read and log the data from Garmin 18X GPS receiver. I am connecting it through USB to serial emulator (no serial connection on my laptop). I do not have any issues in getting to read the data and all works fine. It is just that after a few minutes or sometimes less than a minute the following error pops up "Error -1073807339 occurred at VISA Read in Garmin GPS Series.lvlib:Flush.vi->Garmin GPS Series.lvlib:Write and Flush.vi->Garmin GPS Series.lvlib:Revision Query.vi->Garmin GPS Series.lvlib:Initialize.vi->Garmin GPS Series Configure and Acquire Data.vi" 

Possible reason(s):

VISA: (Hex 0xBFFF0015) Timeout expired before operation completed

Doing some searching through the forums, some had suggested that timeout be increased. I cannot find how to do this anywhere in the VI hierachy. I am new to labview, so still trying to find my way around. Any help is appreciated. The link below is for the dependancy files and example VI that I downloaded from NI website:

http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=5201D2122EDD6393E0440003BA7CCD...

I am running labview 2011. Thank you.

0 Kudos
Message 1 of 3
(2,668 Views)

Hi Kumar,

 

The error is, as you explained related to the timeout.  You can use a propoerty node to set this higher if you think that might do the trick, although there are a couple other things you may want to consider as well.  See the following KnowledgeBase article from our website, which discusses some of these (including the Timeoue property node set at the end of the article): http://digital.ni.com/public.nsf/allkb/874B379E24C0A0D686256FCF007A6EA0?OpenDocument

 

Best,

Ryan C.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 3
(2,652 Views)

How are you reading data in from the COM port?

 

I'm assuming the device you're using behaves similar to my 60CSx that just spews NMEA sentences out its serial port. 

 

Use the "Bytes at Port" property to read how many bytes are in the hardware buffer.  If that value's zero, don't do a read until there's something there, otherwise you'll get the timeout.  When there is some amount of data there, read that hardware buffer out and stuff it into a labview program buffer... either a shift register or queue.  In your software, parse that program buffer for the info you're interested in and handle it from there. 

 

I think the program architecture and hardware I/O code is what's causing the problem, not the timeout itself. 

0 Kudos
Message 3 of 3
(2,647 Views)