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, SPI and I2C
  communications.  Both SPI slave and master modes are supported, with the
  driver knowing what to do in slave mode if the master unasserts the slave chip
  select line.

* 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 to effect BSL via USB.

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

# About the TMI repository

The TMI TinyOS repository is based upon code from the [official
repo](http://tinyos-main.googlecode.com/svn/).  The TMI repository contains
various branches and tags representing current and past work.  Most notably, the
tags beginning with `patchset/` are clean patches against a given official
upstream release.

* Current patchset tag: `patchset/2.1.1-4.5`
* TMI enhancements are based upon the upstream release tag: `tinyos/2.1.1`
* 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.1-4.5).

The TMI TinyOS code requires a GCC 4.4+ based [[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.
