Rob, > 300us is getting on towards realtime.
Not really. Translated to a frequency (toggeling the pin) it would be just 1.6 KHz. Thats rather slow for an ARM machine running on 1.4 Ghz (about a million times as fast). > I've never tried it that fast. I've already got it running it using the standard sleep() command, but I would like to make the used delay value independant of the Pi board it runs on (had to tweak it when I went from a C++ program on a 3B to a python program on a 3B+). And possibly get a bit more stability of the output signal. > That said, I'll throw out a different option than the threading based ones > people have suggested. Trap SIGALRM with signal.signal and use > signal.setitimer to create an interval timer. (googeling it) Yup, looks like I have to try that out. Thanks. And that automaticaly repeating signal is pretty-much the best solution I can think of. > Also, does the rPi have any PWM or counter pins that you can just set and > forget, rather than trying to keep it going yourself? Not possible: the 300 uSec is the basic timing, but the pin isn't always changed on every tick of it (the result is a code train). Regards, Rudy Wieser -- https://mail.python.org/mailman/listinfo/python-list