Hi E,hi C,
You cannot sync the Base and Remote serial input sources, they are running asynchronously.
The DataSw you have, will select the desired Base or Remote into the UART, but the unselected serial source will not stop sending data, so when you switch the DataSw over, you may have missed part of that unselected message.[ say you are half way thru for example]
You need to read any partial serial message upto the LF code, keep that source selected and wait for the $ for the start of the message you have selected.
This applies to both messages Base and Remote.
E
There was a comment on another thread regarding the length of time the $sentences would take to 'go through', which is about 1/2 second (I think)
Here is the list of sentences, which I think are always sent in the same order.
They seem to be sent on the second, looking at some received sentences, and if, somehow using these clocks, checking of the GPS could be just before the [$GPRMC ] sentence, instead of this worst case scenario, as it is now the BASE could start checking here, marked in RED.
$#GPRMC,162254.00,A,3723.02837,N,12159.39853,W,0.820,188.36,110706,,,A*74
$GPVTG,188.36,T,,M,0.820,N,1.519,K,A*3F
$GPGGA,162254.00,3723.02837,N,12159.39853,W,1,03,2.36,525.6,M,-25.6,M,,*65
$GPGSA,A,2,25,01,22,,,,,,,,,,2.56,2.36,1.00*02
$GPGSV,4,1,14,25,15,175,30,14,80,041,,19,38,259,14,01,52,223,18*76
$GPGSV,4,2,14,18,16,079,,11,19,312,,14,80,041,,21,04,135,25*7D
$GPGSV,4,3,14,15,27,134,18,03,25,222,,22,51,057,16,09,07,036,*79
$GPGSV,4,4,14,07,01,181,,15,25,135,*76
$GPGLL,3723.02837,N,12159.39853,W,162254.00,A,A*7C
$GPZDA,162254.00,11,07,2006,00,00*63
so it would not get the next [ $GPRMC ] sentence for > a second.
C.