Hello,

I have a Garmin 18x LVC GPS receiver, which is connected to a serial RS232 port 
using a DB9 connector. This receiver outputs 1PPS signal on pin # 1 (DCD), in 
addition to the usual NMEA sentences on the transmit/receive pin. The computer 
is running linux mint debian edition (LMDE).

According to the setup instructions found here: 
https://www.rjsystems.nl/en/2100-ntpd-garmin-gps-18-lvc-gpsd.php, in step # 2 
the author instructs to edit the setserial configuration file in order to 
configure the serial port for "low_latency", explaining that modern UARTs have 
internal buffers, which slow down the serial port traffic by 5-10 ms. I 
question whether that really is necessary.

I am not very familiar with the serial hardware design, but my understanding is 
that the buffer is used for receiving and transmitting data, and under certain 
conditions such as when the buffers become nearly full, or when there is an 
error, or when there has been no data sent/received for some time and it times 
out, the hardware asserts an interrupt, which causes the CPU to retrieve and 
process the buffered data. This is all in reference to the data, which is NMEA 
sentences in my case. Is the 1PPS signal on DCD pin buffered as well? To me it 
makes any sense to store the 1PPS signal in the buffer... but I am no expert in 
this field, so not sure, and this brings me to my questions:

- Is the 1PPS signal buffered if "low_latency" is NOT set?
- Is it necessary to configure the serial port for "low_latency" if 1PPS signal 
is available on the DCD pin, when the goal is to maximize the accuracy of the 
1PPS signal?

I value your expert opinions, thank you in advance!

Sviatoslav

Reply via email to