Manuel Reimer <manuel.nulldev...@nurfuerspam.de> wrote: > On 10/05/2013 03:46 PM, Rob wrote: >> I use: >> server 127.127.8.0 mode 6 >> >> It works fine for me. > > I tried that and I still get the same errors. Then I rewired my receiver > to send out *noninverted* signals. Now I get: > > Oct 05 17:21:58 alarm ntpd[1075]: parse: convert_rawdcf: parity check > FAILED for "###############RADMLS1248124P124812P1248121241248112481248P" > Oct 05 17:21:58 alarm ntpd[1075]: PARSE receiver #1: FAILED TIMECODE: > "###############RADMLS1248124P124812P1248121241248112481248" (check > receiver configuration / wiring) > Oct 05 17:22:58 alarm ntpd[1075]: parse: convert_rawdcf: parity check > FAILED for "###############RADMLS1248124P124812P1248121241248112481248P" > Oct 05 17:22:58 alarm ntpd[1075]: PARSE receiver #1: FAILED TIMECODE: > "###############RADMLS1248124P124812P1248121241248112481248" (check > receiver configuration / wiring) > > Is someone here able to interpret this information? What's the problem? > I guess something with my UART port is wrong, but I only have this one > port (embedded system).
Can the serial port run at 50 baud? This is a requirement for this method of dcf parsing. Maybe the length of the divider register is insufficient to go that low. > > To be honest I currently tend to just make my self-written > Perl-script-DCF-parser (which works with this receiver wired to one of > the GPIO pins) set the system clock directly and then create a cron-job > to run the script once at 2AM. The accuracy of this solution would be > just OK for my needs. You can write a script that puts the parsed time in a shared memory segment and then configure ntpd to read that. It is configured in ntpd using: server 127.127.28.0 The data structure looks like this: struct shmTime { int mode; /* 0 - if valid set * use values, * clear valid * 1 - if valid set * if count before and after read of values is equal, * use values * clear valid */ int count; time_t clockTimeStampSec; int clockTimeStampUSec; time_t receiveTimeStampSec; int receiveTimeStampUSec; int leap; int precision; int nsamples; int valid; int pad[10]; }; You attach an SHM segment with name 0x4e545030 and set mode to 1, then increment count, put your time in the segment, increment count again and set valid to 1. _______________________________________________ questions mailing list questions@lists.ntp.org http://lists.ntp.org/listinfo/questions