addInput(new Form_StaticText( 'Notes', 'Devices with a Pulse Per Second output such as radios that receive a time signal from DCF77 (DE), JJY (JP), MSF (GB) or WWVB (US) may be used as a PPS reference for NTP. ' . 'A serial GPS may also be used, but the serial GPS driver would usually be the better option. ' . 'A PPS signal only provides a reference to the change of a second, so at least one other source to number the seconds is required.' . '

' . 'At least 3 additional time sources should be configured under ' . '' . 'Services > NTP > Settings' . '' . ' to reliably supply the time of each PPS pulse.' )); $serialports = glob("/dev/cua?[0-9]{,.[0-9]}", GLOB_BRACE); if (!empty($serialports)) { $splist = array(); foreach ($serialports as $port) { $shortport = substr($port, 5); $splist[$shortport] = $shortport; } $section->addInput(new Form_Select( 'ppsport', 'Serial Port', $pconfig['port'], ['' => gettext('None')] + $splist ))->setHelp('All serial ports are listed, be sure to pick the port with the PPS source attached. '); } $section->addInput(new Form_Input( 'ppsfudge1', 'Fudge Time', 'text', $pconfig['fudge1'] ))->setHelp('Fudge time is used to specify the PPS signal offset from the actual second such as the transmission delay between the transmitter and the receiver (default: 0.0).'); $section->addInput(new Form_Input( 'ppsstratum', 'Stratum', 'text', $pconfig['stratum'] ))->setHelp('This may be used to change the PPS Clock stratum (default: 0). This may be useful to, for some reason, have ntpd prefer a different clock and just monitor this source.'); $section->addInput(new Form_Checkbox( 'ppsflag2', 'Flags', 'Enable falling edge PPS signal processing (default: unchecked, rising edge).', $pconfig['flag2'] )); $section->addInput(new Form_Checkbox( 'ppsflag3', null, 'Enable kernel PPS clock discipline (default: unchecked).', $pconfig['flag3'] )); $section->addInput(new Form_Checkbox( 'ppsflag4', null, 'Record a timestamp once for each second, useful for constructing Allan deviation plots (default: unchecked).', $pconfig['flag4'] )); $section->addInput(new Form_Input( 'ppsrefid', 'Clock ID', 'text', $pconfig['refid'], ['placeholder' => '1 to 4 characters'] ))->setHelp('This may be used to change the PPS Clock ID (default: PPS).'); $form->add($section); print($form); include("foot.inc");