[Tinyos-devel] TEP116 HIL/HAL discussion
Vlado Handziski
handzisk at tkn.tu-berlin.de
Thu May 15 11:55:36 PDT 2008
On Thu, May 15, 2008 at 8:34 PM, Philip Levis <pal at cs.stanford.edu> wrote:
>
> On May 15, 2008, at 11:27 AM, Vlado Handziski wrote:
>
>> The additional interfaces in the component are irrelevant for the discussion. Section 5 in the TEP talks about the same interfaces as in ActiveMessageC (btw. there seems to be two sections numbered 5 in the document). What I am saying is that the requirements listed in Section 5 are implementation detail for the HIL and have nothing to do with the HAL level interface. Why do you want to specify from above what the HAL for the radio components should look like and even what names they should have?
>
> To make platform definition simpler.
I am not sure if it makes it simpler, but more constrained than
necessary for sure.
>
>> The HAL interface can be completely different for each chip/platform and not contain any of the interfaces exported in ActiveMessageC. It can happen that a particular chip/platform HAL is so well aligned with the current HIL that they share those interfaces making the component be both HIL/HAL implementation, but in general this is not a requirement.
>
> But this has come up before. There can be more than one HAL interface. TEP 116 states that for a radio chip implementation to be compliant with 116, it MUST provide an AM abstraction.
Yes, but AM abstraction at HIL level. There is no need to constrain
the HAL solution. Maybe tomorrow a super duper chip will come out that
needs a completely different HAL to optimally access its capabilities.
Even in that case, there is going to be a set of HIL components
transforming the super duper HAL in our good old AM interfaces, thus
allowing our RadioCountToLeds to work on it without modifications.
>
> If CC2420ActiveMessageC is not a HAL, and it is also not a HIL, what is it?
>
It is a component belonging to the HIL layer. Again, there is a
difference between the platform independent interface at the top of
the HIL and the component composition forming the HIL layer and by
HIL layer component one understands all components used to transform a
HAL into this final platform independent interface.
Vlado
More information about the Tinyos-devel
mailing list