Next: Valikkojen toteutus (menu.c, menu.h)
Up: Rekisteröintiohjelmiston toteutus
Previous: Rekisteröintisovelluksen moduulit
Moduulin toteutusosa on jaettu kahteen osaan lähinnä DOS-työkalujen
rajoitusten vuoksi. Tiedosto sample.h sisältää joitakin makrojen
määrittelyjä ja prototyypit tiedostoissa init.c ja
sample.c määriteltäville käännösyksikön sisäisille funktioille.
Tiedosto init.c sisältää rekisteröintisekvenssien ja valikkojen
alustusfunktiot. Sekä rekisteröintisekvenssit että valikot on
toteutettu C:n tietuetyyppeinä ja niiden alustus tapahtuu
manipuloimalla suoraan tietueiden kenttiä. Tiedosto sample.c
sisältää varsinaisen pääohjelman ja lähes kaiken käyttäjän kanssa
kommunikointiin liittyvän osan rekisteröintisovelluksesta.
Varsinaisen pääohjelman kontrollivuo on seuraavanlainen (käytetyt
moduulit suluissa):
- 1.
- Alustetaan LabMaster-kortti ( labutil,
labtod).
- 2.
- Alustetaan rekisteröintipuskurit ( global).
- 3.
- Alustetaan askelmoottoreiden ohjaus ( stepper).
- 4.
- Kysytään käyttäjältä koekohtaiset parametrit:
- kellonaika
- kokeen nimi
- kokeen tyyppi (ERG tai imupipetti)
- LabMaster-kortille johdetun signaalin vahvistus
- rekisteröinnin aloitustapa (näppäimen painallus tai kellon mukaan)
- analogisen suotimen vaihesiirrosta johtuva signaalin viivästyminen
- 5.
- Alustetaan rekisteröintisekvenssit ja valikot ( init.c).
- 6.
- Toistetaan kunnes käyttäjä haluaa poistua sovelluksesta:
- (a)
- Tulostetaan valikko ( menu) sekä
viimeisimmän rekisteröinnin kellonaika ja manuaalisesti säädettävän
optisen tiheyden asetus ( stepper).
- (b)
- Kysytään käyttäjältä valinta ( menu).
- (c)
- Kutsutaan syötteen mukaista funktiota.
Valikkorakenteet määrittelevät kullekin valinnalle funktion, jota
kyseisellä valinnalla tulee kutsua. Päävalikko sisältää seuraavat
valinnat:
- Kolme erillistä valintaa, joista kukin on yhden valosalaman
sisältävä rekisteröintisekvenssi.
- Kahden perussekvenssin sarja.
- Kolmen perussekvenssin sarja.
- Perussekvenssisarja, jossa optista tiheyttä vähennetään vakioerolla
peräkkäisten sekvenssien välissä.
- Sekvenssi, joka sisältää valoaskelstimuluksen ja nopeita
liuosvaihtoja.
- Kaksi erillistä valintaa, joista kumpikin on useita valosalamia
sisältävä rekisteröintisekvenssi.
- Sekvenssien optisten tiheyksien modifiointi.
- Rekisteröintisekvenssien yleinen modifiointi.
- Kokeen parametrien modifiointi ja stimuluslaitteiden kalibrointi.
- Sovelluksesta poistuminen.
Rekisteröintisekvenssin suoritus tapahtuu valitsemalla kyseisen
sekvenssin valintatunniste (numero). Valittu sekvenssi voidaan
suorittaa myös useaan kertaan peräkkäin kirjoittamalla suoritusten
lukumäärän perään kertomerkki ja sekvenssin valintatunniste.
Sekvenssit tallennetaan levylle automaattisesti heti rekisteröinnin
jälkeen. Sekvenssien määrittelyä voidaan muokata joko valitsemalla
valikosta sekvenssien modifiointi tai kirjoittamalla m-kirjain ja
modifioitavan sekvenssin valintatunniste. Koska kokeen aikana halutaan
usein muuttaa vain sekvenssin valostimuluksen intensiteetin määräävää
suodinten optista tiheyttä, pelkän optisen tiheyden muuttaminen on
mahdollista kirjoittamalla d-kirjain ennen sekvenssin
valintatunnistetta.
Kokeen parametrien modifiointi ja stimuluslaitteiden kalibrointi antaa
uuden valikon, joka sisältää seuraavat valinnat:
- Kellonajan asetus.
- Signaalin vahvistuksen asetus.
- Kokeen nimen asetus.
- Kokeen tyypin asetus.
- Rekisteröinnin aloitustavan asetus.
- Valosalamien tai -askelten antaminen ilman rekisteröintiä.
- Levylle tallennetun rekisteröidyn sekvenssin piirto ruudulle.
- Harmaakiilaa ohjaavan askelmoottorin asennon kalibrointi.
- Harmaakiilaa ohjaavan askelmoottorin asennon muutos.
- Nopeaa liuosvaihtoa ohjaavan askelmoottorin liikkeen suuruuden
määräävän askelmäärän asetus.
- Nopeaa liuosvaihtoa ohjaavan askelmoottorin asennon muutos.
- Rekisteröintisekvenssin järjestysnumeron asetus.
- Optisen tiheyden muutosaskeleen asetus sekvenssisarjaa varten.
- Analogisen suotimen aiheuttaman viiveen asetus.
- Paluu päävalikkoon.
Next: Valikkojen toteutus (menu.c, menu.h)
Up: Rekisteröintiohjelmiston toteutus
Previous: Rekisteröintisovelluksen moduulit
Antti Miettinen
9/3/1997