A modified version of the GDEP015OC1 library that supports x-or as a color.

Fork of GDEP015OC1 by aconno dev team

Committer:
ivo_n
Date:
Sun Jul 16 20:40:52 2017 +0000
Revision:
9:1f1e705a5f02
Parent:
8:cd51988ee35d
Added old API so old example won't break.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anunnaki 3:dc7b794b59b7 1 /**
Anunnaki 3:dc7b794b59b7 2 * Created by Filip Hormot (f.hormot@gmail.com) on 14/09/16.
ivo_n 9:1f1e705a5f02 3 * Modified by knutsel.org on 16/07/2017.
Anunnaki 3:dc7b794b59b7 4 */
Anunnaki 3:dc7b794b59b7 5
Anunnaki 2:1c8f73aa2a16 6 #include "mbed.h"
Anunnaki 2:1c8f73aa2a16 7
Anunnaki 2:1c8f73aa2a16 8 #define BUFFER_SIZE 5000
Anunnaki 3:dc7b794b59b7 9 #define FONT_WIDTH 5
Anunnaki 3:dc7b794b59b7 10 #define FONT_HEIGHT 7
Anunnaki 2:1c8f73aa2a16 11 #define BUSY_STATE 1
Anunnaki 2:1c8f73aa2a16 12
Anunnaki 2:1c8f73aa2a16 13 class GDEP015OC1 {
Anunnaki 2:1c8f73aa2a16 14 public:
Anunnaki 6:45d2ec037fd6 15 //unsigned char _buffer[BUFFER_SIZE];
Anunnaki 2:1c8f73aa2a16 16 GDEP015OC1(SPI& spi, PinName cs, PinName dc, PinName rst, PinName busy);
ivo_n 8:cd51988ee35d 17
ivo_n 8:cd51988ee35d 18 enum Color {eBlack,eWhite,eInvert};
Anunnaki 2:1c8f73aa2a16 19
Anunnaki 4:86114342ce8f 20 void fill(unsigned char data, int i);
Anunnaki 2:1c8f73aa2a16 21 unsigned char get(uint16_t i);
Anunnaki 2:1c8f73aa2a16 22 void empty(void);
Anunnaki 2:1c8f73aa2a16 23 void invert(void);
Anunnaki 7:70c58d3cbc8b 24 void write(void);
Anunnaki 7:70c58d3cbc8b 25 void writeFull(void);
ivo_n 9:1f1e705a5f02 26
ivo_n 9:1f1e705a5f02 27 //old, put here to not break the API.
ivo_n 9:1f1e705a5f02 28 void drawPixel(uint16_t startX, uint16_t startY, bool color);
ivo_n 9:1f1e705a5f02 29 void drawLine(uint16_t startX, uint16_t startY, uint16_t stopX, uint16_t stopY, bool color);
ivo_n 9:1f1e705a5f02 30 void drawTriangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t x3, uint16_t y3, bool color);
ivo_n 9:1f1e705a5f02 31 void drawRectangle(uint16_t startX, uint16_t startY, uint16_t stopX, uint16_t stopY, bool color);
ivo_n 9:1f1e705a5f02 32 void drawCircle(uint16_t startX, uint16_t startY, uint16_t radius, bool color);
ivo_n 9:1f1e705a5f02 33 void fillCircle(uint16_t startX, uint16_t startY, uint16_t radius, bool color);
ivo_n 9:1f1e705a5f02 34 void drawEllipse(uint16_t startX, uint16_t startY, uint16_t width, uint16_t height, bool color);
ivo_n 9:1f1e705a5f02 35 void fillEllipse(uint16_t startX, uint16_t startY, uint16_t width, uint16_t height, bool color);
ivo_n 9:1f1e705a5f02 36 void writeChar(char character, uint16_t startX, uint16_t startY, bool color);
ivo_n 9:1f1e705a5f02 37 void writeString(char *string, uint16_t startX, uint16_t startY, bool color);
ivo_n 9:1f1e705a5f02 38 //
ivo_n 9:1f1e705a5f02 39
ivo_n 8:cd51988ee35d 40 void drawPixel(uint16_t startX, uint16_t startY, Color color);
ivo_n 8:cd51988ee35d 41 void drawLine(uint16_t startX, uint16_t startY, uint16_t stopX, uint16_t stopY, Color color);
ivo_n 8:cd51988ee35d 42 void drawTriangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t x3, uint16_t y3, Color color);
ivo_n 8:cd51988ee35d 43 void drawRectangle(uint16_t startX, uint16_t startY, uint16_t stopX, uint16_t stopY, Color color);
ivo_n 8:cd51988ee35d 44 void fillRectangle(uint16_t startX, uint16_t startY, uint16_t stopX, uint16_t stopY, Color color);
ivo_n 8:cd51988ee35d 45 void drawCircle(uint16_t startX, uint16_t startY, uint16_t radius, Color color);
ivo_n 8:cd51988ee35d 46 void fillCircle(uint16_t startX, uint16_t startY, uint16_t radius, Color color);
ivo_n 8:cd51988ee35d 47 void drawEllipse(uint16_t startX, uint16_t startY, uint16_t width, uint16_t height, Color color);
ivo_n 8:cd51988ee35d 48 void fillEllipse(uint16_t startX, uint16_t startY, uint16_t width, uint16_t height, Color color);
ivo_n 8:cd51988ee35d 49 void writeChar(char character, uint16_t startX, uint16_t startY, Color color);
ivo_n 8:cd51988ee35d 50 void writeString(char *string, uint16_t startX, uint16_t startY, Color color);
ivo_n 9:1f1e705a5f02 51
Anunnaki 2:1c8f73aa2a16 52 private:
Anunnaki 2:1c8f73aa2a16 53 SPI& _spi;
Anunnaki 2:1c8f73aa2a16 54 DigitalOut _cs;
Anunnaki 2:1c8f73aa2a16 55 DigitalOut _dc;
Anunnaki 2:1c8f73aa2a16 56 DigitalOut _rst;
Anunnaki 2:1c8f73aa2a16 57 DigitalIn _busy;
Anunnaki 2:1c8f73aa2a16 58
Anunnaki 3:dc7b794b59b7 59 bool _italic, _bold;
Anunnaki 3:dc7b794b59b7 60
Anunnaki 6:45d2ec037fd6 61 unsigned char _buffer[BUFFER_SIZE];
Anunnaki 2:1c8f73aa2a16 62
Anunnaki 2:1c8f73aa2a16 63 void _spiCommand(unsigned char command);
Anunnaki 2:1c8f73aa2a16 64 void _spiData(unsigned char data);
Anunnaki 2:1c8f73aa2a16 65 void _init(void);
Anunnaki 7:70c58d3cbc8b 66 void _wakeUp(bool partial);
Anunnaki 2:1c8f73aa2a16 67 void _sleep(void);
Anunnaki 2:1c8f73aa2a16 68 unsigned char _pixelConv(unsigned char *data, int i);
Anunnaki 2:1c8f73aa2a16 69 uint8_t _mirrorData(uint8_t data);
Anunnaki 2:1c8f73aa2a16 70 };