BEXUS 2012
Kommunikációs és adatmegjelenító szoftver
Bevezető

A passzív detektorok mellett a kísérlet központi egységét a TriTel aktív szilikondetektor és beágyazott rendszer képezi, mely további mérőeszközök (Geiger-Müller számlálók, hőmérők) csatolását is lehetővé teszi. A TriTel processzorkártyáján egy speciális kommunikációs és adatgyűjtő szoftver működik, mely képes soros porton az adatokat továbbítani a kommunikációs protokollt megvalósító másik szoftvernek. A feladat ennek a központi szoftvernek a megtervezése és kifejlesztése volt.
Célkitűzés
Szoftvermérnökként a projektben a következő feladatokat és célkitűzéseket kellett teljesíteni:
- egy meglévő, csak alapszolgáltatásokat nyújtó szoftver felülvizsgálása
- kommunikácisó protokoll kijavítása, kibővítése
- kommunikációs folyamatban található hibák keresése és javítása
- új adatcsomagok definiálása és implementálása
- kommunikáció vizuális visszejelzése
- felhasználói interfész (GUI) tervezése és megvalósítása
- adatmegjelenítő és kezelő (szűréssel)
- valósidejű adatvizualizálás
- kommunikáció visszejelzés
- kiértékelő modul implementálása, mely a nyers adatokból előzetes adatkiértékelést végez
Megvalósítás
A szoftver első verziója Qt3 alatt lett implementálva. A második verzió Qt4-et használt, de csak az alap kommunikációs protokol és egy egyszerűsített felhasználói felület lett megvalósítva. A harmadik verzióban a teljes GUI át lett alakítva, és a kommunikációs protokol is ki lett egészítve.
A kommunikáció a mérőegységgel (TriTel)a soros porton keresztül megy végbe, és alapvetően server-client atchitektúra szerint működik: a központi egység kérdezi le adott időközönként a mérőegységet, amely a protokollnak megfelelő válaszüzenetekben reagál. Hasznos mért adat esetén a TriTel elküldi az adatblokkokat, melyeket a központi egység eltárol és megjelenít. A központi egység képes adatokat küldeni, melyekkel a TriTel-t lehet paraméterezni.
A központi egység szoftvere több szálon fut:
- vezérlő és GUI szál: a program fő szálja, biztosítja a felhasználói interakciót
- kommunikációs szál: a kommunikációs protokollt megvalósító osztályok függvényeit futtatja
- adatfeldolgozó szál: a beérkező adatokat dolgozza fel
A központi egység legfontosabb funkciói:
- Kommunikáció: adatlekérdezés és adatküldés. A kommunikációs osztály tagfüggvényei valósítják meg a kommunikációt. Egy megszakítható, időzített, végtelen ciklusban futó eljárás implementálja a protokollt.
- Kezelőfelület: Qt4 ablakkezelő.
- Adatkezelés:
- FIFO adatbuffer kezelés (láncolt lista)
- Különböző adattípusokat reprezentáló osztálystruktúra
- GUI adatkezelés: adatok szűrése, törlése, átlagolása
- Adatkiértékelő: nyers adatok előfeldolgozása, megjelenítése, számított értékek kezelése, fájlba mentése


Galéria
Videók
BEXUS 14 TECHDOSE Team Flight Video (with audio)
BEXUS 14 TECHDOSE Team Flight Video (no audio)
Projekt menü
Kapcsolódó linkek
- REXUS/BEXUS
Hivatalos REXUS/BEXUS weblap - TechDose
TechDose csapat oldala - QT
QT fejlesztőkörnyezet