====== Graafiline LCD ====== //Seotud mooduliga: [HW] [[et:hardware:homelab:digi]]// See teegi osa sisaldab Kodulabori graafilise LCD kasutamise funktsioone. Kuigi LCD on graafiline, puuduvad teegist hetkel siiski kujundite joonistamise funktsioonid. ===== Funktsioonid ===== * **//void lcd_gfx_init(void)//** \\ Ekraani tööks seadistamine. * **//void lcd_gfx_backlight(bool set)//** \\ Ekraani taustvalgustuse lülitamine. Parameetrid: * //set// - Tõeväärtus taustvalgustuse töötamisest. //true// puhul taustvalgustus on sees, //false// puhul väljas. * **//void lcd_gfx_clear(void)//** \\ Kogu ekraani tühjendamine. * **//void lcd_gfx_clear_line(unsigned char line)//** \\ Ekraani ühe tekstirea kustutamine. Parameetrid: * //line// - Rea number 0 kuni 5. * **//void lcd_gfx_goto_char_xy(unsigned char x, unsigned char y)//** \\ Märgi positsiooni valik teksti väljastamiseks. Parameetrid: * //x// - X koordinaat. Väärtus 0 kuni 13. * //y// - Y koordinaat. Väärtus 0 kuni 5. * **//void lcd_gfx_write_char(char c)//** \\ Sümboli kuvamine ekraanil eelnevalt määratud positsioonil. Parameetrid: * //c// - ASCII sümbol. * **//void lcd_gfx_write_string(char *s)//** \\ Teksti kuvamine ekraanil eelnevalt määratud positsioonist alates. Parameetrid: * //s// - Teksti viit. Kodulabor III spetsiifilised * **// void lcd_gfx_drawPixel(uint8_t x, uint8_t y);//** \\ Joonista koordinaatidele piksel. Parameetrid: * //x// - X koordinaat. * //y// - Y koordinaat. * **// void lcd_gfx_drawPixel_h(uint8_t x, uint8_t y);//** \\ Joonista koordinaatidele piksel tausta värviga. Parameetrid: * //x// - X koordinaat. * //y// - Y koordinaat. * **// lcd_gfx_delete_char(uint8_t count);//** \\ Kustuta valitud arv tähemärke, kursori positsioonist edasi. Parameetrid: * //count// - tähemärkide arv (max 16). * **// void lcd_gfx_drawLine(int16_t x, int16_t y, int16_t x1, int16_t y1, uint16_t color);//** \\ Joonista piksli laiune joon. Parameetrid: * //x// - X algus koordinaat. * //y// - Y algus koordinaat. * //x1// - X lõpp koordinaat. * //y1// - Y lõpp koordinaat. * //color// - värv. * **// void lcd_gfx_fillScreen(uint16_t color);//** \\ Värvi ekraan. Parameetrid: * //color// - värv. * **// void lcd_gfx_drawVerticalLine(uint8_t x0, uint8_t y0, uint8_t length, uint16_t color);//** \\ Joonista vertikaalne joon. Parameetrid: * //x0// - X algus koordinaat. * //y0// - Y algus koordinaat. * //length// - pikkus. * //color// - värv. * **// void lcd_gfx_drawHorizontalLine(uint8_t x0, uint8_t y0,uint8_t length, uint16_t color);//** \\ Joonista horisontaalne joon. Parameetrid: * //x0// - X algus koordinaat. * //y0// - Y algus koordinaat. * //length// - pikkus. * //color// - värv. * **// void lcd_gfx_drawRect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t color);//** \\ Joonista tühi ristkülik. Parameetrid: * //x// - X koordinaat. * //y// - Y koordinaat. * //w// - laius. * //h// - kõrgus. * //color// - värv. * **// void lcd_gfx_fillRect(uint8_t x, uint8_t y, uint8_t w, uint8_t h, uint16_t color);//** \\ Joonista seest täis ristkülik. Parameetrid: * //x// - X koordinaat. * //y// - Y koordinaat. * //w// - laius. * //h// - kõrgus. * //color// - värv. * **// void lcd_gfx_drawCircle(uint8_t x0, uint8_t y0, uint8_t r, uint16_t color);//** \\ Joonista tühi ring. Parameetrid: * //x0// - X koordinaat. * //y0// - Y koordinaat. * //r// - raadius. * //color// - värv. * **// void lcd_gfx_fillCircle(uint8_t x0, uint8_t y0, uint8_t r, uint16_t color);//** \\ Joonista seest täis ring. Parameetrid: * //x0// - X koordinaat. * //y0// - Y koordinaat. * //r// - raadius. * //color// - värv. * **// void lcd_gfx_drawSymbol(unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned char t, const unsigned char *pImage)//** \\ Joonista RGB pilt FLASH mälust. Parameetrid: * //x,y// - X,Y koordinaat. * //w// - pildi laius. * //h// - pildi kõrgus. * //t// - pildi pakkimine (0 = puudub(RGB565), 1 = pakitud(RGB555). * //*pImage// - pointer pildi asukohale FLASH mälus. * **// lcd_gfx_drawImage(unsigned int x, unsigned int y, const TCHAR* filename);//** \\ Joonista bmp pilt SD kaardilt. Parameetrid: * //x,y// - X,Y koordinaat. * //filename// - faili nimi SD kaardil. (peab olema bmp fail). ===== Näide ===== #include int main(void) { // Ekraani seadistamine lcd_gfx_init(); // LCD ekraani puhastamine lcd_gfx_clear(); // Kursori (nähtamatu) ekraani keskele viimine lcd_gfx_goto_char_xy(5, 2); // Teksti kuvamine lcd_gfx_write_string("Tere"); }