On 5/18/07, Hugo Sousa <[EMAIL PROTECTED]> wrote:
In PhotoTempDeviceC there are two instances of PhotoTempControlP wired to
the same warmup timer. When the timer fires, both instances signal their own
instance of SplitControlPowerManagerC, but only the one that got the
resource from the sharing arbiter is supposed to to that, since it should
have only called the timer after having the resource granted. "Simultaneous"
reads of the Temp and Photo sensor will corrupt the second reader (because
the first reader had set the pins). In my case I just used a "tflag"
variable (similar purpose to rflag) to solve the problem.

Hmm, indeed there was various forms of brokenness in the photo/temp
sensors on the mts300. I've written a fix, it will be committed when I
can test it.

When readDone is signaled there are PhotoTempResource.release() and
SplitControl.stop() calls. Maybe this is only an architectural choice to
allow alternate access to the sensors, but in case there are N PhotoC()s and
M TempC()s and all of them decide to read at the same time, the total time
from the first read to the last readDone will be 10ms * (N+M); if the
sharing resource is kept to service all the PhotoCs and then all the TempCs,
the time will be 20ms

That call to SplitControl.stop should not have been in readDone (and
won't work right anyway).As it currently stands, all those requests
would complete in 20ms, but only the first one would work ;-)


David
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to