MRETV - Video, ljud och mycket mer från en standard Arduino! (10 / 10 steg)
Steg 10: Tillägg - programmering hänvisning
En mer fullständig lista över funktioner och annan programmering information finns i "Arduino\libraries\MRETV\ReadMe.txt".Skapa en skärm och börja videoutgång
void Screen.begin (const prog_char * CharBase, flyktiga uchar * textbuf, uchar rader uchar cols, uchar topp, uchar vänster, uchar läge)
parametrar:
CharBase - en pekare till karaktär formdata i programminnet
textbuf - en pekare till en RAM utbud av tecken som ska visas. Textbuf måste vara
cols x (rader / (fontheight x pixelheight)) byte i storlek. Nästan alltid
pixelheight är 1 och typsnitt höjd är 8 så textbuf storlek = cols x linjer / 8.
banor - totala avsöka linjen att Visa
cols - totalt kolumner som ska visas (varje kolumn = 8 pixlar)
toppen - scan linje till start Visa
vänster - pixel räkna för att starta visningen
läge - pixelstorlek (bits 0-4 höjd 5-7 bredd) 0 höjd är experimentellt interlace.
Visa funktioner
Screen_progstr(Line,Col,string) / / lägga förinställda sträng på skärmen på en plats
Screenprogstr(string) / / lägga förinställda sträng på skärmen på nuvarande plats
void Screen.write(uchar a) / / rum ett tecken i den aktuella plats och advance platsen
void Screen.write (uchar linje, uint col, uchar c) / / Ställ in läge sedan anropa karaktär
void Screen.render(uchar a) //place karaktär även icke utskrivbara. (jag behöver hjälp med stor funktion)
void Screen.str (char * c)
void Screen.str (uchar linje, uint col, char * c)
void Screen.hex (uchar c)
void Screen.hex (uchar linje, uint col, uchar c)
void Screen.hexint(uint i)
void Screen.hexint (uchar linje, uint col, uint jag)
char * Screen.udec (uchar linje, uint col, uint d) / / tillbaka pekaren till str
char * Screen.udec (uint d) / / tillbaka pekaren till str eftersom vi har den.
char * Screen.dec (uchar linje, uint col, int d) / / tillbaka pekaren till str
char * Screen.dec (int d) / / tillbaka pekaren till str eftersom vi har den.
char * Screen.bin (uchar b) / / tillbaka pekaren till str eftersom vi har den.
char * Screen.bin (uchar linje, uint col, uchar d) / / tillbaka pekaren till str
avmarkera ett fält före utskrift
void Screen.fill (uchar b, int räkna) / / uppsättning tecken, inte ändra nuvarande plats om räkningen är negativt
void Screen.fill (uchar linje, uint col, uchar b, int räkna) / / ställa in plats, uppsättning tecken, ändra inte cur loc igen om räkningen är negativt
form funktioner
void Screen.fill (uchar c) / / fylla skärmen
void Screen.fillrow (uchar linje, uchar c) / / Fyll en rad
void Screen.fillcol (uint col, uchar c) / / fylla en kolumn
void Screen.rect (uchar rad, uint col, uchar wi, uchar Hej, char c)
void Screen.frame (uchar rad, uint col, uchar wi, uchar Hej, char c)
pixel nivå funktioner
inte formaliserat i MRETV 1, prototyper ingår i Ponguino (se källa kommentarer)
skärmen nyttofunktioner
skärmen nyttofunktioner
void Screen.setcurloc (uint loc) / / ange absoluta läge
uint Screen.setcurloc (uchar rad, uint col) / / line col till plats
uint Screen.skip(char sk) / / avancera och returnera positionen.
void Screen.bound() / / lägga curloc på skärmen
void Screen.scroll() / / flytta skärmen upp 1 textrad
uchar Screen.get() / / få tecken på nuvarande plats och advance nuvarande plats.
uchar Screen.get (uchar rad, uint col) / / ange aktuell plats och returnera tecknet där, inga förskott
char * Screen.time() / / måste vara nollställs någonsin 24 timmar inte gjort här...
Skärmen egenskaper ***
uchar * Screen.poke; pekare till curloc
uint Screen.curloc; aktuella platsen rösterna som ett heltal
uint Screen.end; gränsen på skärmen rösterna som ett heltal
char Screen.width; beräknade bredd från begin(), riktiga bredden kan vara dynamiska
Observera de två blanketter som används för att överbelasta funktionen. Både spara Ram genom att sätta strängar
endast i programminnet. Det du inte använder dem text kommer att använda en massa RAM.
Screen_progstr(Line,Col,string)
Screenprogstr(string)
användning: screen_progstr (0,0, "Hello World");
screenprogstr ("jag äter därför jag är");
Videofunktioner ***
void off(); stoppa alla MRETV verksamhet och CPU-användning
Annullera on (); starta om MRETV, endast efter en off()
funktioner i mjukvaran serieport 2400 8 N 1
char Video.readS() / / läsa från seriella buffert
void Video.writeS(char a) / / skriva ut följetong
void Video.stringS (const char * b) / / skriva ut följetong
tangentbordet funktioner
char Video.readK() / / läsa från nyckelbuffert
uchar Video.read() //filtered Läs (skakas men inte stirred) från tangentbord ström
char Video.write2key (uchar datum) / / skriva på PS/2 port
char Video.leds (char l) / / bits 0 1 2
char Video.keyrate (char l) / / per ps/2 tangentbord specifikationer
musfunktioner
char Video.EnableDataReporting() / / Låt musen prata
char Video.SetRemoteMode() / / rapport endast när frågan
char Video.SetStreamMode() / / rapport som behövs
char Video.ReadData() / / be om rapporten
Videoegenskaperna ***
uint Video.LineCount; raster linje på skärmen för närvarande dras
uchar Video.ScreenWidth. ScreenTop. ScreenBottom. ScreenCenter; aktiva skärmområdet
uchar Video.ScreenMode; pixelstorlek (bits 0-4 höjd 5-7 bredd) 0 höjd är experimentellt interlace.
uint Video.FrameCount, Video.FrameHigh; om valt tillägg ram = 262 rasterlines = måla en skärm
CONST prog_char * Video.audiodatar,*Video.audiodata;
uchar Video.speckey,Video.fjin;
uchar Video.f2jin;
uchar Video.arcount, Video.alcount
Ljud, för optimal hörsel magnetiseringen använda SLUG ljud EENHANCERS
längd räkna 1/60 SEK, 0 = av, 255 kontinuerlig
spela från mängd prover ljud [];
setaudior (ljud index, längd)
setaudiol (ljud index, längd)
setaudio (ljud index, längd)
spelar det angivna ljudet provet.
ssampler(Sample,duration)
ssamplel(Sample,duration)
ssample(Sample,duration)