Firmvér modulu OndraSD je navrhnutý tak, aby zabezpečoval komunikáciu s SD kartou a dáta vedel zasielať na základe požiadaviek počítaču Ondra.
SD karta musí byť naformátovaná na FAT32. Podporované sú karty SD a SDHC s kapacitou do 32GB.
Keďže FAT súborový systém nemaže názvy súborov (len ich označí ako zmazané), pre rýchlejšiu odozvu je vhodné po odstránení väčšieho množstva súborov kartu nanovo naformátovať, príp. defragmentovať.
Modul reaguje na krátke príkazy s definovanými parametrami:
* názov súboru a adresára musí obsahovať 11 znakov, t. j. 8 znakov názov a 3 znaky prípona. Znak "." ako odelovač nesmie byť použitý. V prípade kratšieho názvu treba doplniť znaky medzery.
** príkazy môžu byť zadávané malými aj veľkými písmenami
Zároveň modul vyhodnocuje, či nenastal reset počítača Ondra, na základe ktorého sa sám nastaví do počiatočného stavu.
Príklady príkazov:
Upozornenie: Príkaz aj s parametrami musí byť zadaný vo veľmi krátkom čase, asi 1/2 sekundy, inak je považovaný za neplatný. Toto je dôležité pri testovaní modulu voči PC a zadávaní príkazov cez terminálový program.
Po zapnutí začne modul vysielať po sériovej linke obsah súboru __LOADER.BIN . Ten slúži na prvotnú komunikáciu s modulom a pre prípadné zavedenie ďalších súborov do počítača Ondra.
Vysielanie sa opakuje približne každé dve sekundy, časový odstup slúži na sputenie príjmu (# a Enter) na klávesnici počítača, čím dôjde k prenosu vysielaného súboru a jeho následnému spusteniu. Vysielanie je signalizované žltou LED diodou.
Ak sa vyskytnú chyby pri prevádzke modulu, napíšte prosím autorovi. Kontakt je na úvodnej stránke. Podľa možností uveďte typ chyby (ak sa prejavuje blikaním) a typ karty (kapacita, výrobca, trieda).
Pri chybe komunikácie s SD kartou je prostredníctvom modrej LED signalizovaný kód chyby.
LED bliká podľa kódu chyby. Krátke odstupy medzi odvysielaním kódu signalizujú kód chyby SD karty, dlhšie odstupy cca 2 sekundy signalizujú kód chyby FAT systému. Výnimkou je chýbajúci zavádzač, ktorý je signalizovaný s krátkou medzerou.
Zmeny vo verziách firmvéru:
2.2 - opravené low-level rutiny BlockRead, BlockWrite, doplnené potvrdenie konca bloku - podpora pre CP/M
- doplnené rutiny SETTIME a DATETIME pre RealTimeClock
- oprava chybného čítania, ak cluster obsahuje iba jeden sektor (prejaví sa štandardne len pri kartách menších ako 128MB)
- vyžaduje 89C4051 (4kB flash)
2.1 - neverejná verzia pre podporu CP/M
1.3 - úprava inicializačnej rutiny, číta viac typov kariet
1.2 - podpora kariet SDHC bez MBR, zmena v detekcii SDHC kariet
1.1 - podpora kariet SD bez MBR
1.0 - základná verzia