Date: Mon, 6 Oct 1997 15:08:38 -0400 (EDT) From: Peter Dufault <dufault@hda.com> To: mdean@best.com (mdean) Cc: hackers@freebsd.org Subject: Re: A world of unexplored pain. Message-ID: <199710061908.PAA12422@hda.hda.com> In-Reply-To: <Pine.SGI.3.95.971005115758.2752B-100000@shellx.best.com> from mdean at "Oct 5, 97 12:21:38 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> > me to use some dedicated controller board) if that was all I wanted... I did something like this in 386bsd days for a combustion experiment. I ran the clock tick at 100 times HZ, and called an outside of the OS ticker at that rate and the OS every 100 times. This ticker was driving a stepper motor controlled throttle which it was microstepping. Every N times (I think about 5 seconds, so we're talking about N=500) it would also calculate a servo update for the throttle from sensors read in an A-D board. I used the clock on the A-D board to watch for lost ticks by setting it for something like (N + fudge) times the tick interval and verifying it wasn't pending when I got to the control. Communication with this "virtual board" was via a regular device driver that could set up profile schedules and so on via ioctls. We could telnet into the box, display status in a remote xterm, etc, without screwing things up. It was a hack but worked well. Things have grown a lot since then. -- Peter Dufault (dufault@hda.com) Realtime development, Machine control, HD Associates, Inc. Safety critical systems, Agency approval
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710061908.PAA12422>