[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, ¤tCrc, 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