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.  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.  I2C is working internally and we will be posting it soon.

* 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 each a clean
patch series of the TMI enhancements against an official upstream release.

* Current patchset tag: `patchset/2.1.1-4.4`
* Derived from official 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.4).

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.
