In Component AM, you should use "provides interface." If you use
""uses", IF will not be definied in AM. Then how can other components
be connected to it?
You can modify as follows:
>configuration A {
> provides interface IF[uint8_t id]; ====> Q.1
> ...
>implementation {
> components AM, ProvidesofIF;
> IF = AM.IF; ===> Q.2
> AM.IF -> ProvidesofIF; // the actual implementation of IF
>}
>module AM {
> uses interface IF[uint8_t id];
>
>implementation {
> ...
> void test() {
> call IF.some_command[0]();
>...
Hope it helps.
Regards,
Hui
On 8/13/2006, "Arijit Ghosh" <[EMAIL PROTECTED]> wrote:
>Hello all,
>
>Can I connect one component to multiple components
>through the same interface? Here is an example.
>
>I have B and C commected to A via interface IF.
>
>configuration B {
> provides interface IF;
>implementation {
> IF = BM.IF;
>}
>
>module BM {
> provides interface IF:
> ...
>}
>------
>C is defined like B
>
>configuration A {
> uses interface IF; ====> Q.1
> ...
>implementation {
> components AM;
> IF = AM.IF; ===> Q.2
>}
>
>module AM {
> uses interface IF[uint8_t id];
>
>implementation {
> ...
> void test() {
> call IF.some_command[0]();
>...
>}
>----------------------------
>I want to connect IF[0] of A to B and IF[1] of A to C.
>How do I do it?
>
>Q.1.: How do I define multiple instances of "uses"
>interface? If I say:
> interface IF[uint8_t id];
> I get an error: parse error before uint8_t;
>
>Q.2. : How do I equate the two interfaces?
>
>----------------
> ---
> | A |
> ---
> |
> |
> / \
> / \
> --- ---
> B C
>
>"Do the best you can, with what you have, where you are." -- Roosevelt
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam? Yahoo! Mail has the best spam protection around
>http://mail.yahoo.com
>_______________________________________________
>Tinyos-help mailing list
>[email protected]
>https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help