[Tinyos-beta-commits] CVS: tinyos-1.x/beta/Deluge/Deluge
DelugeStorageC.nc, 1.3, 1.4 DelugeStorageM.nc, 1.3, 1.4
Jonathan Hui
jwhui at users.sourceforge.net
Mon Jan 3 09:31:17 PST 2005
- Next message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/Deluge/Deluge Deluge.h,
1.3, 1.4 DelugeM.nc, 1.4, 1.5 DelugeMetadataM.nc, 1.4,
1.5 DelugeMsgs.h, 1.2, 1.3 DelugePageTransfer.nc, 1.2,
1.3 DelugePageTransferM.nc, 1.3, 1.4 DelugeImgDescStorage.nc,
1.1, NONE DelugePageTransfer.h, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-1.x/beta/Deluge/Deluge
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4416
Modified Files:
DelugeStorageC.nc DelugeStorageM.nc
Log Message:
- Make better use of parameterized interfaces. Reduces code size by
about 300 bytes.
Index: DelugeStorageC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Deluge/Deluge/DelugeStorageC.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** DelugeStorageC.nc 26 Nov 2004 18:59:10 -0000 1.3
--- DelugeStorageC.nc 3 Jan 2005 17:31:14 -0000 1.4
***************
*** 57,69 ****
Storage.SubControl -> BlockStorageC;
! Storage.Image0Volume -> FlashVolumeC.FlashVolume[DELUGE_IMAGE0_VOLUME];
! Storage.Image1Volume -> FlashVolumeC.FlashVolume[DELUGE_IMAGE1_VOLUME];
! Storage.Image2Volume -> FlashVolumeC.FlashVolume[DELUGE_IMAGE2_VOLUME];
! Storage.Image0Read -> BlockStorageC.BlockRead[DELUGE_IMAGE0_VOLUME];
! Storage.Image1Read -> BlockStorageC.BlockRead[DELUGE_IMAGE1_VOLUME];
! Storage.Image2Read -> BlockStorageC.BlockRead[DELUGE_IMAGE2_VOLUME];
! Storage.Image0Write -> BlockStorageC.BlockWrite[DELUGE_IMAGE0_VOLUME];
! Storage.Image1Write -> BlockStorageC.BlockWrite[DELUGE_IMAGE1_VOLUME];
! Storage.Image2Write -> BlockStorageC.BlockWrite[DELUGE_IMAGE2_VOLUME];
}
--- 57,63 ----
Storage.SubControl -> BlockStorageC;
! Storage.ImageVolume -> FlashVolumeC;
! Storage.ImageRead -> BlockStorageC;
! Storage.ImageWrite -> BlockStorageC;
}
Index: DelugeStorageM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Deluge/Deluge/DelugeStorageM.nc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** DelugeStorageM.nc 26 Nov 2004 18:59:10 -0000 1.3
--- DelugeStorageM.nc 3 Jan 2005 17:31:14 -0000 1.4
***************
*** 39,51 ****
}
uses {
! interface BlockRead as Image0Read;
! interface BlockRead as Image1Read;
! interface BlockRead as Image2Read;
! interface BlockWrite as Image0Write;
! interface BlockWrite as Image1Write;
! interface BlockWrite as Image2Write;
! interface FlashVolume as Image0Volume;
! interface FlashVolume as Image1Volume;
! interface FlashVolume as Image2Volume;
interface StdControl as SubControl;
}
--- 39,45 ----
}
uses {
! interface BlockRead as ImageRead[uint8_t id];
! interface BlockWrite as ImageWrite[uint8_t id];
! interface FlashVolume as ImageVolume[uint8_t id];
interface StdControl as SubControl;
}
***************
*** 70,74 ****
uint16_t crc;
! void actualSignal(result_t result) {
uint8_t tmpState = state;
state = S_IDLE;
--- 64,68 ----
uint16_t crc;
! void signalDone(result_t result) {
uint8_t tmpState = state;
state = S_IDLE;
***************
*** 84,98 ****
}
- task void signalSuccess() { actualSignal(SUCCESS); }
- task void signalFail() { actualSignal(FAIL); }
-
- result_t signalDone(result_t result) {
- if (result == SUCCESS)
- post signalSuccess();
- else
- post signalFail();
- return SUCCESS;
- }
-
command result_t StdControl.init() {
return call SubControl.init();
--- 78,81 ----
***************
*** 100,106 ****
command result_t StdControl.start() {
! call Image0Volume.mount(FV_FACTORY_IMAGE);
! call Image1Volume.mount(0);
! call Image2Volume.mount(1);
return call SubControl.start();
}
--- 83,89 ----
command result_t StdControl.start() {
! call ImageVolume.mount[DELUGE_VOLUMES[0]](FV_FACTORY_IMAGE);
! call ImageVolume.mount[DELUGE_VOLUMES[1]](0);
! call ImageVolume.mount[DELUGE_VOLUMES[2]](1);
return call SubControl.start();
}
***************
*** 109,124 ****
command uint32_t DelugeStorage.imgNum2Addr(imgnum_t imgNum) {
! uint32_t addr;
! switch(imgNum) {
! case 0: addr = call Image0Volume.physicalAddr(0); break;
! case 1: addr = call Image1Volume.physicalAddr(0); break;
! case 2: addr = call Image2Volume.physicalAddr(0); break;
! default: return DELUGE_INVALID_ADDR;
! }
return addr + (uint32_t)DELUGE_DATA_OFFSET + (uint32_t)DELUGE_CRC_BLOCK_SIZE;
}
command imgnum_t DelugeStorage.addr2ImgNum(uint32_t addr) {
! uint8_t volume = call Image0Volume.physicalAddrToVolume(addr);
if (volume == FV_FACTORY_IMAGE)
return DELUGE_FACTORY_IMAGE_NUM;
--- 92,101 ----
command uint32_t DelugeStorage.imgNum2Addr(imgnum_t imgNum) {
! uint32_t addr = call ImageVolume.physicalAddr[DELUGE_VOLUMES[imgNum]](0);
return addr + (uint32_t)DELUGE_DATA_OFFSET + (uint32_t)DELUGE_CRC_BLOCK_SIZE;
}
command imgnum_t DelugeStorage.addr2ImgNum(uint32_t addr) {
! uint8_t volume = call ImageVolume.physicalAddrToVolume[DELUGE_VOLUMES[0]](addr);
if (volume == FV_FACTORY_IMAGE)
return DELUGE_FACTORY_IMAGE_NUM;
***************
*** 127,157 ****
}
- result_t read(imgnum_t imgNum, block_addr_t addr, void* buf, block_addr_t len) {
- switch(imgNum) {
- case 0: return call Image0Read.read(addr, buf, len);
- case 1: return call Image1Read.read(addr, buf, len);
- case 2: return call Image2Read.read(addr, buf, len);
- }
- return FAIL;
- }
-
- result_t write(imgnum_t imgNum, block_addr_t addr, void* buf, block_addr_t len) {
- switch(imgNum) {
- case 0: return call Image0Write.write(addr, buf, len);
- case 1: return call Image1Write.write(addr, buf, len);
- case 2: return call Image2Write.write(addr, buf, len);
- }
- return FAIL;
- }
-
- result_t erase(imgnum_t imgNum) {
- switch(imgNum) {
- case 0: return call Image0Write.erase();
- case 1: return call Image1Write.erase();
- case 2: return call Image2Write.erase();
- }
- return FAIL;
- }
-
result_t computeCrc(imgnum_t imgNum) {
--- 104,107 ----
***************
*** 168,178 ****
}
! switch(imgNum) {
! case 0: return call Image0Read.computeCrc(blockAddr, len);
! case 1: return call Image1Read.computeCrc(blockAddr, len);
! case 2: return call Image2Read.computeCrc(blockAddr, len);
! }
!
! return FAIL;
}
--- 118,122 ----
}
! return call ImageRead.computeCrc[DELUGE_VOLUMES[imgNum]](blockAddr, len);
}
***************
*** 195,210 ****
switch(newState) {
case S_READ_METADATA: case S_READ_DATA:
! result = read(imgNum, addr, buf, len);
break;
case S_WRITE_METADATA: case S_WRITE_DATA:
! result = write(imgNum, addr, buf, len);
break;
case S_ERASE_DATA:
! result = erase(imgNum);
break;
case S_READ_CRC:
page = addr;
crcAddr = DELUGE_DATA_OFFSET + sizeof(crc)*page;
! result = read(imgNum, crcAddr, &crc, sizeof(crc));
break;
default:
--- 139,154 ----
switch(newState) {
case S_READ_METADATA: case S_READ_DATA:
! result = call ImageRead.read[DELUGE_VOLUMES[imgNum]](addr, buf, len);
break;
case S_WRITE_METADATA: case S_WRITE_DATA:
! result = call ImageWrite.write[DELUGE_VOLUMES[imgNum]](addr, buf, len);
break;
case S_ERASE_DATA:
! result = call ImageWrite.erase[DELUGE_VOLUMES[imgNum]]();
break;
case S_READ_CRC:
page = addr;
crcAddr = DELUGE_DATA_OFFSET + sizeof(crc)*page;
! result = call ImageRead.read[DELUGE_VOLUMES[imgNum]](crcAddr, (uint8_t*)&crc, sizeof(crc));
break;
default:
***************
*** 248,256 ****
}
! void flashReqDone(imgnum_t imgNum, result_t result) {
switch(state) {
case S_READ_CRC:
state = S_COMPUTE_CRC;
! if (computeCrc(imgNum) == FAIL)
signalDone(FAIL);
break;
--- 192,211 ----
}
! void flashReqDone(uint8_t volume, result_t result) {
!
! uint8_t i;
!
! for ( i = 0; i < DELUGE_NUM_IMAGES; i++ ) {
! if (volume == DELUGE_VOLUMES[i])
! break;
! }
!
! if (i == DELUGE_NUM_IMAGES)
! return;
!
switch(state) {
case S_READ_CRC:
state = S_COMPUTE_CRC;
! if (computeCrc(i) == FAIL)
signalDone(FAIL);
break;
***************
*** 261,330 ****
}
! event result_t Image0Read.readDone(result_t result) {
! flashReqDone(0, result);
! return SUCCESS;
! }
!
! event result_t Image0Read.computeCrcDone(result_t result, uint16_t crcResult) {
! flashReqDone(0, (crc == crcResult) ? SUCCESS : FAIL);
! return SUCCESS;
! }
!
! event result_t Image0Write.writeDone(result_t result) {
! flashReqDone(0, result);
! return SUCCESS;
! }
!
! event result_t Image0Write.eraseDone(result_t result) {
! flashReqDone(0, result);
! return SUCCESS;
! }
!
! event result_t Image1Read.readDone(result_t result) {
! flashReqDone(1, result);
! return SUCCESS;
! }
!
! event result_t Image1Read.computeCrcDone(result_t result, uint16_t crcResult) {
! flashReqDone(1, (crc == crcResult) ? SUCCESS : FAIL);
! return SUCCESS;
! }
!
! event result_t Image1Write.writeDone(result_t result) {
! flashReqDone(1, result);
! return SUCCESS;
! }
!
! event result_t Image1Write.eraseDone(result_t result) {
! flashReqDone(1, result);
! return SUCCESS;
! }
!
! event result_t Image2Read.readDone(result_t result) {
! flashReqDone(2, result);
return SUCCESS;
}
! event result_t Image2Read.computeCrcDone(result_t result, uint16_t crcResult) {
! flashReqDone(2, (crc == crcResult) ? SUCCESS : FAIL);
return SUCCESS;
}
! event result_t Image2Write.writeDone(result_t result) {
! flashReqDone(2, result);
return SUCCESS;
}
! event result_t Image2Write.eraseDone(result_t result) {
! flashReqDone(2, result);
return SUCCESS;
}
! event result_t Image0Read.verifyDone(result_t result) { return SUCCESS; }
! event result_t Image0Write.commitDone(result_t result) { return SUCCESS; }
! event result_t Image1Read.verifyDone(result_t result) { return SUCCESS; }
! event result_t Image1Write.commitDone(result_t result) { return SUCCESS; }
! event result_t Image2Read.verifyDone(result_t result) { return SUCCESS; }
! event result_t Image2Write.commitDone(result_t result) { return SUCCESS; }
default event result_t DataRead.readDone[uint8_t id](result_t result) { return SUCCESS; }
--- 216,241 ----
}
! event result_t ImageRead.readDone[uint8_t volume](result_t result) {
! flashReqDone(volume, result);
return SUCCESS;
}
! event result_t ImageRead.computeCrcDone[uint8_t volume](result_t result, uint16_t crcResult) {
! flashReqDone(volume, (crc == crcResult) ? SUCCESS : FAIL);
return SUCCESS;
}
! event result_t ImageWrite.writeDone[uint8_t volume](result_t result) {
! flashReqDone(volume, result);
return SUCCESS;
}
! event result_t ImageWrite.eraseDone[uint8_t volume](result_t result) {
! flashReqDone(volume, result);
return SUCCESS;
}
! event result_t ImageRead.verifyDone[uint8_t volume](result_t result) { return SUCCESS; }
! event result_t ImageWrite.commitDone[uint8_t volume](result_t result) { return SUCCESS; }
default event result_t DataRead.readDone[uint8_t id](result_t result) { return SUCCESS; }
***************
*** 335,338 ****
default event result_t MetadataWrite.writeDone[uint8_t id](result_t result) { return SUCCESS; }
-
}
--- 246,248 ----
- Next message: [Tinyos-beta-commits] CVS: tinyos-1.x/beta/Deluge/Deluge Deluge.h,
1.3, 1.4 DelugeM.nc, 1.4, 1.5 DelugeMetadataM.nc, 1.4,
1.5 DelugeMsgs.h, 1.2, 1.3 DelugePageTransfer.nc, 1.2,
1.3 DelugePageTransferM.nc, 1.3, 1.4 DelugeImgDescStorage.nc,
1.1, NONE DelugePageTransfer.h, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-beta-commits
mailing list