Thank you again,
I understand what you are saying .. fairly clearly and appreciated very, very much. I am not fixated :)
I'm going to get my tail-end kicked around for saying this .. think about it as modular programming :) I understand it might even take a little longer (Windows overhead). Fully aware I am outgunned/outsmarted and generally 'outed' in many aspects ;)
And going waaaaaaaaaaaaaaaaaaaay off topic.
Created 14 instances of the same video intensive program to load the CPU (Via 1.2 .. actually rates at ~800MHz). Win98SE running from 256MB Flash/512MB SRAM. Developing on a 1GB MicroDrive then to FLASH (faster also). Bogged CPU down a tad but OK (max 30%, zip mem). The 30% were 'peaks' occuring at regular intervals (~6 seconds), down to near 0 and then back up .. Windows/Blitz (points to Blitz) is up to something .. dunno (garbage collection, reallocating resources?). And the larger I made the windows, the higher the CPU utilzation. Geez :) Have not been tinkering with "Windows" programming for long and Blitz for less so hazarding guess's based on observation.
Might as well open the can of worms and explain the project somewhat:
One 16MHz uC on the far end of each USB.
One
http://www.ftdichip.com/Documents/ds245b14.pdf per uC. max 8Mbit per second, 384 Byte FIFO Tx buffer/128 Byte FIFO Rx buffer .. won't even come close to filling them. ~16 bytes max either buffer .. on a bad day. Each 'processor' on either side of the USB chip will work at max speed. The uC will do the precalcs on any values from the uC's ADC's. The uC will rcv precalc'd PWM information from the PC.
Won't be 'polling' in the usual sense .. using the "Send Immediate" Pin will let the PC know there is something to Rcv, as soon as that is done it will Xmit and then 'instance(s)' will go about its business. I, well .. "it", is reacting to inbound data stream (near nil user input). The sequential nature of the USB R/W's and the minimal (time relative) calcs on the rcv'd data helps out. What doesn't is the devices(s) on the other side of the uC's will vary in frequency .. considerably.
The point I don't "get" with the 'all in one' (main) solution is any delays/etc effect the whole program. I do not know how B+ handles concurrent events ... particularly delays of any sort. The little experiment mentioned above (and a few others) has me pounding on the keyboard with one hand and scratching my head with the other as I can't sort out what kind of 'concurrancy' (if any?) Blitz is doing.
Anyone have a working model of a non-jittery, fast acting tachometer? I've tried, come close (red needles are embedded on my brain and have had some real interesting unintended "special effects" :), but off the mark. A swinging needle seems to be a curse of mine .. see them in games.
I'll give the suggestions a shot. May not be able to do until this weekend. In the meantime I am switching to LIME GREEN needles :)
Take care and thanks again,
Jim