2012-05-23 13:29:39 +02:00
|
|
|
#ifndef GLCD_H
|
|
|
|
#define GLCD_H
|
|
|
|
|
2012-05-28 23:21:27 +02:00
|
|
|
#include <ch.h> // types
|
|
|
|
#include <hal.h>
|
2012-05-23 13:29:39 +02:00
|
|
|
|
2012-06-07 01:08:12 +02:00
|
|
|
#define SCREEN_WIDTH 240
|
|
|
|
#define SCREEN_HEIGHT 320
|
2012-05-23 13:29:39 +02:00
|
|
|
|
2012-06-06 23:31:00 +02:00
|
|
|
#define PORTRAIT (lcdGetOrientation() == portrait || lcdGetOrientation() == portraitInv)
|
|
|
|
#define LANDSCAPE (lcdGetOrientation() == landscape || lcdGetOrientation() == landscapeInv)
|
2012-06-01 11:46:30 +02:00
|
|
|
|
2012-06-07 22:49:58 +02:00
|
|
|
#define Set_CS palSetPad(LCD_CMD_PORT, LCD_CS);
|
|
|
|
#define Clr_CS palClearPad(LCD_CMD_PORT, LCD_CS);
|
|
|
|
#define Set_RS palSetPad(LCD_CMD_PORT, LCD_RS);
|
|
|
|
#define Clr_RS palClearPad(LCD_CMD_PORT, LCD_RS);
|
|
|
|
#define Set_WR palSetPad(LCD_CMD_PORT, LCD_WR);
|
|
|
|
#define Clr_WR palClearPad(LCD_CMD_PORT, LCD_WR);
|
|
|
|
#define Set_RD palSetPad(LCD_CMD_PORT, LCD_RD);
|
|
|
|
#define Clr_RD palClearPad(LCD_CMD_PORT, LCD_RD);
|
2012-05-23 13:29:39 +02:00
|
|
|
|
|
|
|
/* LCD color */
|
|
|
|
#define White 0xFFFF
|
|
|
|
#define Black 0x0000
|
|
|
|
#define Grey 0xF7DE
|
|
|
|
#define Blue 0x001F
|
|
|
|
#define Blue2 0x051F
|
|
|
|
#define Red 0xF800
|
|
|
|
#define Magenta 0xF81F
|
|
|
|
#define Green 0x07E0
|
|
|
|
#define Cyan 0x7FFF
|
|
|
|
#define Yellow 0xFFE0
|
|
|
|
|
2012-06-04 23:03:46 +02:00
|
|
|
#define RGB565CONVERT(red, green, blue) \
|
|
|
|
(uint16_t)( (( red >> 3 ) << 11 ) | (( green >> 2 ) << 5 ) | ( blue >> 3 ))
|
2012-05-23 13:29:39 +02:00
|
|
|
|
2012-05-29 02:04:04 +02:00
|
|
|
enum orientation {portrait, landscape, portraitInv, landscapeInv};
|
2012-06-04 23:06:05 +02:00
|
|
|
enum filled {frame, filled};
|
2012-05-28 19:18:23 +02:00
|
|
|
|
2012-05-23 13:29:39 +02:00
|
|
|
void lcdInit(void);
|
2012-05-28 19:18:23 +02:00
|
|
|
void lcdClear(uint16_t color);
|
2012-05-23 13:29:39 +02:00
|
|
|
void lcdTest(void);
|
2012-05-28 19:29:35 +02:00
|
|
|
void lcdSetOrientation(uint8_t newOrientation);
|
2012-05-31 13:45:57 +02:00
|
|
|
void lcdSetWindow(uint16_t xStart,uint16_t yStart,uint16_t xLong,uint16_t yLong);
|
|
|
|
void lcdFillArea(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
|
2012-05-28 19:29:35 +02:00
|
|
|
void lcdDrawPixel(uint16_t x,uint16_t y,uint16_t point);
|
2012-05-23 13:29:39 +02:00
|
|
|
void lcdDrawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t color);
|
2012-05-28 23:50:16 +02:00
|
|
|
void lcdDrawRect(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint8_t filled, uint16_t color);
|
2012-05-29 22:24:49 +02:00
|
|
|
void lcdDrawRectString(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint8_t* str, uint16_t fontColor, uint16_t bkColor);
|
2012-05-28 23:50:16 +02:00
|
|
|
void lcdDrawCircle(uint16_t x, uint16_t y, uint16_t radius, uint8_t filled, uint16_t color);
|
2012-06-04 21:11:19 +02:00
|
|
|
void lcdDrawString(uint16_t x, uint16_t y, unsigned char *str, uint16_t color, uint16_t bkColor);
|
2012-05-29 22:24:49 +02:00
|
|
|
void lcdDrawChar(uint16_t x, uint16_t y, unsigned char c, uint16_t charcolor, uint16_t bkColor);
|
2012-05-29 02:37:13 +02:00
|
|
|
uint16_t lcdGetHeight(void);
|
|
|
|
uint16_t lcdGetWidth(void);
|
2012-06-01 11:49:56 +02:00
|
|
|
uint16_t lcdGetOrientation(void);
|
2012-05-29 02:37:13 +02:00
|
|
|
uint16_t lcdBGR2RGB(uint16_t color);
|
2012-05-29 02:40:09 +02:00
|
|
|
uint16_t lcdGetPixelColor(uint16_t x, uint16_t y);
|
2012-05-23 13:29:39 +02:00
|
|
|
|
|
|
|
#endif
|