-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuffLCD.h
More file actions
66 lines (54 loc) · 1.81 KB
/
buffLCD.h
File metadata and controls
66 lines (54 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifndef __LCD_H__
#define __LCD_H__
#include "Energia.h"
#include "Terminal6.h"
#include "Terminal12.h"
#include "Greek11x16.h"
#define NON_INVERTED false
#define INVERTED true
#define BLACK 0xFF
#define WHITE 0x00
#define LCD_MAX_X 84
#define LCD_MAX_Y 48
class buffLCD {
public:
buffLCD() {};
void begin(uint8_t);
String WhoAmI();
void clear();
void setFont(uint8_t font=0, bool inv=false);
void setContrast(uint8_t val);
void setDisplayMode(uint8_t mode);
void pixel(uint8_t x, uint8_t y);
void setPixel(uint8_t x, uint8_t y);
boolean getPixel(uint8_t x, uint8_t y);
void clearPixel(uint8_t x, uint8_t y);
void hline(uint8_t x, uint8_t y, uint8_t len);
void vline(uint8_t x, uint8_t y, uint8_t len);
void box(uint8_t x, uint8_t y, uint8_t lenx, uint8_t leny);
void rect(uint8_t x, uint8_t y, uint8_t lenx, uint8_t leny);
void line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1);
void circle(uint8_t x0, uint8_t y0, uint8_t radius);
void text(uint8_t x, uint8_t y, String s);
void scroll(uint16_t x, uint8_t y, String s);
void progress(uint16_t x, uint8_t y);
void printf(uint8_t x, float f, uint8_t w = 14, uint8_t p = 10);
void dms(uint8_t x, float f);
void hour(uint8_t x, float f);
const uint8_t* get_screen_buff() { return (const uint8_t*)&_screen; };
void dump_screen_buff(HardwareSerial* debug_port, boolean ascii = true, char white = ' ', char black = '#');
private:
void setXY(uint8_t x, uint8_t y);
void setX(uint8_t x);
void setY(uint8_t y);
void write(uint8_t dataCommand, uint8_t c);
uint8_t _font;
uint8_t _inverse;
uint8_t _pinSerialData;
uint8_t _pinDataCommand;
uint8_t _pinSerialClock;
// x y
// _screen[0..84][0..5]
volatile uint8_t _screen[LCD_MAX_X][LCD_MAX_Y / 8];
};
#endif //ifndef __LCD_H__