[Tinyos-beta-commits] CVS: tinyos-1.x/beta/STM25P FlashWP.nc, NONE,
1.1 FlashWPC.nc, NONE, 1.1 FlashWPM.nc, NONE, 1.1
Jonathan Hui
jwhui at users.sourceforge.net
Sun Nov 21 21:14:25 PST 2004
- Previous message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/platform/telosb
HPLSTM25PC.nc, NONE, 1.1 HPLSTM25PM.nc, NONE, 1.1
- Next message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/STM25P STM25P.nc, 1.1,
1.2 STM25PM.nc, 1.1, 1.2 BlockStorageM.nc, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-1.x/beta/STM25P
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11217
Added Files:
FlashWP.nc FlashWPC.nc FlashWPM.nc
Log Message:
- Initial checkin of component that provides access to write protected
of external flash.
--- NEW FILE: FlashWP.nc ---
interface FlashWP {
command result_t setWP();
event result_t setWPDone(result_t result);
command result_t clrWP();
event result_t clrWPDone(result_t result);
}
--- NEW FILE: FlashWPC.nc ---
configuration FlashWPC {
provides {
interface FlashWP;
interface StdControl;
}
}
implementation {
components FlashWPM, STM25PC;
StdControl = FlashWPM;
FlashWP = FlashWPM;
FlashWPM.STM25P -> STM25PC;
}
--- NEW FILE: FlashWPM.nc ---
module FlashWPM {
provides {
interface FlashWP;
interface StdControl;
}
uses {
interface STM25P;
}
}
implementation {
uint8_t state;
enum {
S_IDLE,
S_CLR,
S_SET,
};
command result_t StdControl.init() {
state = S_IDLE;
return SUCCESS;
}
command result_t StdControl.start() { return SUCCESS; }
command result_t StdControl.stop() { return SUCCESS; }
command result_t FlashWP.clrWP() {
state = S_CLR;
if (call STM25P.writeSR(0x0) == FAIL) {
state = S_IDLE;
return FAIL;
}
return SUCCESS;
}
command result_t FlashWP.setWP() {
state = S_SET;
if (call STM25P.writeSR(0x84) == FAIL) {
state = S_IDLE;
return FAIL;
}
return SUCCESS;
}
event result_t STM25P.writeSRDone(result_t result) {
uint8_t tmpState = state;
state = S_IDLE;
switch(tmpState) {
case S_CLR: return signal FlashWP.clrWPDone(result);
case S_SET: return signal FlashWP.setWPDone(result);
}
}
event result_t STM25P.readDone(result_t result) { return SUCCESS; }
event result_t STM25P.pageProgramDone(result_t result) { return SUCCESS; }
event result_t STM25P.sectorEraseDone(result_t result) { return SUCCESS; }
event result_t STM25P.bulkEraseDone(result_t result) { return SUCCESS; }
}
- Previous message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/platform/telosb
HPLSTM25PC.nc, NONE, 1.1 HPLSTM25PM.nc, NONE, 1.1
- Next message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/STM25P STM25P.nc, 1.1,
1.2 STM25PM.nc, 1.1, 1.2 BlockStorageM.nc, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-beta-commits
mailing list