I have a RAK12500 GNSS in slot-A of a RAK4631(RUI3).
I can talk to it successfully over the I2C using the UBX protocol. One of reasons for the I2C usage is that I will have another external device sitting on the RX1/TX1 pins that are on the baseboard J10 connector and I want to make sure that the RAK12500 does not get involved in that conversation in any way.
Now I’m trying to test that I really have the ZOE-M8Q UART disabled but that first requires that I have a reference of what it looks like enabled. But I can’t get anything at all on the Serial1 API. I wonder if there is an AT parser sitting in the way. In this case the AT parser would be in the way of the other external device as well.
In setup() I select the baud with “Serial1.begin(9600)” and wait with “while(!Serial1);”. I assume 1 stop, no parity is used, but I have no way to ensure this.
By default the GGA GLL GSA GSV RMC VTG and TXT messages should be enabled on that port, but “Serial1.available()” always returns 0.
Is Serial1 the correct API handle for RX1/TX1 on RAK4631-RUI3?
Is there something special I have to do to ensure the Serial1 port is waking up unvarnished?
BTW I can see the activity on the RX pin (J10-4), so I know that the problem isn’t the GNSS
And I can issue Serial1.print(“Hello”); and see activity on TX1 (J10-3), so Serial1 is the right mapping for the RX1/TX1 pins. And the bit clocking timing I see on the both pins correspond to 9600 baud, so that’s right too.
I also initialise the Serial1 port with RAK_CUSTOM_MODE in case the default was AT. The issue remains that Serial1.available() returns 0.