Hello,

I have an application with the following structure:

In MyProgAppC.nc:
MyProgC.Output -> SerialOutC.Output;

In SerialOutC.nc:
components MySenderP;

Output = SerialOutP;

MySenderP.AMControl -> Serial;
MySenderP.Packet -> Serial;
etc. etc.

The idea behind this design is that SerialOutC can be interchanged with RadioOutC, i.e. the output interface can be changed by a simple rewiring in MyProgAppC.nc (from Serial to Radio). MySenderP is a component that is generic in that it works with both the RadioOutC and SerialOutC components.

This structure worked successfully until I attempted to integrate the T2 Collection protocol into RadioOutC. Since MySenderP calls AMControl.start() to start the interface (necessary for Serial and Radio), it runs into errors when working with Collection, which has a StdControl interface (which has start(), and stop() functions). The problem is that I have implemented AMControl.startDone() and stopDone() events in MySenderP (for the Serial interface). However, these events aren't present in the Collection StdControl interface and the compiler complains thusly. Additionally, is there any reason the control interface is named StdControl in the Collection component and SplitControl in the Radio and Serial components? This again creates a discrepancy when switching back and forth between a Collection-enabled Radio component and Serial output component.

Any suggestions for getting around this? Thanks for the help.

Cheers,

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

Reply via email to