USB-yhteys ja tiedonsiirto Palmin ja tietokoneen välillä

Tämän ohjeen tarkoituksena on näyttää, miten Palm-kämmentietokoneen ja tietokoneen välille muodostetaan USB-yhteys sekä siirretään tietoa molempiin suuntiin, siis sekä Palmista tietokoneeseen, että tietokoneesta Palmiin. Alkupään työvaiheet tehdään Windows-käyttöjärjestelmässä käyttäen Garnet OS Development Suite-ohjelmaa, jonka jälkeen suoritettava Palm-ohjelma siirretään Palmille Palm Desktop-ohjelmalla. Tästä eteenpäin testaus tehdään GNU/Linux-järjestelmässä käyttäen hyväksi libusb-kirjastoa hyödyntäviä ohjelmia. Libusb:stä on olemassa myös Windowsille versio libusb-win32, mutta sen käyttöä ei tässä ohjeessa ainakaan tässä vaiheessa käsitellä.


1. Käynnistä Garnet OS Development Suite

kuva1


2. Luo uusi projekti

kuva2


3. Anna projektille nimi

kuva3


4. Vaihda Creator ID tarvitteassa

Jos ja kun IDE valittaa Creator ID:stä, vaihda se, kuten alla on näytetty. Klikkaa Next-nappulaa.

kuva4 kuva5


5. Valitse projektin tyypiksi Simple Application

Valitse projektin tyypiksi Simple Application ja klikkaa Finish-nappulaa.

kuva6


6. Korvaa tiedostot AppResources.h ja AppMain.c uusilla

Tallenna alla olevat kaksi tiedostoa

koneellesi, kopioi ne, ja liitä IDE:ssä src-hakemistoon, kuten alla olevassa kuvassa on näytetty. Nämä liittämäsi uudet tiedostot korvaavat vanhemmat versiot.

kuva7

Hyväksy vanhojen tiedostojen korvaaminen.

kuva8


7. Korvaa tiedosto AppResources.xrd uudella

Tallenna alla oleva tiedosto

koneellesi, kopioi se, ja liitä IDE:ssä rcs-hakemistoon, kuten alla olevassa kuvassa on näytetty. Tämä liittämäsi tiedosto korvaa vanhemman version.

kuva9

Hyväksy vanhan tiedoston korvaaminen.

kuva8


8. Sulje resurssieditori jos se aukeaa AppResources.xrd-tiedoston liittämisen jälkeen

kuva10


9. Projektin käännyttyä käynnistä Palm Desktop-ohjelma

Projekti kääntyy automaattisesti aina tallentamisen jälkeen, jos tämä asetus on valittuna IDE:ssä. Jos se ei ole, voit kääntää projektin tarvittaessa manuaalisesti. Kun projekti on kääntynyt, sitä voi testata halutessaan emulaattorilla, mutta siirrämme nyt ohjelman suoraan oikeaan Palmiin Palm Desktop-ohjelman avulla.

kuva11


10. Klikkaa Install-nappulaa

kuva12


11. Klikkaa Add-nappulaa ja etsi Transfer-tiedosto Debug-hakemistosta

kuva13 kuva14 kuva15 kuva16 kuva17


12. Synkronoi Palm käynnistämällä HotSync Palmista käsin

kuva31 kuva32


13. Siirrymme GNU/Linuxiin

Kun synknronointi on valmis, siirrymme testaamaan tiedonsiirtoa Palmin ja tietokoneen välillä GNU/Linux-järjestelmään. Testaaminen edellyttää libusb-kirjaston asentamista (saatavilla myös windowsille), ellei järjestelmässäsi jo ennestään ole sitä. Voit käyttää esimerkiksi paketinhallintaohjelmia tarkistaaksesi onko libusb jo asennettu ja asentaaksesi sen tarvittaessa. Alla olevassa kuvassa on esimerkki graafisesta pakentinhallintaohjelmasta. Huomaa, että libusb:stä käytetään versiota 0.1-4, ei siis versiota 1.0. Luultavasti olisi parempi käyttää uudempaa 1.0-versiota, mutta tässä yhteydessä on käytetty vanhempaa versiota, ja uuden version käyttö voi edellyttää joitakin muutoksia koodiin, joita ei ole vielä ehditty testaamaan.

kuva23


14. Tallenna ja käännä tietokoneen päähän tulevat ohjelmat

Tämän ohjeen aiemmissa vaiheissa käänsimme palmille ohjelman, jolla voimme sekä vastaanottaa- että lähettää dataa USB-piuhan yli. Nyt olisi tarkoitus tallentaa ja kääntää tietokoneen päähän tulevat kaksi C-kielistä ohjelmaa. Toinen näistä ohjelmista lukee dataa USB-piuhan yli, toinen kirjoittaa. Lataa alla olevat kaksi tiedostoa koneellesi, ja käännä ne C-kääntäjällä, kuten alla olevassa kuvassa on näytetty (pahoittelut Makefile:n puuttumisesta):

kuva18


15. Siirretään tietoa Palmin ja tietokoneen välillä molempiin suuntiin

Siirretään 64 kappaletta merkkiä A Palmista tietokoneeseen ja sitten tietokoneesta Palmiin suorittamalla seuraavat toimenpiteet alla olevassa järjestyksessä (Timeoutiksi on asetettu 7 sekuntia, joten käskyt pitää antaa tässä ajassa, muuten aika umpeutuu eikä tietoa siirry. Voi olla hyvä kirjoittaa käsky valmiiksi komentoriville, joten pelkkä enterin painaminen riittää, eikä tarvitse yrittää kirjoittaa käskyä seitsemässä sekunnissa):

  1. Klikkaa Send Data-nappulaa Palmissa
  2. Paina Enteriä tietokoneessa, jotta valmiiksi kirjoittamasi ./USBRead käsky suoritettaisiin
  3. Klikkaa Receive-nappulaa Palmissa
  4. Paina Enteriä tietokoneessa, jotta taas valmiiksi kirjoittamasi ./USBWrite käsky suoritettaisiin

Huomaa, että seitsemän sekunnin timeout on vain kohtien 1. ja 2. sekä kohtien 3. ja 4. välillä. Kohdan 2. ja 3. välillä ei ole kiirettä. Timeout on siis se aika, jonka lähettäjä tai vastaanottaja odottaa ennenkuin lopettaa yrittämisen.

kuva20 kuva21 kuva22 kuva19


Palmin näytöllä ja tietokoneella näkyy, kuinka 64 kappaletta merkkiä A siirtyy USB-piuhan yli laitteiden välillä molempiin suuntiin :-)