[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/rincon/apps/Blackbook3/implementation/STM25P FlashBridgeC.nc, 1.1, 1.2 FlashBridgeM.nc, 1.1, 1.2

dmm rincon at users.sourceforge.net
Tue Apr 25 08:51:09 PDT 2006


Update of /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook3/implementation/STM25P
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28182/contrib/rincon/apps/Blackbook3/implementation/STM25P

Modified Files:
	FlashBridgeC.nc FlashBridgeM.nc 
Log Message:
Mark fixed this for Boomerang

Index: FlashBridgeC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook3/implementation/STM25P/FlashBridgeC.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** FlashBridgeC.nc	20 Apr 2006 23:03:32 -0000	1.1
--- FlashBridgeC.nc	25 Apr 2006 15:51:07 -0000	1.2
***************
*** 31,34 ****
--- 31,36 ----
   * to the parameterized interface unique("FlashBridge")
   * @author David Moss (dmm at rincon.com)
+  * @author Mark Kranz
+  *
   */
  
***************
*** 42,45 ****
--- 44,51 ----
  implementation {
    components FlashBridgeM, StateC, HALSTM25PC, TimerC;
+ #ifdef STM25P_BOOMERANG_VERSION  
+   components new STM25PResourceC() as CmdReadCrcC;
+   FlashBridgeM.CmdReadCrc -> CmdReadCrcC;
+ #endif  
    
    StdControl = FlashBridgeM;
***************
*** 58,59 ****
--- 64,76 ----
  
  
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 

Index: FlashBridgeM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook3/implementation/STM25P/FlashBridgeM.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** FlashBridgeM.nc	20 Apr 2006 23:03:32 -0000	1.1
--- FlashBridgeM.nc	25 Apr 2006 15:51:07 -0000	1.2
***************
*** 34,37 ****
--- 34,39 ----
   *
   * @author David Moss (dmm at rincon.com)
+  * @author Mark Kranz
+  *
   */
  
***************
*** 45,48 ****
--- 47,53 ----
    
    uses {
+ #ifdef STM25P_BOOMERANG_VERSION
+     interface ResourceCmd as CmdReadCrc;
+ #endif  
      interface HALSTM25P;
      interface State;
***************
*** 101,104 ****
--- 106,136 ----
    }
    
+ #ifdef STM25P_BOOMERANG_VERSION
+   uint8_t deferredId;
+   uint32_t deferredAddr, deferredLen;
+   void *deferredBuf;
+ 
+   event void CmdReadCrc.granted( uint8_t rh ) {
+     result_t returnResult = FAIL;
+ 
+     switch( call State.getState() ) {
+     case S_READ:
+       returnResult = call HALSTM25P.read(rh, deferredAddr, deferredBuf, deferredLen);
+       call State.toIdle();
+       signal FlashBridge.readDone[deferredId](deferredAddr, deferredBuf, deferredLen, returnResult);
+       break;
+     case S_GETCRC:  
+       currentCrc = 0;
+       returnResult = call HALSTM25P.computeCrc(rh, &currentCrc, currentCrc, deferredAddr, deferredLen);
+       call State.toIdle();
+       signal FlashBridge.crcDone[deferredId](currentCrc, deferredAddr, deferredLen, returnResult);
+       break;
+     }
+ 
+     call CmdReadCrc.release();
+   }
+ #endif
+ 
+ 
    
    /***************** FlashBridge Commands ****************/
***************
*** 110,114 ****
     * @return SUCCESS if the bytes will be read
     */
!   command result_t FlashBridge.read[uint8_t id](uint32_t addr, void *buf, uint32_t len) {
      result_t returnResult;
  
--- 142,158 ----
     * @return SUCCESS if the bytes will be read
     */
!   command result_t FlashBridge.read[uint8_t id](uint32_t addr, void *buf, uint32_t len) {   
! #ifdef STM25P_BOOMERANG_VERSION
!     if(call State.requestState(S_READ)) {
!       // save state and request resource
!       deferredId = id;
!       deferredAddr = addr;
!       deferredBuf = buf;
!       deferredLen = len;  
!       call CmdReadCrc.deferRequest();
!     } else {
!       return FAIL;
!     }      
! #else
      result_t returnResult;
  
***************
*** 117,124 ****
        call State.toIdle();
        signal FlashBridge.readDone[id](addr, buf, len, returnResult);
-       
      } else {
        return FAIL;
      }
      
      return SUCCESS;
--- 161,168 ----
        call State.toIdle();
        signal FlashBridge.readDone[id](addr, buf, len, returnResult);
      } else {
        return FAIL;
      }
+ #endif
      
      return SUCCESS;
***************
*** 199,202 ****
--- 243,256 ----
     */
    command result_t FlashBridge.crc[uint8_t id](uint32_t addr, uint32_t len) {
+ #ifdef STM25P_BOOMERANG_VERSION        
+     if(call State.requestState(S_GETCRC)) {
+       deferredId = id;  
+       deferredAddr = addr;
+       deferredLen = len;  
+       call CmdReadCrc.deferRequest();     
+     } else {
+       return FAIL;
+     }
+ #else
      result_t returnResult;
  
***************
*** 206,213 ****
        call State.toIdle();
        signal FlashBridge.crcDone[id](currentCrc, addr, len, returnResult);
-       
      } else {
        return FAIL;
      }
      
      return SUCCESS;
--- 260,267 ----
        call State.toIdle();
        signal FlashBridge.crcDone[id](currentCrc, addr, len, returnResult);
      } else {
        return FAIL;
      }
+ #endif 
      
      return SUCCESS;
***************
*** 293,294 ****
--- 347,359 ----
  
  
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 



More information about the Tinyos-contrib-commits mailing list