[Tinyos-commits] CVS: tinyos-1.x/tos/lib/Deluge/TOSBoot/at45db
ExtFlashC.nc, NONE, 1.1
Jonathan Hui
jwhui at users.sourceforge.net
Fri Jul 22 10:40:11 PDT 2005
- Previous message: [Tinyos-commits] CVS: tinyos-1.x/apps/TestDeluge/FormatFlash - New
directory
- Next message: [Tinyos-commits] CVS: tinyos-1.x/tos/lib/Deluge/TOSBoot Exec.nc,
NONE, 1.1 ExtFlash.nc, NONE, 1.1 Hardware.nc, NONE,
1.1 Leds.nc, NONE, 1.1 LedsC.nc, NONE, 1.1 Makefile, 1.13,
1.14 ProgFlash.nc, NONE, 1.1 TOSBoot.nc, NONE, 1.1 TOSBootM.nc,
NONE, 1.1 Voltage.nc, NONE, 1.1 crc.h, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/tinyos/tinyos-1.x/tos/lib/Deluge/TOSBoot/at45db
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22969/TOSBoot/at45db
Added Files:
ExtFlashC.nc
Log Message:
- Initial import of Deluge 2.0.
--- NEW FILE: ExtFlashC.nc ---
// $Id: ExtFlashC.nc,v 1.1 2005/07/22 17:40:09 jwhui Exp $
/* tab:2
*
*
* "Copyright (c) 2000-2005 The Regents of the University of California.
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose, without fee, and without written agreement is
* hereby granted, provided that the above copyright notice, the following
* two paragraphs and the author appear in all copies of this software.
*
* IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
* OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
* CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
*
*/
/**
* @author Jonathan Hui <jwhui at cs.berkeley.edu>
*/
module ExtFlashC {
provides {
interface StdControl;
interface ExtFlash;
}
}
implementation {
uint32_t addr;
command result_t StdControl.init() { return SUCCESS; }
command result_t StdControl.start() { return SUCCESS; }
command result_t StdControl.stop() { return SUCCESS; }
uint8_t SPIByte(uint8_t out) {
uint8_t in = 0;
uint8_t i;
for ( i = 0; i < 8; i++, out <<= 1 ) {
// write bit
if (out & 0x80)
TOSH_SET_FLASH_OUT_PIN();
else
TOSH_CLR_FLASH_OUT_PIN();
// clock
TOSH_SET_FLASH_CLK_PIN();
// read bit
in <<= 1;
if (TOSH_READ_FLASH_IN_PIN())
in |= 1;
// clock
TOSH_CLR_FLASH_CLK_PIN();
}
return in;
}
command void ExtFlash.startRead(uint32_t newAddr) {
uint8_t cmdBuf[4];
uint8_t i;
addr = newAddr;
cmdBuf[0] = 0x68;
cmdBuf[1] = (addr >> 15) & 0xff;
cmdBuf[2] = (addr >> 7) & 0xfe;
cmdBuf[3] = addr & 0xff;
TOSH_CLR_FLASH_CLK_PIN();
TOSH_CLR_FLASH_CS_PIN();
for(i = 0; i < 4; i++)
SPIByte(cmdBuf[i]);
for(i = 0; i < 4; i++)
SPIByte(0x0);
TOSH_SET_FLASH_CLK_PIN();
TOSH_CLR_FLASH_CLK_PIN();
}
command uint8_t ExtFlash.readByte() {
if (!(addr & 0xff)) {
call ExtFlash.stopRead();
call ExtFlash.startRead(addr);
}
addr++;
return SPIByte(0);
}
command void ExtFlash.stopRead() {
TOSH_SET_FLASH_CS_PIN();
}
}
- Previous message: [Tinyos-commits] CVS: tinyos-1.x/apps/TestDeluge/FormatFlash - New
directory
- Next message: [Tinyos-commits] CVS: tinyos-1.x/tos/lib/Deluge/TOSBoot Exec.nc,
NONE, 1.1 ExtFlash.nc, NONE, 1.1 Hardware.nc, NONE,
1.1 Leds.nc, NONE, 1.1 LedsC.nc, NONE, 1.1 Makefile, 1.13,
1.14 ProgFlash.nc, NONE, 1.1 TOSBoot.nc, NONE, 1.1 TOSBootM.nc,
NONE, 1.1 Voltage.nc, NONE, 1.1 crc.h, NONE, 1.1
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Tinyos-commits
mailing list