fdhwlib  2.0.25
Capture Proxy Server

The capture proxy server is intended to send capture messages if the trigger condition is met at the gpsclock capture inputs.

The only capture format supported by now is the format of the Meinberg GPS167. The pseudo serial device pair ptyc0 and ttyc0 are used to simulate the behaviour of a real Meinberg clock. In later version of the gpsserver other formats migh be added.

The intercative commands of the gpsserver provide a capture monitor to analyse the connected signal and the performance of the capture inputs. Due the limited bandwith of the communication port to the gpsclock (9600baud) a maximum frequency of only about 15Hz can be transfered to the gpsserver.

______________________________________________________________________________________________
                  845844063                              second errors =   0   nCaptured =  10
 t_PC   t_read                   capture edge   ch                           timing       rate
   ms       ms            s           ns  L-H          low ns    high ns  period ns         Hz
  295      892    845844062    403603659  |_     1             169980314  199976832   5.000579
  315      882    845844062    433600176   _|    1   29996517             199976831   5.000579
  335      732    845844062    603580490  |_     1             169980314  199976831   5.000579
  355      722    845844062    633577020   _|    1   29996530             199976844   5.000579
  375      572    845844062    803557322  |_     1             169980302  199976832   5.000579
  395      562    845844062    833553852   _|    1   29996530             199976832   5.000579
  415      412    845844063      3534153  |_     1             169980301  199976831   5.000579
  435      402    845844063     33530684   _|    1   29996531             199976832   5.000579
  455      252    845844063    203510987  |_     1             169980303  199976834   5.000579
  475      242    845844063    233507518   _|    1   29996531             199976834   5.000579

The ouptut for a 5Hz signal might look as show above. The header information is based on the !!F messages while every other line corresponds with a !!C message. The first two columns give the PC second fraction and the difference between PC time and time stamp. The time stamps in column three and four are time corrected (refer to Auger documentation).

Pseudo Terminals

Pseudo terminals are pairs of devices such as /dev/ptyc0 and /dev/ttyc0. There is no physical device directly associated with either of them, not even a serial port connector. But if a program treats ttyc0 like it was a serial port, what is read and written to that port appears on the other member of the pair (ptyc0) which another program uses to read and write to. Thus two programs talk to each other via this method and one program (on ttyc0) thinks it's talking to a serial port.

For a pseudo terminal pair such as ptyc0 and ttyc0, the pty... is the master or controlling terminal and the tty... is the slave. The master and slave are really the same "port" but the slave is used by the application program and the master is used by the gpsserver as capture proxy server and supplies the data to the slave port.

The pseudo terminal feature must be enabled in the kernel. Make sure the sections

 CONFIG_UNIX98_PTY (Character Devices)
 CONFIG_DEVPTY_FS  (Filesystems)

are enabled. The defined serial devices can be looked up in

cat /proc/tty/drivers

Capture Time Correction

There are two second strobe singals used by the gpsclock. One is coming from the oncore module (Second strobe B). This second strobe needs to be corrected by the sawtooth parameter. The second signal is delayed by an offset in the Auger FPGA (Second strobe A). The offset is given by the F-message. For the capture inputs only the first time base is used so the correection does not need to consider the offset. But there is another (constant) offset in the time measurement that can be measured connection second strobe B to the capture input.