[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/power AsyncDeferredPowerManagerP.nc, 1.1.2.2.6.1, 1.1.2.2.6.2 AsyncPowerManagerP.nc, 1.1.2.3.2.1, 1.1.2.3.2.2 DeferredPowerManagerP.nc, 1.1.2.4.6.1, 1.1.2.4.6.2 PowerManagerP.nc, 1.1.2.3.2.1, 1.1.2.3.2.2

Kevin Klues klueska at users.sourceforge.net
Wed Jun 7 03:47:19 PDT 2006


Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/power
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30188/tos/lib/power

Modified Files:
      Tag: tos-2-resource-pm-eval-cand
	AsyncDeferredPowerManagerP.nc AsyncPowerManagerP.nc 
	DeferredPowerManagerP.nc PowerManagerP.nc 
Log Message:
changes to the Resource and PowerManager interfaces as discussed in the meeting on may 19th.

Index: AsyncDeferredPowerManagerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/power/Attic/AsyncDeferredPowerManagerP.nc,v
retrieving revision 1.1.2.2.6.1
retrieving revision 1.1.2.2.6.2
diff -C2 -d -r1.1.2.2.6.1 -r1.1.2.2.6.2
*** AsyncDeferredPowerManagerP.nc	15 May 2006 18:23:14 -0000	1.1.2.2.6.1
--- AsyncDeferredPowerManagerP.nc	7 Jun 2006 10:47:17 -0000	1.1.2.2.6.2
***************
*** 67,71 ****
    norace struct {
     uint8_t stopping :1;
-    uint8_t requested :1;
    } f; //for flags
  
--- 67,70 ----
***************
*** 76,93 ****
    command error_t Init.init() {
      f.stopping = FALSE;
!     f.requested = FALSE;
!     call ResourceController.immediateRequest();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
      if(f.stopping == FALSE) {
        call AsyncStdControl.start();
!       call ResourceController.release();
      }
!     else atomic f.requested = TRUE;
!   }
  
!   event void ResourceController.idle() {
      if(!(call ArbiterInfo.inUse()))
        post timerTask();
--- 75,95 ----
    command error_t Init.init() {
      f.stopping = FALSE;
!     call ResourceController.request();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
+     call AsyncStdControl.start();
+     call ResourceController.release();
+   }
+ 
+   async event void ResourceController.immediateRequested() {
      if(f.stopping == FALSE) {
        call AsyncStdControl.start();
!       call ResourceController.immediateRelease();
      }
!   }  
  
!   async event void ResourceController.idle() {
      if(!(call ArbiterInfo.inUse()))
        post timerTask();
***************
*** 95,110 ****
  
    event void TimerMilli.fired() {
!     if(call ResourceController.immediateRequest() == SUCCESS) {
        f.stopping = TRUE;
        call PowerDownCleanup.cleanup();
        call AsyncStdControl.stop();
-     }
-     if(f.requested == TRUE) {
-       call AsyncStdControl.start();
-       call ResourceController.release();
-     }
-     atomic {
        f.stopping = FALSE;
-       f.requested = FALSE;
      }    
    }
--- 97,105 ----
  
    event void TimerMilli.fired() {
!     if(call ResourceController.request() == SUCCESS) {
        f.stopping = TRUE;
        call PowerDownCleanup.cleanup();
        call AsyncStdControl.stop();
        f.stopping = FALSE;
      }    
    }

Index: AsyncPowerManagerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/power/Attic/AsyncPowerManagerP.nc,v
retrieving revision 1.1.2.3.2.1
retrieving revision 1.1.2.3.2.2
diff -C2 -d -r1.1.2.3.2.1 -r1.1.2.3.2.2
*** AsyncPowerManagerP.nc	15 May 2006 18:23:15 -0000	1.1.2.3.2.1
--- AsyncPowerManagerP.nc	7 Jun 2006 10:47:17 -0000	1.1.2.3.2.2
***************
*** 62,94 ****
    norace struct {
      uint8_t stopping :1;
-     uint8_t requested :1;
    } f; //for flags
    
    command error_t Init.init() {
!     call ResourceController.immediateRequest();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
      if(f.stopping == FALSE) {
        call AsyncStdControl.start();
!       call ResourceController.release();
      }
-     else atomic f.requested = TRUE;    
    }
  
!   event void ResourceController.idle() {
!     if(call ResourceController.immediateRequest() == SUCCESS) {
        atomic f.stopping = TRUE;
        call PowerDownCleanup.cleanup();
        call AsyncStdControl.stop();
!     }
!     if(f.requested == TRUE) {
!       call AsyncStdControl.start();
!       call ResourceController.release();
!     }
!     atomic {
!       f.stopping = FALSE;
!       f.requested = FALSE;
      }
    }
--- 62,90 ----
    norace struct {
      uint8_t stopping :1;
    } f; //for flags
    
    command error_t Init.init() {
!     call ResourceController.request();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
+     call AsyncStdControl.start();
+     call ResourceController.release();  
+   }
+ 
+   async event void ResourceController.immediateRequested() {
      if(f.stopping == FALSE) {
        call AsyncStdControl.start();
!       call ResourceController.immediateRelease();
      }
    }
  
!   async event void ResourceController.idle() {
!     if(call ResourceController.request() == SUCCESS) {
        atomic f.stopping = TRUE;
        call PowerDownCleanup.cleanup();
        call AsyncStdControl.stop();
!       atomic f.stopping = FALSE;
      }
    }

Index: DeferredPowerManagerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/power/Attic/DeferredPowerManagerP.nc,v
retrieving revision 1.1.2.4.6.1
retrieving revision 1.1.2.4.6.2
diff -C2 -d -r1.1.2.4.6.1 -r1.1.2.4.6.2
*** DeferredPowerManagerP.nc	15 May 2006 18:23:15 -0000	1.1.2.4.6.1
--- DeferredPowerManagerP.nc	7 Jun 2006 10:47:17 -0000	1.1.2.4.6.2
***************
*** 71,78 ****
    } f; //for flags
  
-   task void startTask() { 
-     call StdControl.start();
-     call SplitControl.start();
-   }
    task void timerTask() { 
      call TimerMilli.startOneShot(delay); 
--- 71,74 ----
***************
*** 82,95 ****
      f.stopping = FALSE;
      f.requested = FALSE;
!     call ResourceController.immediateRequest();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
!     if(f.stopping == FALSE)
!       post startTask();
      else atomic f.requested = TRUE;
    }
  
    default command error_t StdControl.start() {
      return SUCCESS;
--- 78,96 ----
      f.stopping = FALSE;
      f.requested = FALSE;
!     call ResourceController.request();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
!     if(f.stopping == FALSE) {
!       call StdControl.start();
!       call SplitControl.start();
!     }
      else atomic f.requested = TRUE;
    }
  
+   async event void ResourceController.immediateRequested() {
+   }
+ 
    default command error_t StdControl.start() {
      return SUCCESS;
***************
*** 104,108 ****
    }
  
!   event void ResourceController.idle() {
      if(!(call ArbiterInfo.inUse()))
        post timerTask();
--- 105,109 ----
    }
  
!   async event void ResourceController.idle() {
      if(!(call ArbiterInfo.inUse()))
        post timerTask();
***************
*** 110,114 ****
  
    event void TimerMilli.fired() {
!     if(call ResourceController.immediateRequest() == SUCCESS) {
        f.stopping = TRUE;
        call PowerDownCleanup.cleanup();
--- 111,115 ----
  
    event void TimerMilli.fired() {
!     if(call ResourceController.request() == SUCCESS) {
        f.stopping = TRUE;
        call PowerDownCleanup.cleanup();

Index: PowerManagerP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/power/Attic/PowerManagerP.nc,v
retrieving revision 1.1.2.3.2.1
retrieving revision 1.1.2.3.2.2
diff -C2 -d -r1.1.2.3.2.1 -r1.1.2.3.2.2
*** PowerManagerP.nc	15 May 2006 18:23:15 -0000	1.1.2.3.2.1
--- PowerManagerP.nc	7 Jun 2006 10:47:17 -0000	1.1.2.3.2.2
***************
*** 62,76 ****
  
    norace struct {
!    uint8_t stopping :1;
!    uint8_t requested :1;
!   } f; //for flags
  
!   task void startTask() { 
!     call StdControl.start();
!     call SplitControl.start();
!   }
!   task void stopTask() { 
!     call StdControl.stop(); 
!     call SplitControl.stop(); 
    }
  
--- 62,72 ----
  
    norace struct {
!     uint8_t stopping :1;
!     uint8_t requested :1;
!   } f;
  
!   task void stopTask() {
!     call StdControl.stop();
!     call SplitControl.stop();    
    }
  
***************
*** 78,89 ****
      f.stopping = FALSE;
      f.requested = FALSE;
!     call ResourceController.immediateRequest();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
!     if(f.stopping == FALSE)
!       post startTask();
!     else atomic f.requested = TRUE;
    }
    
--- 74,89 ----
      f.stopping = FALSE;
      f.requested = FALSE;
!     call ResourceController.request();
      return SUCCESS;
    }
  
    event void ResourceController.requested() {
!     if(f.stopping == FALSE) {
!       call StdControl.start();
!       call SplitControl.start();
!     }
!     else f.requested = TRUE;
!   }
!   async event void ResourceController.immediateRequested() {
    }
    
***************
*** 100,105 ****
    }
    
!   event void ResourceController.idle() {
!     if(call ResourceController.immediateRequest() == SUCCESS) {
        f.stopping = TRUE;
        call PowerDownCleanup.cleanup();
--- 100,105 ----
    }
    
!   async event void ResourceController.idle() {
!     if(call ResourceController.request() == SUCCESS) {
        f.stopping = TRUE;
        call PowerDownCleanup.cleanup();



More information about the Tinyos-2-commits mailing list