TinyOS 1.1.x Significant Changes
|
This document outlines the changes that have occured in TinyOS in the minor releases since the last major release (1.1.0). The changes are listed by release number. A change made in release 1.1.(n) is not also listed under release 1.1.(n+1).
You can view the cvs commit log for the core tree at http://mail.millennium.berkeley.edu/pipermail/tinyos-commits/. You can join the tinyos-commits mailing list at http://mail.millennium.berkeley.edu/mailman/listinfo/tinyos-commits
Significant Changes in TinyOS between v1.1.14 and 1.1.15
Updated Dec 28, 2005 |
Kamin Whitehouse's Hood has been moved to the core. Hood provides a Distributed Programming Abstraction for sensor networks and includes 5 new tinyos libraries to: 1) automatically define a namespace of node attributes such as location, sensor values, etc, which is exposed through a central 'registry' 2) store these attributes to flash 3) expand that namespace to attributes of neighbors (hood) 4) expose arbitrary functions, including the get/set functions of registry attributes to other nodes and/or the pc through an rpc interface 5) expose arbitrary module variables through the same rpc interface. These libraries require code generation and must be used with nesc 1.2 or later. The code generation scripts are in tinyos-1.x/tools/scripts/codeGeneration.
You can read an overview of hood and find pointers to papers at Kamin's project page. Further documentation can be found at the Hood wiki.
Drip/Drain. Gilman Tolle's Drip and Drain work has been moved from beta into the core (tinyos-1.x/lib). Drip is a transport-layer component for epidemically disseminating messages throughout a network; Drain is a collection routing layer. Drip/Drain comes with extensive server-side java tools and test applications. You can read more about the Drip and Drain protocols in the README files in their respective beta directories: beta/Drip and beta/Drain.
pytos. Kamin Whitehouse's pytos is a python-based toolchain for tinyos with a dynamic typing system. It automatically imports the enums, types, message formats, modules, variables, and rpc functions from applications that are compiled with the 'rpc' and 'nescDecls' targets.
pytos includes several utilities such as the ParseArgs.py utility to parse the motecom and platform arguments from the commandline and Listen.py that pretty prints all incoming packets, even if they come in over a routing layer such as Drain (see below). MessageSnooper is a library that knows about all routing layers. It uses introspection to see which routing layers are compiled into the application and registers for all packet types for all routing layers.
Please see the following two wiki pages for pytos documentation: Pytos Installation Instructions and Pytos Development Environment .
Deluge has had a general code cleanup. The trickle timer period has been increased by two orders of magnitude. Rebooting to the same image is now possible. Can ping a specific node ID. Server-side java tools allow rebooting even when one or more nodes not running Deluge as expected. TOSBoot size has been reduced for the MSP platform. TOSBoot will fail if the program image starts at the wrong address (program too small or compiled for a different bootloader/revision).
Deluge now forwards messages that are not only valid deluge messages, but also do not have image numbers greater than what is supported (could occur when running nodes with different number of images) (Jonathan Hui).
Fixed a bug in msp430hardware.h:_nesc_atomic_sleep(). If timerA is used by a module (such as the ADC) for triggering samples, the DCO must stay on. If the samples are recovered by the DMA, then the timerA interrupt enable bit is not set (since the DMA handles the ifg flag being set). In this case, you want to check if timerA is NOT in "stop_mode", and if it is using a clock source that relies on the DCO. (Joe Polastre)
Fixed LED PowerState bug so that PowerState's version of the LEDs now reflects reality (Viktor Schnayder).
Significant Changes in TinyOS between v1.1.13 and 1.1.14
Updated July 29, 2005 |
Deluge 2.0. Version 2 of Deluge, TinyOS's state-of-the-art network programming system, has been moved from beta into the main tree and is now the default version for both AVR and MSP430 platforms. Among many significant Deluge changes, the TOSBoot bootloader is now installed by default when installing any TinyOS application. This policy is implemented by setting TINYOS_NP ?= BNP in tools/make/Makedefaults. The user can override the policy by setting TINYOS_NP=x where x is anything != to BNP. TOSBoot also provides on/off capability for telosb and tmote sky nodes by holding the user button when resetting a node. You can read in detail about Deluge 2.0 at the Deluge web site.
More sample apps.Several apps have been moved from tinyos-1.x/beta into the core apps directory tinyos-1.x/apps: GlowRadio, GlowLeds, Pong, SurgeTelos, TelosADC and TelosPWM. To support these apps, the following libraries were also moved from beta into the core: lib/Oscope, lib/LedsIntensity and lib/MultiHopLQI.
New Flash Support. New Flash support for new Flash BlockStorage interfaces have been added for the AT45DB and STM25P flash chips (found in the Mica family). Among other things, this allowed Deluge 2.0, which requires these new interfaces, to be ported to all of the Mica motes.
Several improvements to the TOSBase bridge application:
The Hamamatsu sensor has a slightly different interface in that it is no longer necessary to set the ADC pin SEL functionality; this is done automatically by MSP430ADC12M. ADCSingle and ADCMultiple interfaces have been added to the PAR and TSR sensors. Lastly, the drivers have been cleaned up. The new driver has new features not found in any previous version of the humidity sensor driver. These features include, but are not limited to:
Motelist. Motelist for Linux kernels 2.6.x now requires only the /sys filesystem such that superuser access is no longer necessary to read special files. Alos fixed motelist for procfs in kernel 2.4.x to show the correct usb path given in usbserial not usb/devices.
Bug fix to tos/platform/micaz/VoltageM.nc; state was not getting reset to S_IDLE (Razvan Musaloiu).
Fixed critical bug that would cause InternalFlash to misbehave after 128 writes. Wasn't casting a variable to int8_t before testing its sign (Jonathan Hui).
Bug fix in CC2420RadioM.nc for race condition in CC2420 radio stack: If ACK comes in before PacketSent() runs, the PacketSent() task could be posted twice (duplicate sendDone events). Fix: set the state to a different value to suppress the later task (Matt Welsh).
Fixed bug in java/net/tinyos/message/MoteIF.java where if source was started before MoteIF initialiser called, source.awaitStartup() wasn't called because of a prior exception when attempting to start source (David Gay).
The problem observed was that timers in TOSSIM sometimes fire early. This happened because of a bad interaction between how TOSSIM emulates the hardware counter and how it handles time events (David Tucker).
Bug fix in Mate VM Hamamatsu sensor implementation where the HamamatsuM.TSR was accidentally wired to the HamamatsuC.PAR rather than Hamamatsu.TSR. (Mark Kranz)
Significant Changes in TinyOS between v1.1.12 and 1.1.13
Updated May 25, 2005 |
New DemoSensorC component added to Mica Weatherboard sensorboard.
tos/interfaces/HPLPowerManagement interface now has enable() and disable() commands to enable proper nested usage.
Deluge: improved error-case handling in bootloader and added image verification by checking CRCs. Reduced bootloader codesize by about 1.5K; GoldenImage now compiles to 20894 bytes (in nesc-1.2alpha7). Overhead of including Deluge in SurgeTelos is 7746 bytes, which includes the storage stack.
Code cleanup for MSP430's internal flash; reduces code size by nearly 25%.
Because Deluge's StdControl.init() configures TOS_LOCAL_ADDRESS, moved MultiHop basestation initialization from StdControl.init() to StdControl.start().
Matlab documentation in tools/matlab/doc has been consolidated into a single FAQ in the same directory and updated the tutorial in doc/matlab.html.
Make system additions:
Removed some atomic sections from around commands in MSP430 platform-specific files where (1) the command compiles to a single MSP instruction and (2) it doesn't break Deluge for some unknown reason. (Recommended by Henri Dubois-Ferriere, EPFL)
Added code to help with serial problems between Linux 2.6, USB serial ports, and the MIB510. These changes included changing the port settings and adding a retry if the programmer doesn't respond initially. Also changed the COMn reference to /dev/ttySn to help Cygwin work better.(David Gay, Intel Berkeley)
Fixed a bug in CC1000ControlM.nc where the incorrect register was written. (Joe Polastre, UCB, SF Bug#1110032)
Fixed CC1000 stack to work if someone specifies a 0-length packet. (Joe Polastre, UCB)
Significant Changes in TinyOS between v1.1.11 and 1.1.12
Updated April 25, 2005 |
In CC2420 stack, added additional protection on starting and stopping the SPI bus. Keeps track of whether the component is busy doing something before disabling SPI. Also added more protections in other functions for enable/disable.
In preparation for TinyOS 2.0, many components are being rewritten according to TEP (TinyOS Enhancement Protocol) 101. You can read TEP 101 (currently in draft form) on the TinyOS 2.0 Working Group page. Please also refer to other TEPS on that page. Along these lines code has committed an HPL for the telos DMA and other components. Please refer to the http://mail.millennium.berkeley.edu/mailman/listinfo/tinyos-commits archives for full details.
A new Voltage Component replaced the old one in tos/system. The new component's interface returns the ADC value in millivolts, and uses new underlying platform-specific voltage modules. On the msp430 platform, the voltage module automatically switches between 1.5 and 2.5V reference voltage depending on what the measured system voltage. Allows for accurate sampling of voltages above 3V. The conversion was carefully coded to reduce computation time but does include one integer divide; those concerned about this computation time can use the ADC interface directly.
Rewrite for MSP430 DCO calibration/init methods. Single calibration/initialization gains include: order of magnitude faster (9ms), 2/3 smaller (74 ROM bytes), 5-8 bytes less RAM. Using this calibration routine, have successfully transmitted over the UART at up to 1Mbaud (though 256Kbaud appears overall more robust). Continual/sliding-mode recalibration improvements include: the DCO can be adjusted by about 0.35% every two seconds; this routine can account for a change of about 0.5 degC / sec. Please see http://mail.millennium.berkeley.edu/pipermail/tinyos-commits/2005-March/005959.html for details.
The ncc family of tools (ncc, mig, ncg, nesdoc) has moved from the nesc project's source tree into the TinyOS source tree. ncc can be found in tools/src/ncc.
tools/scripts/taskCount.pl will count the number of tasks in an application for you. For example, to count the tasks in Blink for the telos platform, do 'taskCount.pl telos'. (You must compile the application beforehand.)
Bug fixed where when stop is called on HPLCC2420M while it is in the middle of an operation then the while(spi_action) loops never return and system is hosed. By including an enable flag, the loops break out and program execution continues. (Joe Polastre, UCB)
Merged in proposed changes suggested by Anders Blomdell, who wants bsl to
recognize a mote reference number and deduce the serial port. Modified
his original submission to recognize bsl,ref, instead of bsl, to
avoid any ambiguity between serial port names and reference names. (Anders
Blomdell, Lund University, Sweden)
Tweaks to build-mspgcc to make it more robust: added some
exit code under certain conditions and modified how BUILD_BASE is
defined. (Henri Dubois-Ferriere, EPFL, Switzerland) Another tweak to
enable use within firewalls (David Gay, Intel).
Slow down broken I2C, so that the mda300ca digital I/O stuff works. This involved changing a wait in the I2C task from a nop to a TOSH_uwait(1). (David Gay, Intel)
Updated enable/disable functions or msp430 USARTs to appropriately change the pin functionality when enable or disable are called. (Jonathan Hui, UCB)
Updated February 23, 2005
Deluge. Added a script to generate an xml file for a TinyOS
image. The file includes various metadata information important for
network programming. Sample output is included below. Currently only
included when building for telosa/b. Increased the program name length
in Ident.h from 10 to 17 bytes to be more meaningful.
MSP430. In preparation for TinyOS 2.0, many MSP430 platform components are being
rewritten according to TEP (TinyOS Enhancement Protocol) 101. You can
read TEP 101 (currently in draft form) on the TinyOS
2.0 Working Group page.
MSP430ADC12[Advanved|Basic] has been replaced by
MSP430ADC12[Single|Multiple]; high-frequency sampling of above 70ksps
is now available. HIL (see TEP 101 for what HIL means)now provides
ADCSingle and ADCMultiple (to stay compatible also ADC and ADCControl
are provided). The MSP430 platform also saw the initial checkin of
hardware I2C module driver for. The I2C module the
f15x and f16x series of microcontrollers as well as any others that
have the built-in hardware I2C module. Details on the msp430 I2C interface
are
here. This MSP430 work was contributed by Jan-Hinrich Hauer, Vlado Handziski, and
Kevin Klueska of TU-Berlin.
Telos B.A more efficient CRC calculation has been added
by providing a method in the HPL. A new component, I2CPacket, was committed
which uses the new I2C functionality described above; I2CPacket is responsible
for obtaining exclusive access of the I2C bus (in the case of telosb,
it is shared with SPI and UART) starting the I2C component (MSP430I2CM
in our case), running the operation, and then stopping the I2C
component (which restores the previous settings for the USART, such as
SPI configuration for the radio). More details on I2CPacket can be found
here.
The TinyOS RPMS sets the MAKERULES environment variable to point to
the new make system in tools/make. If you want to use the old
system simply comment out where MAKERULES is defined in
the file /etc/profile.d/tinyos.sh. If MAKERULES is not defined the
old make system will be used.
New options to support Debian linux were added to motelist-linux2:
Fix for the MicaZ CC24220 where sleep mode halted and didn't wake up.
(Jaidev Prabhu, Crossbow)
Fixed a bug in the AVR makefiles which caused images to be recompiled
under the reinstall command. (Jonathan Hui, UC Berkeley)
Fixed a bug in the HPLUART1M.stop() code reported by Paul Young for the
mica2 platform.
Updated January 7, 2005
Significant Changes in TinyOS between v1.1.10 and 1.1.11
Added functionality to avr makefile for compiling frequency
into app via the make extra flags. See /tools/make/avr/freq.extra.
Significant Changes in TinyOS between v1.1.9 and 1.1.10
Additional radio configuration tweaks are available for the CC2420 radio:
1.1.10 includes full support for Berkeley's Telos Revision B. Rev B has 10kB of RAM (vs 2kB for Rev A) and 48kB of Flash (vs 60kB for Rev A), reduced radio startup time, JTAG support, and more. Moteiv has written an changes document for Rev B.
New build scripts for the MSP platform tools are now in tools/src/mspgcc. The build-mspgcc script will download, build, and install mspgcc with the appropriate patches for the newest, greatest msp430 devices.
Miscellaneous bug fixes and platform cleanup were done on the C serial forwarder [tools/src/sf]. See here, here, and here for details. (David Gay, Intel Research)
Fixed bug so that now any sensorboard will work with PowerTOSSIM. (Victor Schnayder, Harvard)
Fixed bug in which message pointers could be erroneously shared by multiple motes in TOSSIM (Matt Welsh, Harvard).
Significant Changes in TinyOS between v1.1.8 and 1.1.9
Updated December 1, 2004 |
PowerTOSSIM, a power modeling extension to the TOSSIM TinyOS simulator, is included in 1.1.9. PowerTOSSIM accurately models power consumed by TinyOS applications. You can find more information at http://www.eecs.harvard.edu/~shnayder/ptossim/ . (Victor Schnayder, Harvard.)
Since 1.1.6, TinyOS has included an alternative make system which allows easier introduction of platforms. We have not made this make system the default, however, because it requires make 3.8 which (1) not everyone has and (2) has some bugs which are tickled by some of TInyOS's major subsystems. Towards fixing (2), Phil Levis has provided a patch for make 3.8. We have included a patched make executable in tools/make (the executable is also present in 1.1.8).
On the TI MSP430 platform, each sensor now has its own header file with constants for interface ID and the "adcPort" parameter. This makes code cleaner and saves RAM, since uniqueCount("ADCPort") now reflects the actual number of interfaces wiring to ADCC. Some files in the corresponding platforms were modified to take into account the new msp430 definitions. (Jan-Hinrich Hauer, TU Berlin.)
Bug fix to the avr and msp make rules to fix the RAM usage byte count; was previously undercounting usage. (David Gay, Intel Research)
Bug fixes to SerialForwarder multiple platform support. Details can be found at http://mail.millennium.berkeley.edu/pipermail/tinyos-commits/2004-November/005527.html. (David Gay, Intel Research)
Significant Changes in TinyOS between v1.1.7 and 1.1.8
Updated November 15, 2004 |
TinyOS 1.1.8 includes the new network programming system called Deluge . Deluge provides the ability to wirelessly install a new program image. This is accomplished by propagating a program image over the wireless network and having each node program themselves with the new image. See the Deluge web site for more information on how to start programming your motes wirelessly with Deluge.
Initial checkin of the InternalFlash interface. This is a generic interface for reading and storing values in the internal flash of a microcontroller. This generic interface is necessary since different platforms have different requirements when writing values to internal flash. For example, on the msp the entire segment which encloses the intended write location must first be erased. Some software logic is required to make sure all other values not at the intended write location are preserved. However, on the avr platform (which has an EEPROM), an erase of an entire segment is not required.
Replaced the CC2420 stack with new interrupt-driven stack. New interfaces (Capture and Interrupt) signal radio interrupts on a platform independent basis and allow time stamping information to propogate up through the radio stack. This interrupt driven radio stack is needed to support time stamping as well as low power listening.
Introduced a Quick/Fast CRC calculation for MSP430 based platforms. See tos/platform/msp430/crc.h.
The tools/make makefile system now has support for Telos Rev B (telosb vs telosa).
Matt Welsh has added some support for the FreeBSD development platform.
1.1.8 includes many bug fixes in the
Patch submitted by David Moore to fix a condition under which the CC1000 stack hangs due to a task queue starvation problem. Details can be found at http://mail.millennium.berkeley.edu/pipermail/tinyos-commits/2004-August/004891.html. The fix was to only make some relatively expensive calls if a post succeeded rather than whether or not the post succeeded; not making those calls gives the task queue enough time to run in the case that the post failed due to task queue overflow.
Bug reported by Thanos Stathopoulos which occured in CC1000 stack when acks were enabled and broadcast messages were sent. This fix causes the radio to only wait for an ack if the message is unicast, otherwise it transitions to the TX_DONE state. Details are at http://mail.millennium.berkeley.edu/pipermail/tinyos-commits/2004-August/004990.html.
This patch fixes two sources of Timer error. The first is when a task post fails: TimerM now sets state appropriately and does not blindly assume it was able to fire its timers. The second is when adjusting the firing interval in very small amounts. In the old version, a subtle race condition could cause TimerM to set the compare register to a past value. Instead of firing in 1ms, it would fire in 256 ms, which completely threw all timers off.
For full details on this patch, refer to the discussion on the tinyos-devel list under the threads "mica* TimerM" and "TimerM.nc changes" on Aug. 9-12 2004.
Bug fix from Hardy Griech in tos/lib/MultiHopLQI: update interval should have been in seconds, not milliseconds.
Bug fix by Crossbow on micaz platform where TIMER2 Compare Interrupt Service routine incorrectly sets TIMER0 (should be TIMER2) scale and interval when in REPEAT mode.
Bug pointed out by Peter Tian in CC1000ControlM: removed outp() statement to timer3 (not needed, adverse affects when others are using timer3).
Bug fix submitted for tos/platform/telos/TimerJiffyAsyncM.nc by phil buonadonna for timers longer than 0xFFFF that caused an overflow-ish problem.
Bug fix from Xiaofan Jiang, Joe Polastre for tos/platform/msp430/ADCM.nc: reset busy-variable in dataReadySingle so that the eventhandler can call getData right away.
Added motelist support for linux. Motelist lists currently connected telos motes and which USB port they're connected with.
Since 1.1.7 but before 1.1.8, Phil Levis released version 2.0 of Maté. Maté allows you to program sensor networks with high-level scripts that compile down to bytecodes for an application specific virtual machine. RPMs and a full set of tutorials can be found at http://www.cs.berkeley.edu/~pal/mate-web/ .
Index >
Significant Changes in TinyOS between v1.1.6 and 1.1.7
Updated July 14, 2004 |
1.1.7 includes platform support for MicaZ and Telos . For more information on the MicaZ platform, please see Crossbow. For more information on Telos, please see Moteiv . The telos support includes code contributed by TU-Berlin for the TI MSP430.
TASK-TinyDB 1.1.3 will be released in conjunction with tinyos-1.1.7. TASK-TinyDB 1.1.3 includes fixes to address compilation errors caused by changes in TinyOS 1.1.6 and 1.1.7.
Index >
Significant Changes in TinyOS between v1.1.5 and 1.1.6
Updated May 10, 2004 |
TOSSIM now supports the PageEEPROM component for the PC platform.
There is a new make system which, among other things, eases the addition of new targets and platforms. The old make system is still the default. To read about and use the new make system, see tinyos-1.x/tools/make/README.
You can now have >= 16 timers thanks to a bugfix in tos/system/TimerM.nc.
Add hardware platform abstraction component for Mic component to fix the cross-platform interrupt issues. TONE_INTR compiling issue is also resolved.
A number of changes to the simulation tools. Please see the tinyos-1.x/ChangeLog for details.
MACControl interface change. MacControl no longer has the Backoff events in it. It seemed that people really just wanted to turn ACKs on and off and likewise other radio functionality but not worry about changing the backoff. As a result, there are two interfaces--MacControl and MacBackoff and you can wire to the appropriate one. The CC2420 radio stack also has these two interfaces.
Task scheduling. You can now change the size of the task queue by adding -DTOSH_MAX_TASKS_LOG2=n (to get 2^n tasks) to the compile command line via, say, a Makelocal file.
Tinyos-contrib version 1.1.2 was released a few weeks ago. It includes the first release of TinyGALs. The tinyos-contrib rpms can be found in the linux and windows rpm directories along with all of the other 1.1.x releases.
Index >
Significant Changes in TinyOS between v1.1.4 and 1.1.5
Updated 26 March 2004 |
This section outlines the changes that have occured in TinyOS since the 1.1.4 snapshot release and the 1.1.5 minor release. While there are no major changes for 1.1.5, the changes with the most impact include bug fixes and improvements to the Tython scripting environment, an update release of TinyDB/TASK, plus miscellaneous bug fixes across the system.
Improvements and bug fixes were make to Tython, the TOSSIM scripting environment introduced in 1.1.3. The improvements made include internal restructuring to support the simulation of SimObjects that are not MoteSimObjects (this may cause minor incompatibilities with plugins)and some miscellaneous bugs that left the TOSSIM processes running after TinyViz/Tython exited.
For more information about Tython, please see the User Manual in the doc/tython directory.Among numerous tweaks: fixed bug #909637 regarding interrupt pin incompatability between the MICA and the MICA2; fixed the file save operation in the Oscilloscope Java GUI to correctly handle dropped packets and null elements in the vector.
The 1.1.2 minor release of TinyDB/TASK is expected to be released simultaneously with TinyOS 1.1.5. The 1.1.2 TinyDB/TASK snapshot will include numerous bug fixes and upgrades. For more information on TinyDB, please see documentation in the doc/ directory. We will also be releasing some contrib directories where the authors have requested it.
Index >
Significant Changes in TinyOS between v1.1.3 and 1.1.4
Updated 5 February 2004 |
This section outlines the changes that have occured in TinyOS since the 1.1.3 snapshot release and 1.1.4 minor release. The major changes in 1.1.4 include the new tython scripting environment plus various bug fixes.
TinyOS 1.1.3 includes Tython. Tython is a TOSSIM scripting environment that uses a Java implementation of the Python programming language. Tython allows users to write scripts to do things such as dynamically move motes, inject packets, and inspect the internal state of the simulation. Tython allows full access to the existing Java TinyOS toolchain, so users can write a piece of TinyOS messaging code, generate a Java packet object from it using mig, then use Tython to inject those packets into a running simulation.
Tython is integrated with the TinyViz environment; this means that, for example, if a script makes a mote move, a user can see the movement in the TinyViz visualization and its radio connectivity will be updated as expected. TinyViz and Tython can be run separately from one another.
For more information about Tython, please see the User Manual in the doc/tython directory.
The 1.1.2 minor release of task-tinydb is expected to be released simultaneously with TinyOS 1.1.4. The 1.1.2 task-tinydb snapshot will include numerous bug fixes and upgrades. For more information on TinyDB, please see documentation in the doc/ directory.
Index >
Significant Changes in TinyOS between v1.1.1 and 1.1.3
Updated 7 January 2004 |
This section outlines the changes that have occured in TinyOS since the 1.1.1 snapshot release and the 1.1.3 minor release. The major changes in 1.1.3 include the new MAC layer, B-MAC, as well as various bug fixes.
TinyOS 1.1.3 includes B-MAC, a new MAC layer w/ CSMA with collision avoidance, gain control, channel filtering for channel clear decisions; max bw from 42 pckts/sec to 53 pckts/sec, outperforms the 1.1 MAC layer by over 100% (in terms of packet throughput) while achieving 85% channel utilization.
Released simultaneously with TinyDB 1.1.3 is the 1.1.3 minor release of task-tinydb which includes numerous bug fixes and upgrades. For more information on TinyDB, please see documentation in the doc/ directory.
Index >
Significant Changes in TinyOS between v1.1.0 and 1.1.1
Updated 24 November 2003 |
This section outlines the changes that have occured in TinyOS since the last major release (1.1.0) and the 1.1.1 minor release. The changes in 1.1.1 include a more reliable routing implementation, a calibrated interface to the ADC as well as various bug fixes.
TinyOS 1.1.1 includes a new routing module, named MintRoute with increased reliability. The algorithm features improved parent selection leading to relatively shorter trees.
A new ADC interface allows for calibrated and non-calibrated (legacy) ADC reads by providing two additional methods to control reference value calibration. The new interface is used by default, but supports legacy ADC reads. See the ADCControl.nc file for more information.
The TinySec usage model has changed. Rather than having to wire to
SecureGenericComm to use TinySec, you can now leave your wiring files the same
and simply use TINYSEC=true on the command line. Example:
make mica2 TINYSEC=true
This works with any application using the Makerules in the apps
directory. The methods for changing the security mechanism used
(authentication, authentication+encryption, or CRC) for transmission
still use the TinySecMode interface exported by TinySecC, but will likely
change in the next release.
There is now a reset target in Makerules: make platform reset.
Bug fixes include I2C bug fixes, and a compile fix for tossim so that newer versions of cygwin (newer than that distributed with TinyOS 1.1.0) work.
Released simultaneously with TinyDB 1.1.1 is the 1.1.1 minor release of task-tinydb which includes numerous bug fixes and upgrades. For more information on TinyDB, please see documentation in the doc/ directory.
Index >