Skip to content

magicdominic/lowPWRsys

Repository files navigation

This is the skeleton app for the group project of the Low-Power Systems Design course.

A data generation component (DataGeneratorC) signals data events (Notify.notify()) at a fixed interval.
The data rate can be configured at compile by defining the constant DATARATE, e.g. "-DDATARATE=10" for 10 packets
per second. Important: do use the "DATARATE" macro in your code, instead read the value from the "datarate" variable
defined in GroupProject.h.
In the skeleton app, every node broadcasts one packet for every generated event. On receive, every node
forwards those packets that it has not seen yet. This forwarding concept, called flooding, propagates the packets in
the whole network. A sink node prints out the received packets.

The data generator component must not be changed and is built from following files:
  DataGeneratorC.nc
  DataGeneratorP.nc
  DataGeneratorRandomC.nc
  DataGeneratorRandomMlcgC.nc
  
Two Python scripts are provided to process the serial output generated by FlockLab:
  flocklab2printf.py: Converts hexadecimal TinyOS Printf-packets to readable format
  flocklab2KPI.py: Calculates the data yield and the average power dissipation. From these two figures a 
                   key performance indicator is derived.
                   
To run tests on FlockLab, the existing test configuration in flocklab.xml can be used.

The output on the sink node (node 1) should be TinyOS packets as specified in GroupProject.h, containing the
fields <source>, <seq_no>, and <data>.

Cooja:
If you want to use the code in Cooja, compile it using
CFLAGS+=-DCOOJA make tmote

---
If you're not using the LPSD virtual machine:
Additional libraries: To run the skeleton app on FlockLab, the sensor board definitions for FlockLab are needed. You can 
download them at https://www.flocklab.ethz.ch/user/platform-support-tinyos.php
The easiest way to incoroporate the those files is by putting the folder 'tos/sensorboards/flocklab' into your existing
TinyOS directory. The FlockLab sensor board definitions map the calls to the LedC component to the corresponding pins
on the FlockLab observer, i.e. LED changes can then be observed using the GPIO tracing service of FlockLab. Additionally
it contains a clock calibration components to stabilze the DCO of the MSP430 such that serial communication gets more
reliable.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published