I couldn't make externs work between components either...
So I have used an interface in each component that takes a pointer
to the variable in question and saves it locally. Each component
then does an indirect access to the variable through the pointer.
e.g.:
in comp1 --
long stuff;
setup()
{
call comp2.setVariable( &stuff );
}
in comp2 --
long *stuffp;
setVariable( long *p )
{
// save pointer
stuffp = p;
// set variable to something
*stuffp = 0xDADABABE;
}
However it has occurred to me that one should be able to do it via
a shared header file, and I just tried it. This actually compiles
and looking at the app.c output it seems ok, but I don't know if it
really works because I haven't run the code...
in header.h --
#ifndef DEFED
uint16_t monstate;
#define DEFED
#endif // DEFED
extern uint16_t monstate;
in each component --
includes header;
....
implementation
{
// use "global" variable
monstate = 0xBEEF;
}
If you try the header method, let me know how it goes...
MS
[EMAIL PROTECTED] wrote:
hi,
I m trying how ti share a variable between two components. I m using
global variable concept, but not working. Did anyone like this or any
other method is there?
Thanks,
kiran.
_______________________________________________
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