Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Mar 2016 07:54:36 +0100
From:      =?utf-8?Q?Peter_Ankerst=C3=A5l?= <peter@pean.org>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Karl Denninger <karl@denninger.net>, freebsd-stable@freebsd.org
Subject:   Re: PPS input on a generic GPIO pin on Raspberry Pi.
Message-ID:  <EDF36350-65A9-4DB8-886E-6BCD852F2CE6@pean.org>
In-Reply-To: <1457114408.13785.150.camel@freebsd.org>
References:  <8C90C80B-AC5F-4B12-8E84-84193B8C55C4@pean.org> <56D9BDB6.6040903@denninger.net> <1457114408.13785.150.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail-0307F1A2-4FAC-40ED-BC1A-2A8F9D7D194A
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable



> On 4 mars 2016, at 19:00, Ian Lepore <ian@freebsd.org> wrote:
>=20
>> On Fri, 2016-03-04 at 10:54 -0600, Karl Denninger wrote:
>>> On 3/3/2016 12:57, Peter Ankerst=C3=A5l wrote:
>>> Hi!
>>>=20
>>> I have sort of exactly the same question as Erik:
>>> http://lists.freebsd.org/pipermail/freebsd-questions/2014-July/2590
>>> 55.html
>>>=20
>>> I have bought a https://learn.adafruit.com/adafruit-ultimate-gps an
>>> d want to use the PPS output to discipline my clock.
>>>=20
>>> But the only source of information on how PPS works in FreeBSD I
>>> could find is this:=20
>>> https://docs.freebsd.org/doc/8.0-RELEASE/usr/share/doc/ntp/pps.html
>>> and it clearly states the two ways to provide a PPS signal. "The
>>> PPS signal can be connected in either of two ways: via the data
>>> carrier detector (DCD) pin of a serial port or via the acknowledge
>>> (ACK) pin of a parallel port=E2=80=9D
>>>=20
>>> Since the Pi doesn=C2=B4t have any DCD pin i would like to use a generic=

>>> GPIO for this. There is a linux kernel module for this: http://lxr.
>>> free-electrons.com/source/drivers/pps/clients/pps-gpio.c?v=3D3.6
>> GPIO is supported on the Pi, I'm using it on 11-Current on my home
>> control software to drive relays on my pool hardware (e.g. valves,
>> heater, VFD motor drive, etc) and it is working very well.  I don't
>> believe tapping into that at the kernel level to expose a pps signal
>> (e.g. on /dev/pps or something of the like) would be very difficult
>> at
>> all, since the low-level driver capability is already present.
>>=20
>> If I get some free time I'll dig around a bit and see if I can cobble
>> something up.  It's of some interest to me as well since I have a GPS
>> clock here that currently talks to a serial port on an Intel-based
>> machine and being able to move that to a $35 "appliance" for NTP
>> using
>> the Adafruit setup looks sort of attractive given that the Pi plus
>> the
>> module would be under $100 all-in.
>=20
> Don't "cobble something up" just yet... there is "a right way" to fix
> this, which is a generic gpio-pps driver.  The problem is that it
> requires support from the new INTRNG, and the rpi hasn't been converted
> to that yet.  I'm checking around to see if someone has done the
> conversion for rpi and it just hasn't been reveiwed/committed yet; if
> not, I guess I'll try to do it myself.
>=20
> Writing the actual gpio-pps driver will be pretty quick and easy once
> we have the intrng support, I think it'll take me a couple hours.
>=20
Oh, so there is hope. Thanks for looking into it.=20

Im not a programmer myself but im willing to help if I can.=20

> Also, FYI, another option with PPS is to use a usb-serial adapter and
> feed the PPS in on the CTS or DCD pin.  I tested that on rpi a few
> months ago and it worked fine.  There's surpisingly little jitter even
> when the usb bus is heavily loaded with other traffic such as disk or
> network IO.
>=20
Yes that was going to be my plan B. Good to know that it works.

/Peter.=20=

--Apple-Mail-0307F1A2-4FAC-40ED-BC1A-2A8F9D7D194A
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Disposition: attachment;
	filename=smime.p7s
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGHDCCBhgw
ggUAoAMCAQICAwytFTANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0
YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcx
ODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENB
MB4XDTE1MDEyMDIzMzMxNloXDTE2MDEyMTE5NDgzOVowODEXMBUGA1UEAwwOcGV0ZXJAcGVhbi5v
cmcxHTAbBgkqhkiG9w0BCQEWDnBldGVyQHBlYW4ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAwTIUUlN/a5KZCwsiy2W2RmQAuA9utUthnfHU2nrf7KqLx7pPwew/rV//AivhXvU9
SsBSJnDChoZV5w9zWgCZg92hBYtsQ5ocrQZ3nDUwozgrqFb7m5Meda7KoMfYMGb9Zu0XWtwPz2AV
fIQA5BhtGQmX08HMAbZkXGZQ8oBF/g7s66OPqDJ/82dkfLagNaPits4zaEhb7Q+pGaa+TkrSXVgH
9Vdlt8t/3izAuQ64ut05NKRZVlljzqIRZB9rPTuSOl6TiViU7Di2s3Im+f1XDv8KmjhgJ/x6rwr/
hS1+PdLgzs64t3i4arkjHAvzzNDUiY8gSK6BKIbAmiJAUPHFjwIDAQABo4IC1DCCAtAwCQYDVR0T
BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdDgQW
BBQ88B0SKeTq4DR77Bl6Whd79uDBMTAfBgNVHSMEGDAWgBRTcu2SnODaywFcfH6WNU7y1LhRgjAZ
BgNVHREEEjAQgQ5wZXRlckBwZWFuLm9yZzCCAUwGA1UdIASCAUMwggE/MIIBOwYLKwYBBAGBtTcB
AgMwggEqMC4GCCsGAQUFBwIBFiJodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kucGRmMIH3
BggrBgEFBQcCAjCB6jAnFiBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgEBGoG+
VGhpcyBjZXJ0aWZpY2F0ZSB3YXMgaXNzdWVkIGFjY29yZGluZyB0byB0aGUgQ2xhc3MgMSBWYWxp
ZGF0aW9uIHJlcXVpcmVtZW50cyBvZiB0aGUgU3RhcnRDb20gQ0EgcG9saWN5LCByZWxpYW5jZSBv
bmx5IGZvciB0aGUgaW50ZW5kZWQgcHVycG9zZSBpbiBjb21wbGlhbmNlIG9mIHRoZSByZWx5aW5n
IHBhcnR5IG9ibGlnYXRpb25zLjA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0c3Ns
LmNvbS9jcnR1MS1jcmwuY3JsMIGOBggrBgEFBQcBAQSBgTB/MDkGCCsGAQUFBzABhi1odHRwOi8v
b2NzcC5zdGFydHNzbC5jb20vc3ViL2NsYXNzMS9jbGllbnQvY2EwQgYIKwYBBQUHMAKGNmh0dHA6
Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3N1Yi5jbGFzczEuY2xpZW50LmNhLmNydDAjBgNVHRIE
HDAahhhodHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS8wDQYJKoZIhvcNAQELBQADggEBACJEwwgTiszy
cwG0jpVH1tbpXXGIoVOV7WEFqfB0VJ2cWiGUrggnRH4uIjh1LrP1UP0GAARk3UxJZYWdABK8WUXc
aowp4UxkPUhlSk1ebuGaxqkntmkL8dz8p5D8Qf9DAgjRX6/5IJuqSSIGpySmVzVS7fMU65MM5SbV
l1Qi15t7Bjf/BYdfH/QcUSVE8m0exndVlG7IFMm0GMlxBSH2nAJi+bRhwI3BplZA5XrXCMDMGklB
xQuTYc7mZa50mgjtfm5GTSUtJnoD5MP7yd1w26bRXTowEG0H1KPI0iiDyCRF0cZqx0MfryU2EBTg
huFZqVmiqJNStdBmRawG4b8CaGExggNvMIIDawIBATCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNV
BAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp
Z25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xp
ZW50IENBAgMMrRUwCQYFKw4DAhoFAKCCAa8wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkq
hkiG9w0BCQUxDxcNMTYwMzA1MDY1NDM2WjAjBgkqhkiG9w0BCQQxFgQUZp1dwpBH8qOGxSlodL7G
ULsEywswgaUGCSsGAQQBgjcQBDGBlzCBlDCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2
BgNVBAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgQ2xpZW50IENBAgMM
rRUwgacGCyqGSIb3DQEJEAILMYGXoIGUMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAwyt
FTANBgkqhkiG9w0BAQEFAASCAQCZHaXmP8VW7PJoPYvrA1cciAu3jMku7koO9kF0Xzm7z+wiv+aM
ia19mQQyc0isW3UB3bBuqQNvGQ31HF1U10CdcSCxtLoqaR8aGiJyBxV9uzbCwXRVIqPnyt6nDHIZ
+hyNTb6dO9gkECUNC5sLc1miMwkNktTW6qai+vIHqWYGUogVNn1kxwnbXmmPfnjMamg9Ljt+1eM8
MN+Q3fXNZwKF9+Kzv9noGBvCQnqLEzJZX1KX5hXfAwQHYb7oWtYJyb35JnPz46WZgQcxwzIj/I2k
ZQG5dpVO46GA6T1wptf20ahZQymI2LC6zGHnexYJGG1c3fYBQfJg1YAVcHfuF/iFAAAAAAAA
--Apple-Mail-0307F1A2-4FAC-40ED-BC1A-2A8F9D7D194A--





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EDF36350-65A9-4DB8-886E-6BCD852F2CE6>