[Tinyos-help] a problem about "Dissemination" in tinyos 2.0.1
Razvan Musaloiu-E.
razvanm at cs.jhu.edu
Thu May 17 13:20:20 PDT 2007
Hi!
You also need to call the start of the StdControl interface provided by
DisseminationC.
Here you can see a working example:
http://tinyos.cvs.sourceforge.net/tinyos/tinyos-2.x/apps/tests/TestDissemination/
Have a nice day!
Razvan ME
On Thu, 17 May 2007, eamin_winfor at 126.com wrote:
>
> hi all,
>
> I 'm studing tinyos2.0.1 and meet a problem about "Dissemination" .
> The problem is quite simple. I read the Tutorial 12, and compile the
> program which is similar to the program in the Tutorial 12, but it doese't work.
>
> Here is the program:
>
> #include <Timer.h>
> module EasyDisseminationC
> {
> uses interface Boot;
> uses interface DisseminationValue<uint16_t> as Value;
> uses interface DisseminationUpdate<uint16_t> as Update;
> uses interface SplitControl as AMControl;
>
> uses interface Timer<TMilli>;
> }
> implementation
> {
> uint16_t counter;
>
> task void ShowCounter()
> {
> dbg("Dissemination","Counter is %d.\n", counter);
> }
>
> event void Boot.booted()
> {
> dbg("Boot","Booted: The application started. \n");
> counter = 0;
> call AMControl.start();
> }
>
> event void AMControl.startDone(error_t err)
> {
> if (err == SUCCESS)
> {
> if (TOS_NODE_ID == 1)
> {
> call Timer.startPeriodic(100);
> }
> }
> else
> {
> dbg("Error","Error: The AMControl doesn't started. \n");
> call AMControl.start();
> }
> }
>
> event void AMControl.stopDone(error_t err)
> {
> dbg("Dissemination","STOP: Stop the application. \n\n");
> }
>
> event void Timer.fired()
> {
> counter = counter + 1;
> post ShowCounter();
> call Update.change(&counter);
> }
>
> event void Value.changed()
> {
> const uint16_t* newVal = call Value.get();
> counter = *newVal;
> post ShowCounter();
> }
>
> }
>
> It seems Update.change() does't work at all. I don't know why.
> And i remember the same program was fine under tinyos2.0.
> Any help would be appreciated.
>
> Eamin
>
>
More information about the Tinyos-help
mailing list