TMI maintains an APT repository containing some of the code available from this
website. We use this repository in-house, and it is fairly well tested on 32
-and 64 bit Intel and AMD based workstations running Ubuntu Hardy and Ubuntu
-Karmic.
+and 64 bit Intel and AMD based workstations running Ubuntu 8.04 (Hardy Heron),
+Ubuntu 9.10 (Karmic Koala), and Ubuntu 10.04 LTS (Lucid Lynx).
At this time, we do not recommend others using this repository. Having said
-that, TMI staff and a few others do use it, generally for access to TinyOS with
-TMI extensions. This repository will become more useful once TMI moves to host
-it as a PPA on Ubuntu Launchpad. Look for this in the coming months, and also
-support for 10.04 LTS (Lucid Lynx).
+that, TMI staff and a few others do use it for production development efforts.
+Look for future deployment of these packages via PPA on Ubuntu Launchpad.
# Package inventory
msp430-binutils 2.18.1~cvs20080103-2tmi
msp430-gcc 3.2.3-1tmi
msp430-libc 0.0~cvs20080819-1tmi
- nesc 1.3.0-1tmi
- tinyos 2.1.0-4.2-1tmi
- tinyos-avr 2.1.0-4.2-1tmi
- tinyos-msp430 2.1.0-4.2-1tmi
- tinyos-source 2.1.0-4.2-1tmi
+ nesc 1.3.2-1tmi
+ tinyos 2.1.1-4.4-1tmi
+ tinyos-avr 2.1.1-4.4-1tmi
+ tinyos-msp430 2.1.1-4.4-1tmi
+ tinyos-source 2.1.1-4.4-1tmi
tinyos-source-2.0.1 2.0.1-2tmi
tinyos-source-2.0.2.2 2.0.2.2-2tmi
tinyos-source-2.1.0 2.1.0-2tmi
tinyos-source-2.1.0-3 2.1.0-3-2tmi
- tinyos-source-2.1.0-4 2.1.0-4-2tmi
+ tinyos-source-2.1.1-4.4.1.0-4-2tmi
tinyos-source-2.1.0-4.1 2.1.0-4.1-1tmi
- tinyos-source-2.1.0-4.2 2.1.0-4.2-1tmi
- tinyos-tools 2.1.0-4.2-1tmi
+ tinyos-source-2.1.1-4.4 2.1.1-4.4-1tmi
+ tinyos-tools 2.1.1-4.4-1tmi
tmi-keyring 1.0-1tmi
topgit 0.8-2
TMI completed these driver changes of a year ago and has since been maintaining
it. Silicon Labs was to push these changes through to the mainline kernel, but
-this clearly has not happened yet. TMI is slowly working with linux-usb
-developers to adapt our local enhancements for suitability for inclusion into
-the mainline driver. Meanwhile, TMI will continue to maintain its branch of
-the cp210x driver. The `cp210x-module-dkms` package in the APT repository has
-been tested on Ubuntu Hardy, Karmic and Lucid systems, with both 32 and 64 bit
+this clearly has not happened yet. TMI has had some discussions with the
+linux-usb developers, and a decent number of changes need to be made before
+they will include our modifications upstream. Specifically, they want to see
+all ioctl calls replaced with other mechanisms. We hope to allocate some time
+to work on these issues in the future. Meanwhile, TMI will continue to
+maintain its branch of the cp210x driver. The `cp210x-module-dkms` package in
+the APT repository has been tested on Ubuntu 8.04 LTS (Hardy Heron), 9.10
+(Karmic Koala) and 10.04 LTS (Lucid Lynx) systems, having both 32 and 64 bit
x86 (Intel/AMD) processors.
# Utilities
TMI is starting to collect a number of small utilities for git. Each utility
-has a man page describing its operation.
+has a man page describing its operation. A few notables:
* `git-empty-branch`. Create an empty branch in a local git repository.
Morgan. See his [git utilities page](http://git-wt-commit.rubyforge.org).
We did not want to have to install ruby just for this one little utility.
+* `update-mirror`. A work in progress script to automate mirroring of upstream
+ repositories hosted on various revision controls systems. Thanks to the
+ authors of [girocco](http://repo.or.cz/w/girocco.git), whose clone.sh script
+ forms the basis of this script.
+
# Installation
To install the utilities, copy the scripts to `/usr/local/bin` and ensure they
business.
Please e-mail us with your questions, comments, or requests. The e-mail
-address is not really support@this.domain. Replace *this.domain* with the real
+address is not really oss@this.domain. Replace *this.domain* with the real
domain of this website, *titaniummirror.com*.
# The Projects
msp430 parts. The msp430 toolchain is composed of binutils, gnu compiler,
and libc.
-TMI is using the msp430 toolchain based around gcc-4.4.3.
+TMI is using the msp430 toolchain based on GCC version 4.4.3.
title: News
ctime: 2009-12-16
+### 2010-11-04
+
+[[TinyOS]] release 2.1.1-4.4 is available.
+
+* Revert to how 2.1.0 creates TOSMAKE_PATH. It adds TINYOS_MAKE_PATH to the
+ end, allowing local code to override system code. 2.1.1 adds TINYOS_MAKE_PATH
+ to the beginning, preventing local overrides.
+* Various USCI fixes.
+* Provide new system components SharedArbiterC and SharedSplitControlC. We use
+ these to activate subsystems ony when needed, where the subsystems are usable
+ by multiple higher-level components concurrently.
+* TinyOS by default presumes that on boot UartStream interface providers have
+ the receive interrupt active. We had presumed that it was better to allow
+ the code to specifically activate the interrupt when it was ready to handle
+ input data. TMI patch 4.4 now works like official TinyOS.
+* Remove bitfield warning in msp430 adc12 when using GCC 4.x.
+* Provide new interfaces ReadRefNow, Write and WriteNow.
+
+TMI has also updated to nesc-1.3.2. A big thank you to idgay, who fixed bug
+[3013497](http://sourceforge.net/tracker/?func=detail&aid=3013497&group_id=56288&atid=480036)
+that was preventing us from using nescc with GCC on Ubuntu Linux. Using the
+nx_ types of nescc to define cross platform data structures in header files
+shared between TinyOS targets and other systems is much more elegant than
+managing a parallel set of definitions defined programmatically by function
+calls to the TinyOS C-SDK.
+
+---
+
### 2010-05-26
TMI is migrating to a newer [[msp430]] toolchain and [[TinyOS 2.1.1]].
* 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.
+ communications. Both SPI slave and master modes are supported, with the
+ driver knowing what to do in slave mode if the slave unasserts its 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
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.3`
+* 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.3).
+ [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.
official TinyOS release version on which the code is based, and `tmiver` is the
version of the modifications applied by TMI. Released APT package versions are
associated with tags in the source code repository. Consider the latest
-package version, 2.1.0-4.2, for which these tags exist in the repository:
+package version, 2.1.1-4.4, for which these tags exist in the repository:
-* `debian/2.1.0-4.2-1tmi` is the tag of the 'debianized' code from which the APT
- packages version 2.1.0-4.2-1tmi were built.
+* `debian/2.1.1-4.4-1tmi` is the tag of the 'debianized' code from which the APT
+ packages version 2.1.1-4.4-1tmi were built.
-* `release/2.1.0-4.2` is the tag of the TinyOS code of which
- `debian/2.1.0-4.2-1tmi` is a superset, the latter containing the debian
+* `release/2.1.1-4.4` is the tag of the TinyOS code of which
+ `debian/2.1.1-4.4-1tmi` is a superset, the latter containing the debian
packaging files.
-* `tinyos/2.1.0` is the official upstream release on which `release/2.1.0-4.2`
+* `tinyos/2.1.1` is the official upstream release on which `release/2.1.1-4.4`
is based, the difference being the TMI enhancements.
-* `patchset/2.1.0-4.2` is the head of a string of commits from the
- `tinyos/2.1.0` tag that represent a clean patch series that applies the
+* `patchset/2.1.1-4.4` is the head of a string of commits from the
+ `tinyos/2.1.1` tag that represent a clean patch series that applies the
TMI enhancements to the official upstream release.
# Multiple source trees
The official TinyOS installs the source tree at `/opt/tinyos-2.x`. The TMI
version installs source trees at `/opt/tinyos/VER`. For example, the latest
-TMI tree is installed at `/opt/tinyos/2.1.0-4.2`. TMI also maintains in its
+TMI tree is installed at `/opt/tinyos/2.1.1-4.4`. TMI also maintains in its
repository the last few official source trees. At least one must be installed,
and the developer may install others as needed. When installing or upgrading
TMI TinyOS packages via APT, the latest TMI tree package is automatically
-installed. Source the script `/opt/tinyos/tinyos.sh` to set the three you wish
+installed. Source the script `/opt/tinyos/tinyos.sh` to set the tree you wish
to use. This script also updates your shell rc file (if running bash, ksh or
csh) so that your tree selection is persistent across logins.
tinyos-source - TinyOS source meta package
tinyos-source-2.0.1 - TinyOS source code tree
tinyos-source-2.0.2.2 - TinyOS source code tree
- tinyos-source-2.1.0 - TinyOS source code tree
+ tinyos-source-2.1.0 - TinyOS source code tree, upstream release_2_1_0_0
tinyos-source-2.1.0-3 - TinyOS source code tree
tinyos-source-2.1.0-4 - TinyOS source code tree
tinyos-source-2.1.0-4.1 - TinyOS source code tree
- tinyos-source-2.1.0-4.2 - TinyOS source code tree
+ tinyos-source-2.1.1 - TinyOS source code tree, upstream release_2_1_1_3
+ tinyos-source-2.1.1-4.3 - TinyOS source code tree
+ tinyos-source-2.1.1-4.4 - TinyOS source code tree
# Installing TinyOS