Frank Duignan
/
NRF52832_ili9341
Basic driver working
display.h
- Committer:
- f3d
- Date:
- 2021-02-03
- Revision:
- 80:ff42f77928ad
- Child:
- 81:7087ba9d18bb
File content as of revision 80:ff42f77928ad:
#include <stdint.h> // Define a macro to allow easy definition of colours // Format of colour value: <BGND 1 bit><Red 5 bits><Green 5 bits><Blue 5 bits> #define SCREEN_WIDTH 240 #define SCREEN_HEIGHT 320 class Display { public: Display() {}; void begin(); void putPixel(uint16_t x, uint16_t y, uint16_t colour); void putImage(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint16_t *Image); void fillRectangle(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t Colour); uint16_t RGBToWord(uint16_t R, uint16_t G, uint16_t B); void drawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t Colour); void drawRectangle(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t Colour); void drawCircle(uint16_t x0, uint16_t y0, uint16_t radius, uint16_t Colour); void fillCircle(uint16_t x0, uint16_t y0, uint16_t radius, uint16_t Colour); private: void CommandMode(); void DataMode(); void LCD_Write_Cmd(uint8_t cmd); void LCD_Write_Data(uint8_t data); void resetDisplay(); void openAperture(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2); void drawLineLowSlope(uint16_t x0, uint16_t y0, uint16_t x1,uint16_t y1, uint16_t Colour); void drawLineHighSlope(uint16_t x0, uint16_t y0, uint16_t x1,uint16_t y1, uint16_t Colour); int iabs(int x) // simple integer version of abs for use by graphics functions { if (x < 0) return -x; else return x; } };