|
5 | 5 | * Author: Jack Chen <redchenjs@live.com> |
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