Greg - On Wed, Nov 08, 2006 at 12:42:06PM +1100, Greg Cunningham wrote: > What about shifting the bit-banging into a IRQ/timer-driven kernel > module that sends smoke signals (not literally...) to user-land when the > tx/rx sequence is complete? a bit like a software UART emulation...
You still need to interrupt a processor (with all the cache contention implications) at least 100 times (and probably 300 real-time-response required interrupts, if there is no hardware help at all) to read out a temperature. The second of my implementations cuts that to only one. > maybe someone has already written 1-wire kernel code. Kernel, user-space, doesn't matter to the above observation. Do you want your processor to get some real work done, or take coffee-breaks every 60 microseconds? I put this code into service on a heavily loaded 300 MHz PowerPC, that had _other_ real-time demands on it. Just reading out temperatures shouldn't be a stressful operation. The one-bit-at-a-time minimal implementation was used when I had effectively zero free gates on the FPGA, and it was only used to read out a serial number at boot time, so CPU loading was irrelevant. - Larry _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user