anandmudgerikar / tinyos-main

Automatically exported from code.google.com/p/tinyos-main
0 stars 0 forks source link

PowerCycleP__startRadio task in permanent re-post spin #51

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?

1. To see the issue add this LED toggle line (for TelosB) to the startRadio 
task in PowerCycleP.nc 
uint8_t startRadioCount=0;
task void startRadio() {
  if (startRadioCount++ == 0) P5OUT ^= BIT5; // toggle green LED every 256 calls
  ...
}

2. At this point, load apps/tests/TestNetworkLpl onto a TelosB mote. Note that 
the green LED toggles rapidly for 512ms (one sleep interval) at boot up. The 
next steps show how it can be put into a permanent spin by turning off low 
power listening during this interval.

3. Change the TestNetworkLplC timer to start between 100 and 600 ms.
In TestNetworkLplC.nc line 78.
//call Timer.startOneShot(call Random.rand32() % SEND_INTERVAL);
call Timer.startOneShot(100);

4. Set the local wakeup interval to 0 when the timer fires.
In TestNetworkLplC.nc line 121
event void Timer.fired() {
    uint32_t nextInt;
    call LowPowerListening.setLocalWakeupInterval(0);
    ...
}

What is the expected output? What do you see instead?

The green LED, indicating repeated calls to the startRadio task, should not 
toggle repeatedly. After step 2 it rapidly toggles for 512ms. After step 4, it 
rapidly toggles permanently.

What version of the product are you using? On what operating system?

2.1.1 and svn 

Please provide any additional information below.

startRadio re-posts itself under the following condition:
if(call SubControl.start() != SUCCESS) {
      post startRadio();
}

However, between about 100 and 600 ms SubControl.start() returns EALREADY, 
because the radio has already been started. Setting the sleep interval to 0 
causes the radio to always be on, so SubControl.start() will always return 
EALREADY or EBUSY.

Original issue reported on code.google.com by matthew....@gmail.com on 9 Aug 2011 at 11:58

GoogleCodeExporter commented 8 years ago

Original comment by philip.l...@gmail.com on 10 Aug 2011 at 4:53

GoogleCodeExporter commented 8 years ago
Applied and tested a fix.

Original comment by philip.l...@gmail.com on 25 Aug 2011 at 4:22