title: TinyOS
linktitle: tinyos
parent: Home
ctime: 2009-12-07

Repositories: [tinyos](/gitweb/?p=tinyos-2.x.git;a=summary),
[deputy-tinyos](/gitweb/?p=deputy-tinyos.git;a=summary),
[nesc](/gitweb/?p=nesc.git;a=summary),
[[aptrepo]].

# TMI TinyOS

TMI maintains a [TinyOS](http://www.tinyos.net) branch containing certain
features not available in the official tree.  We use this this code for our
internal and customer development efforts.  TMI enhancements include:

* Support for newer [[msp430]] chipsets, such as the MSP430F2618.

* An implementation of the USCI peripheral, supporting UART and SPI
  communications.  Future plans to add I2C are in the works.

* Enhanced clock framework supporting parts with the basic_clock+ peripheral
  and simplifying changing msp430 clock speeds on a per platform or per
  application basis.

* Support for a number of other chips, including the Silicon Labs
  [[cp210x]] USB to UART adapters, the Texas Instruments BQ2403x Li Ion/Polymer
  charge controllers, and the VTI SCP1000-D01 barometric pressure sensor.

* A modularized tos-bsl program that simplifies adding other msp430 boards using
  different mechanisms to access BSL programming features.  Included is support
  for boards using the cp2103 and its GPIO pins.

* Support for TMI reference platform design, [[tmicore]].

# About the TMI repository

The TMI TinyOS repository contains code imported from CVS upstream, our internal
working branches, and tags marking a series of commits that are a clean patch
series of the TMI enhancements against an official upstream release.

* Current patchset tag: `patchset/2.1.0-3`
* Derived from official release tag: `tinyos/2.1.0`
* The commits between the two above tags represent the series of patches in the
  [latest patchset](/gitweb/?p=tinyos-2.x.git;a=shortlog;h=refs/tags/patchset/2.1.0-3).

The TMI TinyOS code requires a newer [[msp430]] toolchain.

# Using TMI TinyOS

A complete TinyOS development environment including toolchain is available for
installation from our [[APT repository|aptrepo]].  Since we only use Ubuntu
workstations for our internal development, we cannot cost justify maintaining
packages for Windows or other Linux distributions at this time.
