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

dmm rincon at users.sourceforge.net
Wed Jun 7 12:34:21 PDT 2006


Update of /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook5/media/STM25P
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1867/contrib/rincon/apps/Blackbook5/media/STM25P

Modified Files:
	FlashBridgeC.nc Makefile FlashBridgeM.nc 
Log Message:
Uploaded Mark's fixes

Index: FlashBridgeC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook5/media/STM25P/FlashBridgeC.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** FlashBridgeC.nc	18 May 2006 22:34:20 -0000	1.1
--- FlashBridgeC.nc	7 Jun 2006 19:34:17 -0000	1.2
***************
*** 31,34 ****
--- 31,36 ----
   * to the parameterized interface unique("FlashBridge")
   * @author David Moss (dmm at rincon.com)
+  * @author Mark Kranz
+  *
   */
  
***************
*** 42,50 ****
  implementation {
    components FlashBridgeM, StateC, HALSTM25PC, TimerC;
    
    StdControl = FlashBridgeM;
    StdControl = TimerC;
    StdControl = HALSTM25PC;
- 
    
    FlashBridge = FlashBridgeM;
--- 44,56 ----
  implementation {
    components FlashBridgeM, StateC, HALSTM25PC, TimerC;
+ #ifdef STM25P_BOOMERANG_VERSION  
+   components new STM25PResourceC() as CmdReadCrcC;
+   FlashBridgeM.CmdReadCrc -> CmdReadCrcC;
+ #endif  
    
    StdControl = FlashBridgeM;
+   StdControl = StateC;
    StdControl = TimerC;
    StdControl = HALSTM25PC;
    
    FlashBridge = FlashBridgeM;
***************
*** 53,58 ****
--- 59,76 ----
    FlashBridgeM.State -> StateC.State[unique("State")];
    FlashBridgeM.Timer -> TimerC.Timer[unique("Timer")];
+ 
  }
  
  
  
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 

Index: Makefile
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook5/media/STM25P/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Makefile	18 May 2006 22:34:20 -0000	1.1
--- Makefile	7 Jun 2006 19:34:17 -0000	1.2
***************
*** 2,4 ****
  CFLAGS += -I../Format
  CFLAGS += -I../../../../tos/lib/State -I../../interfaces
! include $(TOSROOT)/apps/Makerules
--- 2,8 ----
  CFLAGS += -I../Format
  CFLAGS += -I../../../../tos/lib/State -I../../interfaces
! 
! # If you are using Boomerang, uncomment the following line:
! #CFLAGS += -DSTM25P_BOOMERANG_VERSION
! 
! include $(MAKERULES)

Index: FlashBridgeM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook5/media/STM25P/FlashBridgeM.nc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** FlashBridgeM.nc	18 May 2006 22:34:20 -0000	1.1
--- FlashBridgeM.nc	7 Jun 2006 19:34:17 -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;
***************
*** 93,97 ****
    
    command result_t StdControl.start() {
!     call Timer.start(TIMER_ONE_SHOT, 64);
      return SUCCESS;
    }
--- 98,102 ----
    
    command result_t StdControl.start() {
!     call Timer.start(TIMER_ONE_SHOT, 256);
      return SUCCESS;
    }
***************
*** 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