2.2. OndraLink

OndraLink je program vyvinutý pre komunikáciu medzi PC a počítačom Ondra. Beží pod OS Windows.

Dostupný je na stránke Download.

A čo Linuxáci? Čítajte na konci...

Vo verzii 3 podporuje prenosové rýchlosti 9 600 Bd a 38 400 Bd.

Vo verzii 3.1 je experimentálna podpora pre rýchlosť 57 600 Bd.

Program OndraLink

Jeho ovládanie je jednoduché pomocou niekoľkých ikon v hornej časti.

Ľavá časť je informačná a zobrazuje hlavné informácie o činnosti programu.

Pravá časť zobrazuje prenosové informácie a obsah hlavičiek dát.

Program OndraCom je vytvorený v Delphi 7 Personal a je voľne šíriteľný vrátane zdrojových kódov za podmienok definovaných pre tento vývojový nástroj.

Nahlásenie chýb môžte urobiť na mailovej adrese, ktorá je na úvodnej stránke. Pomôžete tak vylepšeniu programu.

Okrem nastavenia sériového portu nie je možné priamo v programe nastaviť ďalšie parametre. Tie možno zmeniť iba v konfiguračnom súbore settings.ini . Pozor, konfiguračný súbor sa načítava iba pri spustení programu, preto po každej zmene treba program znovu spustiť.

V tomto súbore je možno upraviť aj popis jednotlivých hlásení, prípadne ich preložiť do iného nárečia.

[Com]

Port=1                označenie použitého portu

StopBits=1            počet stop bitov

UseBuffer=1           používať/nepoužívať vyrovnávaciu pamäť portu

Delay=7               odmlka medzi odoslanými bajtami (v 0.1ms)

TimeOut=2             časový interval po skončení importu dát (v sekundách)

[File]

AutoOpen=1               automaticky otvoriť posledne otvorený/uložený súbor pri spustení programu

[Turbo]

Loader=loader38.bin   binárny súbor zavádzača pre danú prenosovú rýchlosť

SpeedIndex=5          len pre prenos 57 600 Bd, inak je táto hodnota štandardne na 3 (38 400 Bd) 

InitDelay=5000        odmlka po načítaní zavádzača (5000 je 1/2 sekundy), experimetnálne možno znížiť

Parameter StopBits učuje dĺžku stop-bitu, Ako bolo už bolo opísané, musel by mať hodnotu 3, ale PC podporujú maximálnu hodnotu 2, preto je potrebné dĺžku stop-bitu definovať nasledovnými dvomi parametrami.

Parameter UseBuffer podľa možnosti nechať nastavený na 1. V prípade, že by počítač Ondra nečítal dáta a vypisoval chybu ?, je možné ho pokusne zmeniť na 0. Vtedy sa predĺži medzera medzi jednotlivými bajtmi.

Parameter Delay definuje časový odstup medzi bajtami, teda predlžuje stop-bit. Správanie je však ovplyvňované funkciou API operačného systému a pravdepodobne aj driverom pre dané zariadenie, preto sa hodnota nedá zovšeobecniť a je potrebné ju určiť skusmo pre každý sériový port. Najlepším riešením je nastaviť hodnotu na 10 a potom postupne znižovať, kým je prenos korektný. Čím nižšia hodnota, tým rýchlejší je prenos dát.

Novinky vo verzii 3:

- možnosť znovunačítania súboru tlačidlom (pre vývojárov, aby po každej zmene kódu nemuseli otvárať dialóg pre názov súboru)

- zrýchlenie prenosu dát z PC do počítača Ondra (TURBO mód), skrátenie času prenosu na štvrtinu

- povolenie výberu portov len fyzicky definovaných v počítači

Novinka vo verzii 3.1:

- Turbo mód s podporou rýchlosti 57 600 Bd.

Město Robotů je v počítači už za 8 sekúnd.

A čo majú robiť Linuxáci? Ako už bolo uvedené vyššie, štandardné nastavenie portu s dvomi stop-bitmi nestačí. Z uvedeného časovania vyplýva, že dĺžka stop-bitu musí byť cca 7-násobná.

Je to možné vyriešiť tak, že za každým riadnym bajtom sa odvysiela jeden "dummy" bajt s hodnotou FF, čím sa dosiahne potrebná dĺžka stop-bitu, pričom štart bit tohto dummy bajtu počítač nezaregistruje, pokiaľ bajty nadväzujú na seba. Niektoré porty si však z času načas sami urobia prestávku medzi odvysielanými bajtami, čo však už môže spôsobiť chybu.

Je vhdoné teda odvysielať iba krátky loader38 a potom už súbory vysielať upravenou rýchlosťou s dvomi stop-bitmi.