On Sun, 7 Jan 2018 17:20:07 +0100, "R.Wieser"
declaimed the following:
>
>Maybe an even simpler question, what is the commonly used method to capture
>such timed signals in Linux (Debian) ?
>
Linux is not considered a "real-time" OS, although some work has been
done to produce kernels that are more suited for RT applications.
Dedicated counter modules (which return the time between triggers as a
cycle count)...
Auxiliary processors meant for non-OS/RT usage (the chip used on the
BeagleBone Black has a pair of "PRU"s (programmable realtime unit) with a
fixed instruction cycle rate (all instructions take the same time)
optimized for writing I/O protocols. There are means for transferring data
from the PRU application memory to main (Linux) application memory.
An RPi-3 -- if you can set affinities for the cores -- might be an
approach. Put your timing application on a dedicated core, and leave the
other cores for regular stuff. Use shared memory or other IPC system to
transfer time-stamped/decoded IR.
Possibly tweak the "nice" level (into the "not-nice" range) to give
more priority to your process. This will tend to bog down regular
operations unless your app spends a lot of time sleeping/blocked for an I/O
event.
Or -- in the auxiliary processor realm -- wire in a PIC, AVR (Arduino
UNO), or something with an ARM M-series processor (TIVA C123 [M4f], Arduino
Duo [M3] or Zero [M0]) and rig a serial port (or fancier channel if you can
support it) to pass decoded data and time-stamps (note: since these don't
run a Time-of-Day clock, time-stamps would be system ticks since startup).
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|