[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/rincon/apps/Blackbook5 Blackbook.txt, NONE, 1.1 BlackbookFullC.nc, NONE, 1.1 BlackbookDictionaryC.nc, NONE, 1.1

dmm rincon at users.sourceforge.net
Thu May 18 15:34:22 PDT 2006


Update of /cvsroot/tinyos/tinyos-1.x/contrib/rincon/apps/Blackbook5
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv14770/contrib/rincon/apps/Blackbook5

Added Files:
	Blackbook.txt BlackbookFullC.nc BlackbookDictionaryC.nc 
Log Message:
Uploaded Initial Blackbook5

--- NEW FILE: Blackbook.txt ---
Blackbook TinyOS Cross-Platform Compatible Flash File System
Copyright (c) 2004-2006 Rincon Research Corporation.  
All rights reserved.

@author David Moss (dmm at rincon.com)


UPDATES FROM BLACKBOOK V.3.0

   > Complexity reduced
   > A few things were added
   > ROM size decreased significantly (from 24kB to 16.5kB, full implementation)


* Blackbook Dictionary-only implementation allows the Blackbook
  core to be installed without binary file support.
  
* BFileRead can read files that are open for writing.

* Filenames are now stored only on flash, not in RAM.

* BDictionary provides functionality to determine if a file is
  a dictionary file or not, without opening that file.
  
* Boot complexity decreased.
  
* Node reserveLength does not alter; whenever a node is created, it
  reserves the full length it requested and nothing more.  This
  decreases ROM size and recovery complexity at the expense of possibly
  too many nodes if a file is constantly opened and closed.
  
* Nodes are now either Temporary, Valid, Locked, or Deleted.  Unfinalized/Finalized
  nodes are done away with.
  
* Each node's dataLength and dataCrc is kept in the Checkpoint file, instead
  of in the node's metadata.
  
* Fault tolerance improved.

--- NEW FILE: BlackbookFullC.nc ---
/*
 * Copyright (c) 2004-2006 Rincon Research Corporation.  
 * All rights reserved.
 * 
 * Rincon Research will permit distribution and use by others subject to
 * the restrictions of a licensing agreement which contains (among other things)
 * the following restrictions:
 * 
 *  1. No credit will be taken for the Work of others.
 *  2. It will not be resold for a price in excess of reproduction and 
 *      distribution costs.
 *  3. Others are not restricted from copying it or using it except as 
 *      set forward in the licensing agreement.
 *  4. Commented source code of any modifications or additions will be 
 *      made available to Rincon Research on the same terms.
 *  5. This notice will remain intact and displayed prominently.
 * 
 * Copies of the complete licensing agreement may be obtained by contacting 
 * Rincon Research, 101 N. Wilmot, Suite 101, Tucson, AZ 85711.
 * 
 * There is no warranty with this product, either expressed or implied.  
 * Use at your own risk.  Rincon Research is not liable or responsible for 
 * damage or loss incurred or resulting from the use or misuse of this software.
 */
 
/**
 * Blackbook File System Full Configuration
 * This is the configuration to wire to your application.
 *
 * For each provided interface except BBoot and BClean,
 * use unique("interface") to connect, for example:
 *
 * <code>
 *   MyApp.BFileWrite -> BlackbookC.BFileWrite[unique("BFileWrite")];
 * </code>
 *
 * This configuration wires up Blackbook to provide Dictionary and Binary
 * file functionality.
 *
 * @author David Moss - dmm at rincon.com
 */

includes Blackbook;

configuration BlackbookFullC {
  provides {
    interface StdControl;
    interface BFileRead[uint8_t id];
    interface BFileWrite[uint8_t id];
    interface BFileDelete[uint8_t id];
    interface BFileDir[uint8_t id];
    interface BDictionary[uint8_t id];
    interface BClean;
    interface BBoot;
  }
}

implementation {

  components BDictionaryC, BFileDeleteC, BCleanC;
  components BFileReadC, BFileWriteC;
  components BFileDirC, BBootFullC;
  components CheckpointC;
  
  components FileioC, WriteAllocC, NodeMapC, NodeShopC, SectorMapC, FlashBridgeC, StateC;
  
  StdControl = BFileReadC;
  StdControl = BFileWriteC;
  StdControl = BDictionaryC;
  
  StdControl = CheckpointC;
  StdControl = FileioC;
  StdControl = NodeMapC;
  StdControl = SectorMapC;
  StdControl = StateC;
  StdControl = FlashBridgeC;
  
  BFileRead = BFileReadC;
  BFileWrite = BFileWriteC;
  BFileDelete = BFileDeleteC;
  BFileDir = BFileDirC;
  BDictionary = BDictionaryC;
  BBoot = BBootFullC;
  BClean = BCleanC;
  
  BFileDeleteC.Checkpoint -> CheckpointC;
  
}


--- NEW FILE: BlackbookDictionaryC.nc ---
/*
 * Copyright (c) 2004-2006 Rincon Research Corporation.  
 * All rights reserved.
 * 
 * Rincon Research will permit distribution and use by others subject to
 * the restrictions of a licensing agreement which contains (among other things)
 * the following restrictions:
 * 
 *  1. No credit will be taken for the Work of others.
 *  2. It will not be resold for a price in excess of reproduction and 
 *      distribution costs.
 *  3. Others are not restricted from copying it or using it except as 
 *      set forward in the licensing agreement.
 *  4. Commented source code of any modifications or additions will be 
 *      made available to Rincon Research on the same terms.
 *  5. This notice will remain intact and displayed prominently.
 * 
 * Copies of the complete licensing agreement may be obtained by contacting 
 * Rincon Research, 101 N. Wilmot, Suite 101, Tucson, AZ 85711.
 * 
 * There is no warranty with this product, either expressed or implied.  
 * Use at your own risk.  Rincon Research is not liable or responsible for 
 * damage or loss incurred or resulting from the use or misuse of this software.
 */
 
/**
 * Blackbook File System Dictionary-Only Configuration
 * This is the configuration to wire to your application.
 *
 * For each provided interface except BBoot and BClean,
 * use unique("interface") to connect, for example:
 *
 * <code>
 *   MyApp.BDictionary -> BlackbookC.BDictionary[unique("BDictionary")];
 * </code>
 *
 * This configuration wires up Blackbook to only provide Dictionary
 * functionality.
 *
 * @author David Moss - dmm at rincon.com
 */

includes Blackbook;

configuration BlackbookDictionaryC {
  provides {
    interface StdControl;
    interface BFileDelete[uint8_t id];
    interface BFileDir[uint8_t id];
    interface BDictionary[uint8_t id];
    interface BClean;
    interface BBoot;
  }
}

implementation {

  components BDictionaryC, BFileDeleteC, BCleanC;
  components BFileDirC, BBootFullC;
  components CheckpointDummyM;
  
  components FileioC, WriteAllocC, NodeMapC, NodeShopC, SectorMapC, FlashBridgeC, StateC;
  
  StdControl = BDictionaryC;
  StdControl = FileioC;
  StdControl = NodeMapC;
  StdControl = SectorMapC;
  StdControl = FlashBridgeC;
  StdControl = StateC;
  
  BFileDelete = BFileDeleteC;
  BFileDir = BFileDirC;
  BDictionary = BDictionaryC;
  BBoot = BBootFullC;
  BClean = BCleanC;
  
  BFileDeleteC.Checkpoint -> CheckpointDummyM;
  
}




More information about the Tinyos-contrib-commits mailing list