04-26-2006 11:51 PM - edited 04-26-2006 11:51 PM
Message Edited by Dynamik on 04-26-2006 11:57 PM
Message Edited by Dynamik on 04-26-2006 11:58 PM
04-27-2006 12:04 AM
... Paint is missing JPG option on this box, but "Imaging" provided it...
anyway, here's the pic.
Cheers!
04-27-2006 01:56 AM
Well, that picture doesn't seem to be enough in helping to debug this issue (although I probably would have said the same if you posted it as 7.1), but the obvious thing to look for would be other places where the signaling event might be fired from. Other options include other events which are processed by the event structure and make that loop iterate.
BTW, BMP blocking is a good thing.
04-27-2006 03:14 AM
Hi tst,
Re: bmp blocking - at 16colors it was only 330K!
Anyway, I did look for other places the LocalBytesAtPort might be changed, but the FP indicator is only updated from one place - the producer loop via Value (signaling). After messing with it, it started working - but what did I do? I accidentally left a 11ms wait in the producer-loop!?
Re posting as 7.1, Looked over th VI to assess the damage (from missing VIs) if only top-level was supplied - not too bad...
To reiterate, [before 11ms timeout was added] the Error-case was executing every 1111ms, but Event handler was receiving a Value-change event for LocalBytesAtPort!
Leading-up to the error condition [w/out 11ms TO], there are several thousand Serial-Character VISA Events in rapid succession. I had a problem firing notifiers with for-loops without a wait, maybe this is related...
Cheers!
04-27-2006 12:23 PM
04-27-2006 02:52 PM
Could it be that you have many more events being fired than you thought and LV was just buffereing all of them?
If that is the case, the event structure will let you select the time of the event (in ms clock ticks) and that can be used to dispose of old events.
That is the only guess I can offer.
Ben
04-27-2006 10:15 PM
Hi Ben, tst,
Thanks for looking at it.
Thanks too, for tip re: [event] Time - haven't used it yet, but now that I know it's there...
Maybe event's do get queued, but these "faux-events" are triggering the consumer-loop at exactly the same frequency that the Error (time-out) case executes in the producer-loop, and the Value being signalled appears stuck at some specific value!(?)
Prior to the wierdness, we're watching the console output of a Linux OS booting, and the frequency of the serial events depends on that process. 10s of K-bytes scroll by causing (sans MS Wait) VISA Serial-Character events as fast as they can be detected and passed-on to the Event loop. After the OS boots, the [console] output stops completely, though the events continue[d]!
It's OK for the user to wait an extra 100ms for test results and probably silly not to have restrained the update-cycle. I'm gonna bump-up the delay, now that I think about it.
Cheers.