|
5 | 5 | * Author: Jack Chen <[email protected]>
|
6 | 6 | */
|
7 | 7 |
|
8 |
| -#ifndef SSD1331_H_ |
9 |
| -#define SSD1331_H_ |
10 |
| - |
11 |
| -enum ssd1331_panel_value { |
12 |
| - SSD1331_WIDTH = 96, |
13 |
| - SSD1331_HEIGHT = 64 |
14 |
| -}; |
15 |
| - |
16 |
| -enum ssd1331_data_type { |
17 |
| - SSD1331_CMD = 0, |
18 |
| - SSD1331_DATA = 1 |
19 |
| -}; |
20 |
| - |
21 |
| -enum ssd1331_fundamental_command_table { |
22 |
| - SET_COLUMN_ADDRESS = 0x15, |
23 |
| - SET_ROW_ADDRESS = 0x75, |
24 |
| - |
25 |
| - SET_CONTRAST_A = 0x81, |
26 |
| - SET_CONTRAST_B = 0x82, |
27 |
| - SET_CONTRAST_C = 0x83, |
28 |
| - SET_MASTER_CURRENT = 0x87, |
29 |
| - SET_PRECHARGE_SPEED_A = 0x8A, |
30 |
| - SET_PRECHARGE_SPEED_B = 0x8B, |
31 |
| - SET_PRECHARGE_SPEED_C = 0x8C, |
32 |
| - |
33 |
| - SET_REMAP_COLOR_DEPTH = 0xA0, |
34 |
| - SET_DISPLAY_START_LINE = 0xA1, |
35 |
| - SET_DISPLAY_OFFSET = 0xA2, |
36 |
| - |
37 |
| - SET_NORMAL_DISPLAY = 0xA4, |
38 |
| - SET_ENTIRE_DISPLAY_ON = 0xA5, |
39 |
| - SET_ENTIRE_DISPLAY_OFF = 0xA6, |
40 |
| - SET_INVERSE_DISPLAY = 0xA7, |
41 |
| - |
42 |
| - SET_MULTIPLEX_RATIO = 0xA8, |
43 |
| - SET_DIM_MODE = 0xAB, |
44 |
| - SET_MASTER_CONFIG = 0xAD, |
45 |
| - |
46 |
| - SET_DISPLAY_ON_DIM = 0xAC, |
47 |
| - SET_DISPLAY_OFF = 0xAE, |
48 |
| - SET_DISPLAY_ON_NORMAL = 0xAF, |
49 |
| - |
50 |
| - SET_POWER_SAVE_MODE = 0xB0, |
51 |
| - SET_PHASE_PERIOD_ADJ = 0xB1, |
52 |
| - SET_DISPLAY_CLOCK_DIV = 0xB3, |
53 |
| - SET_GRAY_SCALE_TABLE = 0xB8, |
54 |
| - SET_BUILTIN_LINEAR_LUT = 0xB9, |
55 |
| - SET_PRECHARGE_LEVEL = 0xBB, |
56 |
| - SET_VCOMH_VOLTAGE = 0xBE, |
57 |
| - |
58 |
| - SET_COMMAND_LOCK = 0xFD |
59 |
| -}; |
60 |
| - |
61 |
| -enum ssd1331_graphic_acceleration_command_table { |
62 |
| - DRAW_LINE = 0x21, |
63 |
| - DRAW_RECTANGLE = 0x22, |
64 |
| - COPY_WINDOW = 0x23, |
65 |
| - DIM_WINDOW = 0x24, |
66 |
| - CLEAR_WINDOW = 0x25, |
67 |
| - SET_FILL_MODE = 0x26, |
68 |
| - |
69 |
| - CONTINUOUS_SCROLLING_SETUP = 0x27, |
70 |
| - DEACTIVATE_SCROLLING = 0x2E, |
71 |
| - ACTIVATE_SCROLLING = 0x2F |
72 |
| -}; |
| 8 | +#ifndef INC_DRIVER_SSD1331_H_ |
| 9 | +#define INC_DRIVER_SSD1331_H_ |
73 | 10 |
|
74 | 11 | #include <stdint.h>
|
75 | 12 |
|
76 |
| -extern void ssd1331_refresh_gram(uint8_t *gram); |
77 |
| - |
78 |
| -extern void ssd1331_write_byte(unsigned char chData, unsigned char chCmd); |
79 |
| - |
80 |
| -extern void ssd1331_draw_point(unsigned char chXpos, unsigned char chYpos, unsigned int hwColor); |
81 |
| -extern void ssd1331_draw_line(unsigned char chXpos0, unsigned char chYpos0, unsigned char chXpos1, unsigned char chYpos1, unsigned int hwColor); |
82 |
| -extern void ssd1331_draw_v_line(unsigned char chXpos, unsigned char chYpos, unsigned char chHeight, unsigned int hwColor); |
83 |
| -extern void ssd1331_draw_h_line(unsigned char chXpos, unsigned char chYpos, unsigned char chWidth, unsigned int hwColor); |
84 |
| -extern void ssd1331_draw_rect(unsigned char chXpos, unsigned char chYpos, unsigned char chWidth, unsigned char chHeight, unsigned int hwColor); |
85 |
| -extern void ssd1331_draw_circle(unsigned char chXpos, unsigned char chYpos, unsigned char chRadius, unsigned int hwColor); |
86 |
| - |
87 |
| -extern void ssd1331_draw_mono_bitmap(unsigned char chXpos, unsigned char chYpos, const unsigned char *pchBmp, unsigned char chWidth, unsigned char chHeight, unsigned int hwForeColor, unsigned int hwBackColor); |
88 |
| -extern void ssd1331_draw_64k_bitmap(unsigned char chXpos, unsigned char chYpos, const unsigned char *pchBmp, unsigned char chWidth, unsigned char chHeight); |
89 |
| - |
90 |
| -extern void ssd1331_fill_rect(unsigned char chXpos, unsigned char chYpos, unsigned char chWidth, unsigned char chHeight, unsigned int hwColor); |
91 |
| -extern void ssd1331_fill_gram(unsigned int hwColor); |
| 13 | +#include "device/spi.h" |
92 | 14 |
|
93 |
| -extern void ssd1331_clear_rect(unsigned char chXpos, unsigned char chYpos, unsigned char chWidth, unsigned char chHeight); |
94 |
| -extern void ssd1331_clear_gram(void); |
| 15 | +extern void ssd1331_init_board(void); |
| 16 | +extern void ssd1331_setpin_dc(spi_transaction_t *); |
| 17 | +extern void ssd1331_setpin_reset(uint8_t rst); |
95 | 18 |
|
96 |
| -extern void ssd1331_display_char(unsigned char chXpos, unsigned char chYpos, unsigned char chChr, unsigned char chFontIndex, unsigned int hwForeColor, unsigned int hwBackColor); |
97 |
| -extern void ssd1331_display_num(unsigned char chXpos, unsigned char chYpos, unsigned long chNum, unsigned char chLen, unsigned char chFontIndex, unsigned int hwForeColor, unsigned int hwBackColor); |
98 |
| -extern void ssd1331_display_string(unsigned char chXpos, unsigned char chYpos, const char *pchString, unsigned char chFontIndex, unsigned int hwForeColor, unsigned int hwBackColor); |
99 |
| - |
100 |
| -extern void ssd1331_continuous_scrolling(unsigned char chYpos, unsigned char chHeight, unsigned char chDirection, unsigned char chInterval); |
101 |
| -extern void ssd1331_deactivate_scrolling(void); |
102 |
| - |
103 |
| -extern void ssd1331_show_checkerboard(void); |
104 |
| -extern void ssd1331_show_rainbow(void); |
105 |
| - |
106 |
| -extern void ssd1331_set_gray_scale_table(void); |
107 |
| - |
108 |
| -extern void ssd1331_init(void); |
| 19 | +extern void ssd1331_write_cmd(uint8_t cmd); |
| 20 | +extern void ssd1331_write_data(uint8_t data); |
| 21 | +extern void ssd1331_refresh_gram(uint8_t *gram); |
109 | 22 |
|
110 |
| -#endif |
| 23 | +#endif /* INC_DRIVER_SSD1331_H_ */ |
0 commit comments