Picobasic

Huomasin tuossa ehdotalinkkilistassa tuon laitteen. Olin ihan liekeissä, että voiko enää olla noin söpöisiä värkkejä. Mitenkä nopea kehitystahti. Otetaan kontrolleri kehityslankkuun, lyödään usbi kiinni ja sanotaan, että tee tuo temppu ja taikaisin laitteeseen.

Onko kukaan tutustunut tuohon? Tekijä täällä ainakin kirjoitteli.
Kai se käynnistyksessä sanoo:
**** PIC<Mikä sen malli onkaan> PICOBASIC V2 ****
Paljonko on muistia ohjelmalle käytössä ja paljonko flassia jonne jemmata ohjelma.

Mutta ihan uteliaisuuttani… Paljonkohan nuo arvot on?

Ja mitä tekee lause IF A = 3 THEN… Koska esimerkiksi INP komennon kohdalla lukee C = INPUT LETillehän nuo pitäisi laittaa. Eli käyttöohjeesta luntattuani huomasin, että sijoitusta ei oltu operatioihin määritelty ja onko se INP vai INPUT? Entä jos jaat nollalla. Toipuuko tuo siitä?

Miten jos otan kontrollerin irti ja heitän sen tosiaan toiseen paikkaan ja ajelen sitä ohjelmaa siellä ja huomaan, että nyt tuo yksi valo ei vilkahtanutkaan oikeassa paikassa ja sanon LIST niin se tulostaa ohjelman. Kai se noin toimii. Ihan heti en ole keksinyt miten tuo on tehty, mutta kais se vain toimii. Ainakin ajattelin, että se tallentaa tietonsa muistiinsa.

Heh, olet sisäistänyt mikä koko hommassa on juonena. Inspiraation iskiessä pääsee suoraan kokeilemaan. Itsellänikin, vaikka on yli kymmenen vuotta kokemusta sulautetuista värkeistä, ei jaksaisi aina maasta asti ponnistaa ja aloittaa kehitysympäristön asennuksesta.

Noita on muitakin valmistajia jotka ovat pyrkineet yksinkertaistamaan kehitystä, mutta yleensä vaativat silti kehitysympäristön asennusta, koittavat pakkonaittaa juuri heidän järjestelmäänsä, tai ovat hyvin kalliita. picoBASIC perustuu microchipin 18f4550-piiriin ja jos/kun basicista loppuu vääntö kesken, voi helposti siirtyä perinteiseen c-ohjelmaan.

Jos tekee laitteeseen usb-portin, niin ei tarvitse irrottaa piiriä ollenkaan. USB ei vaadi muutakuin liittimen ja 470nF kondensaattorin. Eikä ohjelmaakaan tarvitse valmiiksi tehdä ja ajaa, vaan sinne voi suoraan antaa komentoja ja katsella mitä tapahtuu. Esim. Eilen illalla sain sen keskustelemaan sujuvasti Playstation 2-ohjaimen kanssa vain antamalla komentoja suoraan terminaaliin.

Käynnistyessä se ei valitettavasti sano mitään, koska ei tiedä onko sitä kytketty usbin kautta kiinni vai ei. Ja halusin, että pystyy myös toimimaan autonomisesti ilman pc:tä.

Ohjelmamuistia siinä on 192 basic-riviä. Paljonko mahtuu riville riippuu koodista, ei varsinaisesta tekstin määrästä. Jos tila alkaa loppumaan kesken, niin voi kaksoispisteellä yhdistellä rivejä jotta menee tiiviimpään tilaan.

Suorituskyvyksi olen muistaakseni mitannut n. 3000 basic-riviä sekunnissa.

heh, löysit dokumentaatiosta virheen. Tuon INP:n tilalla pitäis olla INPUT. INPUT:lla luetaan usbista(ei sarjaportista) merkkejä. Ideana, että voi pc:stä lähetellä merkkejä ja basic-ohjelma lukee ja toimii niiden mukaan.

IF A=3 vertaa A-muuttujaa kolmosen kanssa. Yhtäsuuri-merkki muuttaa merkitystä riippuen onko se osana matemaattista lauseketta, vai komentoa. Käytännössä tarkoittaa, että kirjoittamalla “A=3” asettaa A:n kolmoseksi ja “IF A=3” katsoo onko A kolmonen.

LET:iä voi käyttää, mutta sen käyttö on aina basicissa ollut vapaaehtoista.

Nollalla jaossa se muistaakseni antaa tulokseksi 0, koska tässäkin meni helppokäyttöisyys muun edelle.

Näin se toimii. Pystyy helposti debuggaamaan ja kokeilemaan mikä jumittaa. Ja se tallentaa basic-ohjelman flash-muistiin.

Ja otan mielellään lisää palautetta vastaan. :slight_smile: