Update History

04-07-2011 NescT is compatible with OMNeT++ 4.2
Corrections in nesct binary and tictoc directory have been made to make nesct compatible with OMNeT++ 4.2.

30-09-06 Bug fixes, MAC OS/X port and new applications

new application: TinyECC (Tiny Ecliptic Curve Cryptography)
new application: SeMA
new application: Straw (Scalable Thin and Rapid Amassment Without loss)
fixed arrayed parameter handling for functions.
nesct now treats configuration files without case sensitivity. you do not need to be picky about the cases anymore.
better macro preprocessing of components
replaced callback library for portability reasons.
fixed a timer bug, a repetitive timer would not stop if you called timer.stop in fired function.
NesCT runs on MAC OS/X now, thanks to Anna for help and patience.
fixed an initialization problem with MintRoute (WMEWMA) component.
fixed initialization problem with ByteEEPROM,ByteEEPROMAllocate and PageEEPROMShare components.

16-09-06 Power Management Module and message counters Integrated

Fixed memory problems
Resolved AODV compilation problems
Added a new simple power management module, consumption values need to be checked.
New application : TinyKeyMan
UART receive, Radio send and receive counters are activated

13-09-06 Fixed memory access problems with NesCT and ported DSDV protocol

Byte level UART transfer is removed from the package, we expect packets instead of bytes.
Fixed some of the memory leaks of NesCT. Access violation errors were also fixed.
There has been a name clash between util.h of omnetpp and nesct. Nesct's util.h has been renamed to nesct_util.h.
DSDV protocol is now part of our application suite.

02-09-06 New Simulation Example: Deluge, and fixed EEPROM and directory permissions problem

Deluge, the famous code distribution protocol of tinyos, is now working with OMNeT++ now and included in example package.
There used to be a problem with single shot timers, fixed.
Added packet loss due to biterror.
Fixed a bug with EEPROM , would not read or write at the same moment to EEPROM.
EEPROM files are located in logger directory and from now on, the contents of these files are saved across simulations.
Fixed a permission problem with creating directories, NesCt does not require you to be a root user anymore.

22-08-06 Support more nesc features and TinyAODV simulation

default command handlers are now handled.
TinyAODV is working with the simulator
more nesc features are covered by nesct.

13-08-06 Fix MF Support

MF support is back again.
MF and regular example package have been merged into a single application. MF specific files reside in mfw from now on.
TinyOS Java files are now part of example package. You do not need to install TinyOS anymore.

01-08-06 Better compatibility and new software design

Dropped hplclock component support, we use native OMNeT++ timers instead.
NesCT no longer makes RPC calls between modules.
Less memory consumption.
MNP protocol works with NesCT.
Dropped multithreaded versions of OMNeT++ libraries.
VS6 is no longer supported
Merged VS7 and VS8 support into a single configuration named config.win32
new batch files for windows such as compile.bat, rebuild.bat, buildall.bat are included in example directory
The limit with the number of prototypes that you can define inside a tinyos module has been removed.

26-06-06 Fixed memory leaks and crash problem resolved

Clean up memory leaks resulting from any. Still it is not finished.
Tictoc uses real time scheduler from now on in order to solve race problems between external event injector and simulation environment.
Fixed a simple but serious bug that would take the enums in the reverse order.
Library package has been rebuilt to use existing supporting libraries (Tcl,tk,xml) from OMNeT++ installation instead.
added stacklist free upon program termination
clean up redundant source_iface parameter of messages passed between modules.

22-06-06 Microsoft Visual Studio Express Edition 2005 Support

Added config.win32.vc8 to support new free MS compiler.

24-11-05 - Better Windows Build Support

Windows build is more complete now. Added config.win32.vc6 and config.win32.vc7 configuration files for visual studio builds. Microsoft Visual studio 6.0 and visual studio toolkit 2003 has been used for testing.

18-11-05 - EWsnSim Integration and finish function support

Integration of NesCT to EwsnSim is now complete. Download and play with tos_example_ewsnsim package. You may check ewnsim website for further documentation.

You may want to run a function about the moment that simulation is to terminate. If you include a function named omnetpp_finish in your code, it is going to be called automatically.

17-11-05 - MF Integration and memory leak clean up

Integration of NesCT to mobility framework is now complete. Download and play with tos_example_mf package. You may check mobility framework website for further documentation.

NesCT has been adopted for portability, i.e., it uses TinyOSPkt message structure for exchanging buffers between sensor nodes. Memory leaks found were also cleaned.

15-11-05 - Windows port efforts and abstract middle class

This version now builds with windows using visual studio, mingw and cygwin. i have created an abstract class named cTinyOSModule from which all the software modules inherit. You can add your module inheritance to this class to make the integration. When you receive a message from the network, send it to the parentModule. ParentModule is going to route it to the tinyos receive functions.

13-11-05 - Removed limitations of data types that we can carry with cPar

Until this release, we used to convert every parameter of a function to void pointer and transfer between modules. Later at arrival, we were casting it back to the original type. Nevertheless, if the data type we want to carry is double, then data will be lost. We also had similar problems with struct pointers. We fixed this problem by patching cPar.

11-11-05 - private component repository and shared methods support
Testing NescT with different systems showed that sometimes the components that reside in component directory of examples may not be compatible with the components of your TinyOS distribution. To avoid this problem, we have copied all components that examples require to the components directory. In other words, NescT does not need TinyOS for examples anymore. You need TinyOS only for the jave support tools. Assuming that there will not be so many changes with the data structures and GUI tools, they should be compatible. We may also copy java tools to the example directory some day.

To make NesCT more complete, share method support has been added with this release. To learn more about shared methods, check out the manual section.

03-11-05 - fix uint64_t definition and multiple sensor applications in one sensor simulation
Older Linux systems do not define uint64_t; whereas, newer ones define uint64_t by default. We define our own types in the source code from now on. Due to some simulation needs, nesct and OMNeT++ can be used to do mixed simulations. For example, you can program one node with CntToRfm and another with RfmToLeds. These will both work within the same simulation environment. In order to support this new feature, build step has changed slightly. Overwrite Application.nc in tictoc as usual. Run NesCT with Application.nc (CntToLedsAndRfm). All the code generated for this application will get the prefix for the starter module name (for example cCntToLedsAndRfm_Timer.cc). Copy the other application (RfmToLeds.nc) over Application.nc again. Run nesct again. Newly generated modules will get RfmToLeds prefix. Edit tx1.cc in the main directory to decide about which node to start which application. By default only node 0 gets the first application (this could be TOSBase for instance). Rest of them will have the second application.

31-10-05 - Changes in the release structure

As of 31-10-05, we have separated examples package into two. The idea is that we do not expect libraries to change quite often, while this is not true for the rest of the examples directory. In order to compile, you'll need one example package and one library package. Extract both of them to the same directory. Libraries should go to the relevant places in the example directory.

31-10-05 - Major updates in NescT

NescT has been going under major updates recently. The new NescT gives support for default event handlers. Default event handlers are used when the programmer does not provide an event handler function. Default handlers may accepted as weak because if a user forgets to provide a handler, then NescT will not notify about this event. However, there may be cases where you do not want to handle everything

Why to support default event handlers ? We now have support for Surge example application. Surge application and multihop routing algorithms make have use of default event handlers. Check examples section for how to test Surge.

A sensor device may use its internal flash memory for storing data where its built-in memory is not enough. There is a 512k flash memory found in mica family of motes. We did not have this support before. Now and then, you can use software that uses flash memory along with nesct. Check examples section for LoggerTest.


This project has been supported by Featherlight project at University of Twente, the Netherlands and European Embedded WiseNt project at Yeditepe University.