Toggling a TelosB ADC Pin

From Cyber-Physical Systems Laboratory
Revision as of 16:05, 22 September 2009 by Liangfok (talk | contribs) (→‎TinyOS 2.x)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

TinyOS 1.x

First do this in StdControl.init():

TOSH_MAKE_ADC3_OUTPUT();

To set the pin high:

TOSH_SET_ADC3_PIN();

To set the pin low:

TOSH_CLR_ADC3_PIN();

You can of course switch the ADC number, and maybe even replace it with GIO#.

TinyOS 2.x

In TinyOS 2.x, pins are toggled via interface tos/chips/msp430/pins/HplMsp430GeneralIO.nc.

There is a configuration file called "HplMsp430GeneralIOC" in the same directory that provides multiple instances of the above interface, one for each port. The port corresponds to the port number of the MCU, some of which map to exposed pins on the TelosB. See the schemetics of the TelosB to determine which ports map to which exposed pins on the PCB. Toggling the port consists of calling the following commands:

HplMsp430GeneralIO.makeOutput()
HplMsp430GeneralIO.clr()
HplMsp430GeneralIO.set()
HplMsp430GeneralIO.toggle()

Here is an example application that demonstrates how to toggle pins on the TelosB in TinyOS 2.x: Link