A NesC programozási nyelv

Példaprogramok

1. legmouse leírás fejlesztőknek

A legmouse két programból áll. A SenseAccel a szenzoron fut és TinyOS - nesC környezetben készült, a nipg.legmouse.Main pedig a PC-n TinyOS - Java környezetben fut. Elsőként a SenseAccel-t ismertetjük.

A SenseAccel program

A program fordításával és a TinyOS fejlesztői környezet beállításával ebben a leírásban nem foglalkozunk, ezeket ismertnek tételezzük fel.

A program a mote elindulása után felváltva mintavételezi a két, egymásra merőleges tengelyű gyorsulásmérő szenzort, majd a mért adatokat meghatározott gyakorisággal kiátlagolja (simítja), és elküldi rádión a PC-nek. A gyakoriságot egy késleltetési paraméterrel szabályozzuk, amely azt mondja meg, hogy egy csomag elküldése után hány milliszekundumot kell várni a következő küldés előtt. A gyorsulási adatok gyűjtése egy pufferbe történik. Ebből a pufferből vesszük ki és küldjük el az adatokat. A két folyamat (gyűjtés, elküldés) egymástól függetlenül zajlik, azaz a mintavételezés folyamatosan megy, az elküldést pedig egy időzítő váltja ki. Ennek az időzítőnek a paramétere a késleltetés amiről az előbb szó volt. A késleltetést futás közben is állíthatjuk egy rádiós üzenet segítségével.

A forrás három file-ból áll: a SenseAccel.nc tartalmazza a program top-level konfigurációját; a SenseAccelM.nc a működést leíró egyetlen modul; a radio.h pedig a rádiós üzenetek formátumleíróit definiálja. Kezdjük ez utóbbival!


legmouse_mica2.zip

Szerző neve: Szendrő Balázs
Készítés éve: 2006