[Tinyos-beta-commits] CVS: tinyos-1.x/beta/STM25P/STM25P HALSTM25PM.nc, 1.3, 1.4

Jonathan Hui jwhui at users.sourceforge.net
Tue Apr 26 16:58:52 PDT 2005


Update of /cvsroot/tinyos/tinyos-1.x/beta/STM25P/STM25P
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11918

Modified Files:
	HALSTM25PM.nc 
Log Message:
- Removed an unecessary use of a task. Makes the code more
robust. Potentially saves 1 byte of RAM.



Index: HALSTM25PM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/STM25P/STM25P/HALSTM25PM.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** HALSTM25PM.nc	18 Mar 2005 01:12:50 -0000	1.3
--- HALSTM25PM.nc	26 Apr 2005 23:58:49 -0000	1.4
***************
*** 44,52 ****
    };
  
    stm25p_sig_t signature;
    uint16_t returnVal;
    uint8_t curCmd;
-   volume_t curVolume;
-   storage_result_t signalResult;
  
    void sendCmd(uint8_t cmd, stm25p_addr_t addr, uint8_t* data, stm25p_addr_t len);
--- 44,51 ----
    };
  
+   volume_t curVolume;
    stm25p_sig_t signature;
    uint16_t returnVal;
    uint8_t curCmd;
  
    void sendCmd(uint8_t cmd, stm25p_addr_t addr, uint8_t* data, stm25p_addr_t len);
***************
*** 61,84 ****
    command result_t StdControl.stop() { return SUCCESS; }
  
!   void actualSignalDone() {
      uint8_t tmpCmd = curCmd;
      curCmd = S_POWERON;
  
      switch(tmpCmd) {
!     case STM25P_PP: signal HALSTM25P.pageProgramDone[curVolume](signalResult); break;
!     case STM25P_SE: signal HALSTM25P.sectorEraseDone[curVolume](signalResult); break;
!     case STM25P_BE: signal HALSTM25P.bulkEraseDone[curVolume](signalResult); break;
!     case STM25P_WRSR: signal HALSTM25P.writeSRDone[curVolume](signalResult); break;
!     }
!   }
! 
!   task void signalDone() {
!     actualSignalDone();
!   }
! 
!   void checkPost(bool result) {
!     if (result == FAIL) {
!       signalResult = STORAGE_FAIL;
!       actualSignalDone();
      }
    }
--- 60,72 ----
    command result_t StdControl.stop() { return SUCCESS; }
  
!   void signalDone(result_t result) {
      uint8_t tmpCmd = curCmd;
      curCmd = S_POWERON;
  
      switch(tmpCmd) {
!     case STM25P_PP: signal HALSTM25P.pageProgramDone[curVolume](result); break;
!     case STM25P_SE: signal HALSTM25P.sectorEraseDone[curVolume](result); break;
!     case STM25P_BE: signal HALSTM25P.bulkEraseDone[curVolume](result); break;
!     case STM25P_WRSR: signal HALSTM25P.writeSRDone[curVolume](result); break;
      }
    }
***************
*** 97,105 ****
    task void checkWriteDone() {
      if (isWriting()) {
!       checkPost(post checkWriteDone());
        return;
      }
!     signalResult = STORAGE_OK;
!     checkPost(post signalDone());
    }
  
--- 85,93 ----
    task void checkWriteDone() {
      if (isWriting()) {
!       if (post checkWriteDone() == FAIL)
! 	signalDone(STORAGE_FAIL);
        return;
      }
!     signalDone(STORAGE_OK);
    }
  
***************
*** 190,197 ****
  
      // setup check for write done
!     if (curCmd == STM25P_WRSR || curCmd == STM25P_PP || curCmd == STM25P_SE || curCmd == STM25P_BE)
!       checkPost(post checkWriteDone());
!     else
        curCmd = S_POWERON;
  
      return SUCCESS;
--- 178,190 ----
  
      // setup check for write done
!     if (curCmd == STM25P_WRSR || curCmd == STM25P_PP || curCmd == STM25P_SE || curCmd == STM25P_BE) {
!       if (post checkWriteDone() == FAIL) {
! 	curCmd = S_POWERON;
! 	return FAIL;
!       }
!     }
!     else {
        curCmd = S_POWERON;
+     }
  
      return SUCCESS;



More information about the Tinyos-beta-commits mailing list