Rev 3 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3 | Rev 4 | ||
|---|---|---|---|
| Line 55... | Line 55... | ||
| 55 | /*=========================================================================*/ |
55 | /*=========================================================================*/ |
| 56 | 56 | ||
| 57 | 57 | ||
| 58 | // the 1106 has a RAM width of 128 |
58 | // the 1106 has a RAM width of 128 |
| 59 | #if defined SSD1306_128_64 |
59 | #if defined SSD1306_128_64 |
| - | 60 | // 0.9 inch display |
|
| 60 | #define SSD1306_LCDWIDTH 128 |
61 | #define SSD1306_LCDWIDTH 128 |
| 61 | #define SSD1306_LCDHEIGHT 64 |
62 | #define SSD1306_LCDHEIGHT 64 |
| 62 | #define SSD1306_RAMWIDTH 128 |
63 | #define SSD1306_RAMWIDTH 128 |
| 63 | #elif defined SSD1306_128_32 |
- | |
| 64 | #define SSD1306_LCDWIDTH 128 |
- | |
| 65 | #define SSD1306_LCDHEIGHT 32 |
- | |
| 66 | #define SSD1306_RAMWIDTH 128 |
- | |
| 67 | #elif defined SSD1306_132_64 |
64 | #elif defined SSD1306_132_64 |
| - | 65 | // 1.3 inch display |
|
| 68 | #define SSD1306_LCDWIDTH 128 |
66 | #define SSD1306_LCDWIDTH 128 |
| 69 | #define SSD1306_LCDHEIGHT 64 |
67 | #define SSD1306_LCDHEIGHT 64 |
| 70 | #define SSD1306_RAMWIDTH 132 |
68 | #define SSD1306_RAMWIDTH 132 |
| - | 69 | #elif defined SSD1306_128_32 |
|
| - | 70 | #define SSD1306_LCDWIDTH 128 |
|
| - | 71 | #define SSD1306_LCDHEIGHT 32 |
|
| - | 72 | #define SSD1306_RAMWIDTH 128 |
|
| 71 | #else |
73 | #else |
| 72 | #error "At least one SSD1306 display must be specified in SSD1306.h" |
74 | #error "At least one SSD1306 display must be specified in SSD1306.h" |
| 73 | #endif |
75 | #endif |
| 74 | 76 | ||
| 75 | #define SSD1306_SETCONTRAST 0x81 |
77 | #define SSD1306_SETCONTRAST 0x81 |
| Line 116... | Line 118... | ||
| 116 | #define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26 |
118 | #define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26 |
| 117 | #define SSD1306_LEFT_HORIZONTAL_SCROLL 0x27 |
119 | #define SSD1306_LEFT_HORIZONTAL_SCROLL 0x27 |
| 118 | #define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29 |
120 | #define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29 |
| 119 | #define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A |
121 | #define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A |
| 120 | 122 | ||
| 121 | - | ||
| 122 | extern const uint16_t WIDTH; |
123 | extern const uint16_t WIDTH; |
| 123 | extern const uint16_t HEIGHT; |
124 | extern const uint16_t HEIGHT; |
| 124 | extern uint8_t display_buffer[]; |
125 | extern uint8_t display_buffer[]; |
| 125 | 126 | ||
| 126 | extern uint8_t getRotation(void); |
127 | extern uint8_t getRotation(void); |
| 127 | extern int16_t width(void); |
128 | extern int16_t width(void); |
| 128 | extern int16_t height(void); |
129 | extern int16_t height(void); |
| 129 | 130 | ||
| 130 | - | ||
| 131 | /* stolen from AdaFruit class and converted to C */ |
131 | /* stolen from AdaFruit class and converted to C */ |
| 132 | void ssd1306_begin(uint8_t vccstate, uint8_t i2caddr); |
132 | void ssd1306_begin(uint8_t vccstate, uint8_t i2caddr); |
| 133 | 133 | ||
| 134 | extern void clearDisplay(void); |
134 | extern void clearDisplay(void); |
| 135 | extern void invertDisplay(uint8_t i); |
135 | extern void invertDisplay(uint8_t i); |
| Line 142... | Line 142... | ||
| 142 | extern void startscrolldiagleft(uint8_t start, uint8_t stop); |
142 | extern void startscrolldiagleft(uint8_t start, uint8_t stop); |
| 143 | extern void stopscroll(void); |
143 | extern void stopscroll(void); |
| 144 | 144 | ||
| 145 | extern void dim(uint8_t contrast); |
145 | extern void dim(uint8_t contrast); |
| 146 | 146 | ||
| 147 | extern void drawPixel(int16_t x, int16_t y, uint16_t color); |
147 | extern void drawPixel(int16_t x, int16_t y, uint16_t color); |
| 148 | 148 | ||
| 149 | extern void drawLine(int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t color); |
149 | extern void drawLine(int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t color); |
| 150 | 150 | ||
| 151 | extern void select_display(int i) ; // select physical display [i] |
151 | extern void select_display(int i) ; // select physical display [i] |
| 152 | 152 | ||
| 153 | extern inline uint8_t * display_address(void) ; |
153 | extern inline uint8_t * display_address(void) ; |