12-06-2019 02:45 AM
Some setup info:
Hardware used:
VIs used:
Trajectory file:
Custom file using the format
waypoint constant_heading lat long altitude duration=seconds
example: waypoint constant_heading -33.88693926 18.57398093 0 duration=30
niGPS --> Trajectory Script Climb Enabled = FALSE
My problem
The streamed GPS data isn't the full trip. The total generated trip should be about 55 minutes. When streaming the generated file the trip stops after about 7 minutes then loops back to about 3 minutes into the trip and this carries on until I stop the streaming.
I can confirm, looking at the generated lat and long values, that the "niGPS Write Waveform To File" VI generates data right up until the last expected GPS point.
Also, when looking at the time difference between "Current GPS Time of Week" and "Initial Time of Ephemeris" I get to the expected travel time of approx 55min.
I'm not sure where to dig around now. I can see that, according to the "offset (in bytes)" value that the VI has read through the entire binary file. It's a 19GB file. Does that sound right? Is my binary file missing data and the streaming VI is correct? If the VI streams the 19GB in 7 minutes then info must be being chopped off. When watching the live position the GPS receiver correctly moves along the expected path until the looping beings to happen. When the looping happens the "offset (in bytes)" jumps back - so I've guessing the cursor in the binary file is moved backwards.
Any advice or guidance would be great. Not sure where to look now.
12-06-2019 04:59 AM
So as things tend to go... as soon as you've explained what's going wrong you start to see things more clearly. I've edited the "niGPS Streaming From File (5671)" VI and have successfully completed a test. I've circled my mod in red.
The VI was doing something there that I don't quite understand. I thought it was how the VI calculated when the end of the binary file had been reached and to be helpful just looped back to the beginning.
My mod isn't elegant, because it causes an error when the EOF is reached, but it does stop the stream. I'll tidy it up when I have time. Just wanted to share my findings.