[LinuxPPS] Some help with linuxpps

Marc Leclerc marc_x at videotron.ca
Mon Mar 29 19:28:23 CEST 2010


Hi,

It has been an interesting day, I have 19 years of Windows programming
behind me and now going into my fourth Linux project and having some
good old fun. To make things a bit more interesting I am using an ARM
based embedded board (DIGI 9M-2443) running Linux 2.6.28.10 which I
guess is somewhat customized by them. 

So after reading, trying, patching and trying to make sense of all the
documents I read today and the past week (patch, git, eclipse, DIGI
add-on, mailing list, wiki to name a few) I have got to patch the Linux
version, got the environment to finally include the option in building
the kernel, got the kernel built with the linuxpps patch, got the debug
output from the ppstest scrolling the terminal and as I write this I
feel the day has been productive.

Though after all this I am left with questions which after many hours
spend reading are left answered (they may be present in the mailing list
but the lack of a search tool leads me to ask on the mailing list, sorry
if its there, I honestly spent a lot of time reading some of them). So,
I hope someone here can give me a little bit of help going through the
steps required to get this part of my project rolling. 

Some required informations about the environment.

Hardware: DIGI 9M-2443 (Samsung ARC chip) running Linux 2.6.28.10

/dev/ttyS0 is used as debug terminal
/dev/ttyS1 will be used to chat with Trimble's Resolution SMT chip using
the Rx/Tx lines
gpio port G pin 0 will be used for PPS input


Note these are not true serial ports (x86 world) they do implement Rx,
Tx, RTS, CTS (No DCD). 

It is also important to know that the chip for one uses a binary
protocol by default (TSIP) and can report UTC time directly as opposed
as GPS time. 

The unit is said to have 15ns accuracy and a PPS pulse of 125us. BTW we
have bought the development kit and I must say it is of pretty good
quality, there is an interface (Windows only) that allows to check the
device operation (Timing, Position, Number of satellite and even their
position) 

In any case I am not here to make a sale so just to say it did satisfy
our timing requirements and resistance to hostile environment. 

I have read in many posts the work of Rodolfo to include support for
embedded device which i appreciate. Hard work sometimes gets
acknowledged. Thanks for your work.

So my status is that the driver loads on startup

LinuxPPS API ver. 1 registered
Software ver. 5.3.5 - Copyright 2005-2007 Rodolfo Giometti
<giometti _AT_ linux.it> 


Though I get no pps entry in /dev

/ # ls /dev/pp*
ls: /dev/pp*: No such file or directory

I am left with the questions that follows.

I plan to use a gpio to connect the PPS pulse to my device PORT G pin 0
which can be configured as interrupt if that is required?. It also can
be map to /dev/gpio/83, also if required?. Here I cannot solve how to
have the device present (do I need an entry in /etc/makedevs.d?) and how
to configure the pin (interrupt or input) and the driver to use that
gpio. Is there a need for me to do some coding to get the precess going
or does the driver take care of this?

Second thing I guess I will need to add ntp to my system since right now
the daemon available is openntp? and from what I read this daemon seems
to use NMEA protocol and GPS time (not UTC). I may be totally wrong here
but I could not find and insurance for supporting my device with default
parameters (which also seems to be more efficient). Though the patch I
used is "ntp-pps-2.6.28-rc6-ter.diff" and I did not see any errors so
OpenNtp may have been patched ok.

If someone could take the time and help I would really appreciate it, if
there are informations missing for you to help, please let me know.

Thanks in advanced

Marc
        
        
        




More information about the LinuxPPS mailing list