Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.

Log in or register to post/reply in the forum.

Using the GPS() function to syncronise time between a GPS and a CR1000X datalogger

Luke.Harrison Dec 7, 2021 07:23 AM

I am trying to connect a NAVman xNAV650 to a CR1000X utalising the GPS() command to syncronise the clock on the datalogger to the GPS clock, using the PPS and NMEA outputs form the GPS. I am recieving all 0/NAN values except for the PPS parameter

The wiring is as follows:

PPS wire -> C1

Tx wire -> C2

Ground wire -> G

The GPS outputs at a set baudrate of 9600 so I have configured that with SetStatus("Baudrate(COMC1)",9600). The rest of the script I have copied from the example in CRBasic.

1. Relating to the OS, what OS version is required in order to run the command on a CR1000X?

2. The example provided in CRBasic sets up the gps_data() array but then passes latitude_a to the GPS() command "GPS(latitude_a,COMC1,LOCAL_TIME_OFFSET*3600,100,nmea_sentence(1))", is this simply a typo?

3. By entering COMC1 as the comport variable does the GPS() command assume that the NMEA data is coming in through C2 and read that data? Do i also need to set the baud rate of C2 to 9600?

4. The GPS outputs a PPS of 3.3V NOT 5V, I have seen somewhere that the CR1000X can understand that fine, is that correct?

JDavis Dec 7, 2021 07:42 PM

The PortPairConfig() instruction will set C1 to accomodate the 3.3V PPS signal.

PortPairConfig (C1,2,0)


Connected to C2 should be the RS232 Tx line from the GPS.

If settings and wiring are correct, you should see values populate in nmea_sentence(). Some values will only populate when the GPS is outside and has a fix.

Log in or register to post/reply in the forum.