Motorola Oncore GPS + MEGA 2560

Greetings.

I have a Motorola UT Oncore GPS and an Arduino Mega 2560, but I can't get them to be friends.
Here is the manual I'm using for the GPS: http://www.tapr.org/pdf/UT_Eng_Notes.pdf
According to it, the pins are as follows
1 External Battery Power
2 +5V
3 GND
4 Reprogramming voltage
5 Not used
6 1PPS
7 1PPS return (i.e. ground for 1PPS)
8 TTL TX
9 TTL RX *
10 TTL return (i.e. ground for TTL)

  • Manual says commands are sent over 9600 baud, but it doesn't say about information transmitted, so I am assuming the same.

What I've done is connect 2 and 3 to a 5V power supply and its ground (not the Arduino) and an LED to 1PPS (6 and 7). Once the power is on, the LED comes on for about one second, then starts flashing. Although I haven't timed it, it looks regular.

And as far as communication, I have pin 10 to Arduino GND pin, pin 8 to pin 19 (RX1), and pin 9 to pin 18 (TX1).

Here is the code.

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600); 
}

void loop() {
  
  if (Serial1.available()) 
    Serial.write(Serial1.read()); 
  else
    Serial.println("nothing");
  
  Serial1.print("@@Cj"); // manual says this is Receiver ID command
  
  delay(1000);
}

It would be fantastic if any of you helps me with this.
Thank you.

I hope you have a resistor in series with the LED.

The only docs I have found so far indicate that each message that you send to the Oncore must be terminated with carriage return and linefeed. Try this statement to send the receiver ID statement (which I presume is a request - not a command):

Serial1.print("@@Cj\r\n");

Pete

Well, that didn't work, but it made me dig more.
Most codes, immediately before "\r\n", require a checksum, which is apparently bitwise xor on each preceding byte. Since the first two characters are identical, this did the trick:

void loop() {
  Serial1.write("@@Cj");
  Serial1.write('C'^'j');
  Serial1.write("\r\n");
  delay(1000);
  
  while (Serial1.available()) 
    Serial.write(Serial1.read()); 
  
  delay(500000);
}

Now I have to try things and decipher what's what. Thanks!