-TMI TinyOS Repository
-=====================
-
-What is TinyOS
---------------
-
-TinyOS is a software development framework for building space and time
-efficient applications for deeply embedded systems, including wireless
-sensor networks. Some useful links:
-
-* [TinyOS Home Page](http://www.tinyos.net)
-* [TinyOS Documentation Wiki](http://docs.tinyos.net)
-
-Who is TMI
-----------
-
-Titanium Mirror, Inc. (TMI) is a software development conmpany specializing
-in computer network security, low power data acquisition, and highly available
-systems development. See our [Home Page](http://titaniummirror.com) for more
-information about our network security appliances. Contact us through the
-website to learn more about our embedded systems expertise.
-
-TMI's TinyOS Tree
------------------
-
-This repository tracks the official TinyOS 2.x development, and incorporates
-TMI's contributed code providing various enhancements for msp430 based target
-systems. TMI's code base is actively developed, and targeted to the current
-release of TinyOS. Enough information is provided in this repository to
-cherry pick features for your own TinyOS development, to use the TMI framework
-complete. A focus is placed on stability, as this framework is the core for
-our own development efforts.
-
-Features in the TMI repository include:
-
-* Support for newer MSP430 chipsets, such as the MSP430F2617. The TMI tree
- requires a newer mspgcc v3.2.3 compiler; see below for more information.
-
-* An implementation for TI's USCI peripheral, used on newer MSP430
- microprocessors in place of the older USART peripheral. This USCI
- implementation supports RS-232 and SPI communication, with future planned
- support for I2C.
-
-* Support for the newer basic clock + peripheral, and including a simpler
- clock framework for easily configuring an msp430 target for clock speeds
- other than the TinyOS 2.x default of 4MHz.
-
-* Support for a number of other hardware components, such as:
- * Silicon Labs cp2103 USB/serial adapter
- * Texas Instruments BQ2403x charge controller
- * VTI SCP1000-D01 barometric pressure sensor
-
-* A modularized programming tool for msp430, tos-bsl, which allows for simple
- expansion to new target device types. TMI has incorporated a module for
- targeting devices using the Silicon Labs cp2103 USB/Serial adapter chip for
- communications with a PC, including programming of the target microprocessor.
-
-* TMI is also soon to release two low power msp430-based embedded targets for
- use in a variety of data acquisition, robotics, and other applications.
- Support for these targets is also present within the TMI TinyOS tree.
-
-Using TMI's Ubuntu Packages
-===========================
-
-TMI will soon be releasing its version of msp430 compiler tools, TinyOS tools,
-and our TinyOS source tree via Ubuntu Debian packages available on Launchpad.
-TMI manages infrastructure in-house to package for our internal developers,
-who run Ubuntu versions Hardy and Karmic on both 32-bit and 64-bit x86 systems.
-When we release a public apt archive via a Launchpad PPA, other users of Ubuntu
-derived operating systems will be able to easily install and keep up to date
-their TinyOS development tools. Stay tuned!
-
-
-The Repository Structure
-========================
-
-The structure of TMI's TinyOS git repository is a bit complex. Here are the
-highlights:
-
-* The TMI repository slowly tracks all changes from the official TinyOS CVS
- repository in its branch __upstream__.
-
-* CVS tags for released versios of TinyOS are replicated in the TMI repository.
- For example, the CVS tag for release 2.1.0 is __release_tinyos_2_1_0_0__.
- For auditability, the CVS release tags are imported into the TMI repo
- unchanged.
-
-* Because of the differences between CVS and git's handling of tags, a checkout
- of a CVS tag from git can provide different code than the same tag checked
- out from CVS. This happened with __release_tinyos_2_1_0_0__ as an example.
- The TMI tree resolves this by also posting a second tag for each release, of
- the form tinyos/version, to which the actual CVS checkout is posted. For
- example, the 2.1.0 git release tag is __tinyos/2.1.0__.
-
-* New development is done on the __master__ branch, which is merged to the
- the latest official TinyOS release shortly after its release.
-
-* Periodically, TMI will release its custom code, based off the most recent
- official TinyOS release. This is done by committing changes from branch to
- a release branch of the form release/vrsion. The release branch for
- TinyOS 2.1.0 is __release/2.1.0__. As each new version of TMI code is posted
- to the branch, it is tagged. For example, version 2 of the TMI code on the
- 2.1.0 TinyOS release is tagged __release/2.1.0/2__.
-
-* Many of TMI's enhancements we consider generally useful, and we strive to
- get these changes considered for incorporation into the official TinyOS
- tree. Therefore, the repository will contain patchset tags, each tagging
- the head of a series of patches representing an uncluttered and clean
- view of the TMI enhancements. Patchset tags take the form
- patchset/tosver/tmiver, where tosver is the upstream TinyOS version and
- tmiver is the TMI code version. For example, patches for TMI code version 2
- against the TinyOS 2.1.0 release is tagged __patchset/2.1.0/2__. When
- we rebase a patchset against the upstream head, we use a datecode for tosver.
- So patchset version 2 against the TinyOS tree as seen at midnight on 11/30/09
- would be tagged __patchset/20091130/2__.
-
-Submitting Enhancements
-=======================
-
-You may submit changes back to this tree via e-mail or via a publicly
-accessible git repository. Simply track our master branch and rebase any
-changes you publish against it.
-
-License
-=======
-
-All of TMI's source code is licensed per the BSD style license used by the
-upstream TinyOS repository. Certain files imported from upstream may use other
-licenses or offer secondary licenses. Check the individual files for details.