Basic driver working

Committer:
f3d
Date:
Wed Feb 03 11:30:30 2021 +0000
Revision:
80:ff42f77928ad
Child:
81:7087ba9d18bb
Basic driver working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
f3d 80:ff42f77928ad 1 #include <stdint.h>
f3d 80:ff42f77928ad 2 // Define a macro to allow easy definition of colours
f3d 80:ff42f77928ad 3 // Format of colour value: <BGND 1 bit><Red 5 bits><Green 5 bits><Blue 5 bits>
f3d 80:ff42f77928ad 4
f3d 80:ff42f77928ad 5 #define SCREEN_WIDTH 240
f3d 80:ff42f77928ad 6 #define SCREEN_HEIGHT 320
f3d 80:ff42f77928ad 7 class Display {
f3d 80:ff42f77928ad 8 public:
f3d 80:ff42f77928ad 9 Display() {};
f3d 80:ff42f77928ad 10 void begin();
f3d 80:ff42f77928ad 11 void putPixel(uint16_t x, uint16_t y, uint16_t colour);
f3d 80:ff42f77928ad 12 void putImage(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *Image);
f3d 80:ff42f77928ad 13 void fillRectangle(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t Colour);
f3d 80:ff42f77928ad 14 uint16_t RGBToWord(uint16_t R, uint16_t G, uint16_t B);
f3d 80:ff42f77928ad 15 void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t Colour);
f3d 80:ff42f77928ad 16 void drawRectangle(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t Colour);
f3d 80:ff42f77928ad 17 void drawCircle(uint16_t x0, uint16_t y0, uint16_t radius, uint16_t Colour);
f3d 80:ff42f77928ad 18 void fillCircle(uint16_t x0, uint16_t y0, uint16_t radius, uint16_t Colour);
f3d 80:ff42f77928ad 19 private:
f3d 80:ff42f77928ad 20
f3d 80:ff42f77928ad 21 void CommandMode();
f3d 80:ff42f77928ad 22 void DataMode();
f3d 80:ff42f77928ad 23 void LCD_Write_Cmd(uint8_t cmd);
f3d 80:ff42f77928ad 24 void LCD_Write_Data(uint8_t data);
f3d 80:ff42f77928ad 25 void resetDisplay();
f3d 80:ff42f77928ad 26 void openAperture(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2);
f3d 80:ff42f77928ad 27 void drawLineLowSlope(uint16_t x0, uint16_t y0, uint16_t x1,uint16_t y1, uint16_t Colour);
f3d 80:ff42f77928ad 28 void drawLineHighSlope(uint16_t x0, uint16_t y0, uint16_t x1,uint16_t y1, uint16_t Colour);
f3d 80:ff42f77928ad 29 int iabs(int x) // simple integer version of abs for use by graphics functions
f3d 80:ff42f77928ad 30 {
f3d 80:ff42f77928ad 31 if (x < 0)
f3d 80:ff42f77928ad 32 return -x;
f3d 80:ff42f77928ad 33 else
f3d 80:ff42f77928ad 34 return x;
f3d 80:ff42f77928ad 35 }
f3d 80:ff42f77928ad 36
f3d 80:ff42f77928ad 37 };