Thanks Phil, for looking into this. I did, however try Michael's approach, but it didn't help. I ended up with similar results.
It seems that it has something to do with the top level arbitration used by TempC. I made some modifications to the TempC files as to remove the top level arbitration, and only use the ADC resource given by AdcReadNowClientC, and it ended up working. At first I thought that it wasn't a shared device anymore, but it still checks if the resource is available before doing anything so I'm not sure if there's a down side to my approach. I'll attach the modified modules for reference. -Anderson On Fri, Apr 2, 2010 at 2:16 PM, Philip Levis <[email protected]> wrote: > > On Apr 2, 2010, at 10:36 AM, Michael Schippling wrote: > > > You probably need to make the ADC calls sequentially > > by calling one from the done of the other. I'm not sure > > that the lowlevel code is smart enough to queue the requests > > and there is only one actual ADC, which has a number of > > input channels that can be selected. > > No, in 2.x it's smart enough to do this -- that's what he meant by the "ADC > resource not being shared properly." David Gay was the original implementer > of this code -- I'll ping him to see what's going on. > > Phil
ThermistorC.nc
Description: Cdf file
SharedAdcC.nc
Description: Cdf file
SharedAdcP.nc
Description: Cdf file
ThermistorConfigC.nc
Description: Cdf file
ThermistorConfigP.nc
Description: Cdf file
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
