[Tinyos-host-mote-wg] Re: Re[4]: [Tinyos-2.0wg] Aligning TEP 101 (ADC) with TEP 108 (Resource Arbitration) and 109 (Sensorboards)

Phil Levis pal at cs.berkeley.edu
Wed May 18 15:49:57 PDT 2005


On Wed, 2005-05-18 at 15:12, David Gay wrote:
> After some further (...) discussion with Phil, we managed to come up
> to some furthe degree of agreement (I think this is also closer to the
> TU Berlin view, comment if it isn't ;-)):
> 
> - the HAL for an ADC should provide parameterised AcquireData,
> AcquireDataNow, AcquireDataBuffered interfaces
>   Motivation: this conversion is going to have to happen somewhere,
> might as well do it once in the HAL
> 
> - Having a standard name (ADCC) for a HAL-level component that
> provides these AcquireData/etc interfaces is NOT useful
> 
> - The AcquireDataRoundRobinM , AcquireDataNowRoundRobinM are good
> components to place in lib/adc (these are generic modules to
> round-robin arbitration on parameterised AcquireData/Now interfaces)
> 
> - The ADC*.nc components currently in tos/system should be in
> platforms/mica or chips/ATmega128 (they are the ones which refer to
> the actual A/D conversion component)


The basic notions here are:

1) The ADC itself is not an HIL level component. Named sensors compose
the HIL interface (e.g., InternalTempC, HamamatsuC), etc. 
  o In the case where there are abstract sensors (e.g., the UCLA
mega-sensor board), they are given abstract names: MDASensorOne,
MDASensorTwo. Of course, in the MDA case, presenting them in such a
manner is kind of sketchy (generic sensors would requires configuration,
or HAL access), but you could do so, if you wanted.

2) Components in lib/adc should not refer to HAL components.
  o In the earlier implementation, AcquireDataRoundRobin wired to ADCC;
this meant that if your platform (for one of a variety of reasons) did
not have an ADCC component, you could not use lib/adc. Platform
independent names for HAL components is not a good route to go down.
  o Instead, the idea is that AquireDataRoundRobin is a generic module,
which the HAL can use. For example, platform/telosb might instantiation
an AcquireDataRoundRobin, which it puts InternalTemp, InternalVoltage,
and RadioSignalStrength on top of.

Phil

_______________________________________________
Tinyos-2.0wg mailing list
Tinyos-2.0wg at Mail.Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-2.0wg


More information about the Tinyos-host-mote-wg mailing list