LibDriver SSD1315
Loading...
Searching...
No Matches
driver_ssd1315_advance.c
Go to the documentation of this file.
1
36
38
39static ssd1315_handle_t gs_handle;
40
51{
52 uint8_t res;
53
54 /* link functions */
70
71 /* set interface */
72 res = ssd1315_set_interface(&gs_handle, interface);
73 if (res != 0)
74 {
75 ssd1315_interface_debug_print("ssd1315: set interface failed.\n");
76
77 return 1;
78 }
79
80 /* set addr pin */
81 res = ssd1315_set_addr_pin(&gs_handle, addr);
82 if (res != 0)
83 {
84 ssd1315_interface_debug_print("ssd1315: set addr failed.\n");
85
86 return 1;
87 }
88
89 /* ssd1315 init */
90 res = ssd1315_init(&gs_handle);
91 if (res != 0)
92 {
93 ssd1315_interface_debug_print("ssd1315: init failed.\n");
94
95 return 1;
96 }
97
98 /* close display */
100 if (res != 0)
101 {
102 ssd1315_interface_debug_print("ssd1315: set display failed.\n");
103 (void)ssd1315_deinit(&gs_handle);
104
105 return 1;
106 }
107
108 /* set column address range */
110 if (res != 0)
111 {
112 ssd1315_interface_debug_print("ssd1315: set column address range failed.\n");
113 (void)ssd1315_deinit(&gs_handle);
114
115 return 1;
116 }
117
118 /* set page address range */
120 if (res != 0)
121 {
122 ssd1315_interface_debug_print("ssd1315: set page address range failed.\n");
123 (void)ssd1315_deinit(&gs_handle);
124
125 return 1;
126 }
127
128 /* set low column start address */
130 if (res != 0)
131 {
132 ssd1315_interface_debug_print("ssd1315: set low column start address failed.\n");
133 (void)ssd1315_deinit(&gs_handle);
134
135 return 1;
136 }
137
138 /* set high column start address */
140 if (res != 0)
141 {
142 ssd1315_interface_debug_print("ssd1315: set high column start address failed.\n");
143 (void)ssd1315_deinit(&gs_handle);
144
145 return 1;
146 }
147
148 /* set display start line */
150 if (res != 0)
151 {
152 ssd1315_interface_debug_print("ssd1315: set display start line failed.\n");
153 (void)ssd1315_deinit(&gs_handle);
154
155 return 1;
156 }
157
158 /* set fade blinking mode */
160 if (res != 0)
161 {
162 ssd1315_interface_debug_print("ssd1315: set fade blinking failed.\n");
163 (void)ssd1315_deinit(&gs_handle);
164
165 return 1;
166 }
167
168 /* deactivate scroll */
169 res = ssd1315_deactivate_scroll(&gs_handle);
170 if (res != 0)
171 {
172 ssd1315_interface_debug_print("ssd1315: set deactivate scroll failed.\n");
173 (void)ssd1315_deinit(&gs_handle);
174
175 return 1;
176 }
177
178 /* set zoom in */
180 if (res != 0)
181 {
182 ssd1315_interface_debug_print("ssd1315: set set zoom in failed.\n");
183 (void)ssd1315_deinit(&gs_handle);
184
185 return 1;
186 }
187
188 /* set contrast */
190 if (res != 0)
191 {
192 ssd1315_interface_debug_print("ssd1315: set contrast failed.\n");
193 (void)ssd1315_deinit(&gs_handle);
194
195 return 1;
196 }
197
198 /* set segment remap */
200 if (res != 0)
201 {
202 ssd1315_interface_debug_print("ssd1315: set segment remap failed.\n");
203 (void)ssd1315_deinit(&gs_handle);
204
205 return 1;
206 }
207
208 /* set scan direction */
210 if (res != 0)
211 {
212 ssd1315_interface_debug_print("ssd1315: set scan direction failed.\n");
213 (void)ssd1315_deinit(&gs_handle);
214
215 return 1;
216 }
217
218 /* set display mode */
220 if (res != 0)
221 {
222 ssd1315_interface_debug_print("ssd1315: set display mode failed.\n");
223 (void)ssd1315_deinit(&gs_handle);
224
225 return 1;
226 }
227
228 /* set multiplex ratio */
230 if (res != 0)
231 {
232 ssd1315_interface_debug_print("ssd1315: set multiplex ratio failed.\n");
233 (void)ssd1315_deinit(&gs_handle);
234
235 return 1;
236 }
237
238 /* set display offset */
240 if (res != 0)
241 {
242 ssd1315_interface_debug_print("ssd1315: set display offset failed.\n");
243 (void)ssd1315_deinit(&gs_handle);
244
245 return 1;
246 }
247
248 /* set display clock */
250 if (res != 0)
251 {
252 ssd1315_interface_debug_print("ssd1315: set display clock failed.\n");
253 (void)ssd1315_deinit(&gs_handle);
254
255 return 1;
256 }
257
258 /* set pre charge period */
260 if (res != 0)
261 {
262 ssd1315_interface_debug_print("ssd1315: set pre charge period failed.\n");
263 (void)ssd1315_deinit(&gs_handle);
264
265 return 1;
266 }
267
268 /* set iref */
270 if (res != 0)
271 {
272 ssd1315_interface_debug_print("ssd1315: set iref failed.\n");
273 (void)ssd1315_deinit(&gs_handle);
274
275 return 1;
276 }
277
278 /* set hardware pins conf */
280 if (res != 0)
281 {
282 ssd1315_interface_debug_print("ssd1315: set com pins hardware conf failed.\n");
283 (void)ssd1315_deinit(&gs_handle);
284
285 return 1;
286 }
287
288 /* set deselect level 0.77 */
290 if (res != 0)
291 {
292 ssd1315_interface_debug_print("ssd1315: set deselect level failed.\n");
293 (void)ssd1315_deinit(&gs_handle);
294
295 return 1;
296 }
297
298 /* set page memory addressing mode */
300 if (res != 0)
301 {
302 ssd1315_interface_debug_print("ssd1315: set memory addressing level failed.\n");
303 (void)ssd1315_deinit(&gs_handle);
304
305 return 1;
306 }
307
308 /* enable charge pump */
310 if (res != 0)
311 {
312 ssd1315_interface_debug_print("ssd1315: set charge pump failed.\n");
313 (void)ssd1315_deinit(&gs_handle);
314
315 return 1;
316 }
317
318 /* entire display off */
320 if (res != 0)
321 {
322 ssd1315_interface_debug_print("ssd1315: set entire display failed.\n");
323 (void)ssd1315_deinit(&gs_handle);
324
325 return 1;
326 }
327
328 /* enable display */
329 res = ssd1315_set_display(&gs_handle, SSD1315_DISPLAY_ON);
330 if (res != 0)
331 {
332 ssd1315_interface_debug_print("ssd1315: set display failed.\n");
333 (void)ssd1315_deinit(&gs_handle);
334
335 return 1;
336 }
337
338 /* clear screen */
339 res = ssd1315_clear(&gs_handle);
340 if (res != 0)
341 {
342 ssd1315_interface_debug_print("ssd1315: clear failed.\n");
343 (void)ssd1315_deinit(&gs_handle);
344
345 return 1;
346 }
347
348 return 0;
349}
350
359{
360 /* deinit ssd1315 */
361 if (ssd1315_deinit(&gs_handle) != 0)
362 {
363 return 1;
364 }
365 else
366 {
367 return 0;
368 }
369}
370
379{
380 uint8_t res;
381
382 /* display on */
383 res = ssd1315_set_display(&gs_handle, SSD1315_DISPLAY_ON);
384 if (res != 0)
385 {
386 return 1;
387 }
388 else
389 {
390 return 0;
391 }
392}
393
402{
403 uint8_t res;
404
405 /* display off */
406 res = ssd1315_set_display(&gs_handle, SSD1315_DISPLAY_OFF);
407 if (res != 0)
408 {
409 return 1;
410 }
411 else
412 {
413 return 0;
414 }
415}
416
425{
426 /* clear */
427 if (ssd1315_clear(&gs_handle) != 0)
428 {
429 return 1;
430 }
431 else
432 {
433 return 0;
434 }
435}
436
447uint8_t ssd1315_advance_write_point(uint8_t x, uint8_t y, uint8_t data)
448{
449 uint8_t res;
450
451 /* write point */
452 res = ssd1315_write_point(&gs_handle, x, y, data);
453 if (res != 0)
454 {
455 return 1;
456 }
457
458 return 0;
459}
460
471uint8_t ssd1315_advance_read_point(uint8_t x, uint8_t y, uint8_t *data)
472{
473 uint8_t res;
474
475 /* read point in gram */
476 res = ssd1315_read_point(&gs_handle, x, y, data);
477 if (res != 0)
478 {
479 return 1;
480 }
481
482 return 0;
483}
484
498uint8_t ssd1315_advance_string(uint8_t x, uint8_t y, char *str, uint16_t len, uint8_t color, ssd1315_font_t font)
499{
500 uint8_t res;
501
502 /* write string in gram */
503 res = ssd1315_gram_write_string(&gs_handle, x, y, str, len, color, font);
504 if (res != 0)
505 {
506 return 1;
507 }
508
509 /* update gram */
510 if (ssd1315_gram_update(&gs_handle) != 0)
511 {
512 return 1;
513 }
514 else
515 {
516 return 0;
517 }
518}
519
532uint8_t ssd1315_advance_rect(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t color)
533{
534 uint8_t res;
535
536 /* fill rect in gram */
537 res = ssd1315_gram_fill_rect(&gs_handle, left, top, right, bottom, color);
538 if (res != 0)
539 {
540 return 1;
541 }
542
543 /* update gram */
544 if (ssd1315_gram_update(&gs_handle) != 0)
545 {
546 return 1;
547 }
548 else
549 {
550 return 0;
551 }
552}
553
566uint8_t ssd1315_advance_picture(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t *img)
567{
568 uint8_t res;
569
570 /* draw picture in gram */
571 res = ssd1315_gram_draw_picture(&gs_handle, left, top, right, bottom, img);
572 if (res != 0)
573 {
574 return 1;
575 }
576
577 /* update gram */
578 if (ssd1315_gram_update(&gs_handle) != 0)
579 {
580 return 1;
581 }
582 else
583 {
584 return 0;
585 }
586}
587
596{
597 uint8_t res;
598
599 /* enable zoom in */
601 if (res != 0)
602 {
603 return 1;
604 }
605
606 return 0;
607}
608
617{
618 uint8_t res;
619
620 /* disable zoom in */
622 if (res != 0)
623 {
624 return 1;
625 }
626
627 return 0;
628}
629
640{
641 uint8_t res;
642
643 /* set fade blinking mode */
644 res = ssd1315_set_fade_blinking_mode(&gs_handle, mode, frames);
645 if (res != 0)
646 {
647 return 1;
648 }
649
650 return 0;
651}
652
661{
662 uint8_t res;
663
664 /* deactivate scroll */
665 res = ssd1315_deactivate_scroll(&gs_handle);
666 if (res != 0)
667 {
668 return 1;
669 }
670
671 return 0;
672}
673
685uint8_t ssd1315_advance_vertical_left_horizontal_scroll(uint8_t start_page_addr, uint8_t end_page_addr,
686 uint8_t vertical_scrolling_offset,
688{
689 uint8_t res;
690
691 /* deactivate scroll */
692 res = ssd1315_deactivate_scroll(&gs_handle);
693 if (res != 0)
694 {
695 return 1;
696 }
697
698 /* set vertical left horizontal scroll */
699 res = ssd1315_set_vertical_left_horizontal_scroll(&gs_handle, SSD1315_HORIZONTAL_SCROLL_ENABLE, start_page_addr, end_page_addr,
700 vertical_scrolling_offset, frames, 0x00, 0x7F);
701 if (res != 0)
702 {
703 return 1;
704 }
705
706 /* activate scroll */
707 res = ssd1315_activate_scroll(&gs_handle);
708 if (res != 0)
709 {
710 return 1;
711 }
712
713 return 0;
714}
715
727uint8_t ssd1315_advance_vertical_right_horizontal_scroll(uint8_t start_page_addr, uint8_t end_page_addr,
728 uint8_t vertical_scrolling_offset,
730{
731 uint8_t res;
732
733 /* deactivate scroll */
734 res = ssd1315_deactivate_scroll(&gs_handle);
735 if (res != 0)
736 {
737 return 1;
738 }
739
740 /* set vertical right horizontal scroll */
741 res = ssd1315_set_vertical_right_horizontal_scroll(&gs_handle, SSD1315_HORIZONTAL_SCROLL_ENABLE, start_page_addr, end_page_addr,
742 vertical_scrolling_offset, frames, 0x00, 0x7F);
743 if (res != 0)
744 {
745 return 1;
746 }
747
748 /* activate scroll */
749 res = ssd1315_activate_scroll(&gs_handle);
750 if (res != 0)
751 {
752 return 1;
753 }
754
755 return 0;
756}
driver ssd1315 advance header file
uint8_t ssd1315_clear(ssd1315_handle_t *handle)
clear the screen
uint8_t ssd1315_set_entire_display(ssd1315_handle_t *handle, ssd1315_entire_display_t enable)
enable or disable the entire display
ssd1315_fade_blinking_mode_t
ssd1315 fade blinking mode enumeration definition
ssd1315_interface_t
ssd1315 interface enumeration definition
uint8_t ssd1315_set_zoom_in(ssd1315_handle_t *handle, ssd1315_zoom_in_t zoom)
set the display zoom in
uint8_t ssd1315_set_memory_addressing_mode(ssd1315_handle_t *handle, ssd1315_memory_addressing_mode_t mode)
set the memory addressing mode
uint8_t ssd1315_set_display_mode(ssd1315_handle_t *handle, ssd1315_display_mode_t mode)
set the display mode
uint8_t ssd1315_read_point(ssd1315_handle_t *handle, uint8_t x, uint8_t y, uint8_t *data)
read a point
uint8_t ssd1315_init(ssd1315_handle_t *handle)
initialize the chip
uint8_t ssd1315_deactivate_scroll(ssd1315_handle_t *handle)
deactivate the scroll
uint8_t ssd1315_set_multiplex_ratio(ssd1315_handle_t *handle, uint8_t multiplex)
set the multiplex ratio
uint8_t ssd1315_set_display_start_line(ssd1315_handle_t *handle, uint8_t l)
set the display start line
uint8_t ssd1315_set_segment_remap(ssd1315_handle_t *handle, ssd1315_segment_column_remap_t remap)
set the segment remap
uint8_t ssd1315_set_display(ssd1315_handle_t *handle, ssd1315_display_t on_off)
enable or disable the display
uint8_t ssd1315_set_interface(ssd1315_handle_t *handle, ssd1315_interface_t interface)
set the chip interface
uint8_t ssd1315_set_iref(ssd1315_handle_t *handle, ssd1315_iref_t enable, ssd1315_iref_value_t iref)
set iref
uint8_t ssd1315_set_charge_pump(ssd1315_handle_t *handle, ssd1315_charge_pump_t enable, ssd1315_charge_pump_mode_t mode)
enable or disable the charge pump
uint8_t ssd1315_gram_fill_rect(ssd1315_handle_t *handle, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t color)
fill a rectangle in the gram
uint8_t ssd1315_set_vertical_right_horizontal_scroll(ssd1315_handle_t *handle, ssd1315_horizontal_scroll_t enable, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t vertical_scrolling_offset, ssd1315_scroll_frame_t frames, uint8_t start_column_addr, uint8_t end_column_addr)
set the vertical right horizontal scroll
struct ssd1315_handle_s ssd1315_handle_t
ssd1315 handle structure definition
uint8_t ssd1315_set_precharge_period(ssd1315_handle_t *handle, uint8_t phase1_period, uint8_t phase2_period)
set the pre charge period
ssd1315_scroll_frame_t
ssd1315 scroll frame enumeration definition
uint8_t ssd1315_set_scan_direction(ssd1315_handle_t *handle, ssd1315_scan_direction_t dir)
set the scan direction
uint8_t ssd1315_set_display_clock(ssd1315_handle_t *handle, uint8_t oscillator_frequency, uint8_t clock_divide)
set the display clock
uint8_t ssd1315_set_page_address_range(ssd1315_handle_t *handle, uint8_t start_addr, uint8_t end_addr)
set the page address range
uint8_t ssd1315_gram_write_string(ssd1315_handle_t *handle, uint8_t x, uint8_t y, char *str, uint16_t len, uint8_t color, ssd1315_font_t font)
draw a string in the gram
uint8_t ssd1315_set_fade_blinking_mode(ssd1315_handle_t *handle, ssd1315_fade_blinking_mode_t mode, uint8_t frames)
set the fade blinking mode
uint8_t ssd1315_set_high_column_start_address(ssd1315_handle_t *handle, uint8_t addr)
set the high column start address
uint8_t ssd1315_activate_scroll(ssd1315_handle_t *handle)
activate the scroll
uint8_t ssd1315_set_low_column_start_address(ssd1315_handle_t *handle, uint8_t addr)
set the low column start address
ssd1315_font_t
ssd1315 font enumeration definition
uint8_t ssd1315_set_display_offset(ssd1315_handle_t *handle, uint8_t offset)
set the display offset
uint8_t ssd1315_set_addr_pin(ssd1315_handle_t *handle, ssd1315_address_t addr_pin)
set the chip iic address
uint8_t ssd1315_write_point(ssd1315_handle_t *handle, uint8_t x, uint8_t y, uint8_t data)
write a point
uint8_t ssd1315_gram_update(ssd1315_handle_t *handle)
update the gram data
ssd1315_address_t
ssd1315 address pin enumeration definition
uint8_t ssd1315_set_contrast(ssd1315_handle_t *handle, uint8_t contrast)
set the display contrast
uint8_t ssd1315_set_vertical_left_horizontal_scroll(ssd1315_handle_t *handle, ssd1315_horizontal_scroll_t enable, uint8_t start_page_addr, uint8_t end_page_addr, uint8_t vertical_scrolling_offset, ssd1315_scroll_frame_t frames, uint8_t start_column_addr, uint8_t end_column_addr)
set the vertical left horizontal scroll
uint8_t ssd1315_set_com_pins_hardware_conf(ssd1315_handle_t *handle, ssd1315_pin_conf_t conf, ssd1315_left_right_remap_t remap)
set the hardware com pins
uint8_t ssd1315_deinit(ssd1315_handle_t *handle)
close the chip
uint8_t ssd1315_gram_draw_picture(ssd1315_handle_t *handle, uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t *img)
draw a picture in the gram
uint8_t ssd1315_set_deselect_level(ssd1315_handle_t *handle, ssd1315_deselect_level_t level)
set the deselect level
uint8_t ssd1315_set_column_address_range(ssd1315_handle_t *handle, uint8_t start_addr, uint8_t end_addr)
set the column address range
@ SSD1315_MEMORY_ADDRESSING_MODE_PAGE
@ SSD1315_ZOOM_IN_DISABLE
@ SSD1315_ZOOM_IN_ENABLE
@ SSD1315_CHARGE_PUMP_ENABLE
@ SSD1315_DISPLAY_ON
@ SSD1315_DISPLAY_OFF
@ SSD1315_HORIZONTAL_SCROLL_ENABLE
@ SSD1315_ENTIRE_DISPLAY_OFF
@ SSD1315_CHARGE_PUMP_MODE_7P5V
#define SSD1315_ADVANCE_DEFAULT_FADE_FRAMES
#define SSD1315_ADVANCE_DEFAULT_PHASE1_PERIOD
uint8_t ssd1315_advance_clear(void)
advance example clear
#define SSD1315_ADVANCE_DEFAULT_SEGMENT
uint8_t ssd1315_advance_enable_zoom_in(void)
advance example enable the zoom in
uint8_t ssd1315_advance_vertical_left_horizontal_scroll(uint8_t start_page_addr, uint8_t end_page_addr, uint8_t vertical_scrolling_offset, ssd1315_scroll_frame_t frames)
advance example enable the left horizontal scroll
#define SSD1315_ADVANCE_DEFAULT_DISPLAY_OFFSET
#define SSD1315_ADVANCE_DEFAULT_HIGH_COLUMN_START_ADDRESS
#define SSD1315_ADVANCE_DEFAULT_DESELECT_LEVEL
ssd1315 advance example default definition
uint8_t ssd1315_advance_disable_zoom_in(void)
advance example disable the zoom in
#define SSD1315_ADVANCE_DEFAULT_ZOOM_IN
uint8_t ssd1315_advance_deinit(void)
advance example deinit
uint8_t ssd1315_advance_deactivate_scroll(void)
advance example deactivate the scroll
uint8_t ssd1315_advance_string(uint8_t x, uint8_t y, char *str, uint16_t len, uint8_t color, ssd1315_font_t font)
advance example draw a string
uint8_t ssd1315_advance_picture(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t *img)
advance example draw a picture
#define SSD1315_ADVANCE_DEFAULT_DISPLAY_MODE
uint8_t ssd1315_advance_rect(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t color)
advance example fill a rectangle
uint8_t ssd1315_advance_read_point(uint8_t x, uint8_t y, uint8_t *data)
advance example read a point
#define SSD1315_ADVANCE_DEFAULT_DISPLAY_START_LINE
#define SSD1315_ADVANCE_DEFAULT_PAGE_ADDRESS_RANGE_START
uint8_t ssd1315_advance_display_on(void)
advance example display on
#define SSD1315_ADVANCE_DEFAULT_FADE_BLINKING_MODE
uint8_t ssd1315_advance_vertical_right_horizontal_scroll(uint8_t start_page_addr, uint8_t end_page_addr, uint8_t vertical_scrolling_offset, ssd1315_scroll_frame_t frames)
advance example enable the right horizontal scroll
#define SSD1315_ADVANCE_DEFAULT_PHASE2_PERIOD
#define SSD1315_ADVANCE_DEFAULT_IREF_VALUE
#define SSD1315_ADVANCE_DEFAULT_LOW_COLUMN_START_ADDRESS
#define SSD1315_ADVANCE_DEFAULT_OSCILLATOR_FREQUENCY
uint8_t ssd1315_advance_write_point(uint8_t x, uint8_t y, uint8_t data)
advance example write a point
#define SSD1315_ADVANCE_DEFAULT_CONTRAST
#define SSD1315_ADVANCE_DEFAULT_COLUMN_ADDRESS_RANGE_END
#define SSD1315_ADVANCE_DEFAULT_COLUMN_ADDRESS_RANGE_START
#define SSD1315_ADVANCE_DEFAULT_PIN_CONF
#define SSD1315_ADVANCE_DEFAULT_PAGE_ADDRESS_RANGE_END
#define SSD1315_ADVANCE_DEFAULT_LEFT_RIGHT_REMAP
uint8_t ssd1315_advance_init(ssd1315_interface_t interface, ssd1315_address_t addr)
advance example init
#define SSD1315_ADVANCE_DEFAULT_MULTIPLEX_RATIO
#define SSD1315_ADVANCE_DEFAULT_IREF
#define SSD1315_ADVANCE_DEFAULT_SCAN_DIRECTION
#define SSD1315_ADVANCE_DEFAULT_CLOCK_DIVIDE
uint8_t ssd1315_advance_fade_blinking(ssd1315_fade_blinking_mode_t mode, uint8_t frames)
advance example set the fade blinking mode
uint8_t ssd1315_advance_display_off(void)
advance example display off
uint8_t ssd1315_interface_iic_deinit(void)
interface iic bus deinit
uint8_t ssd1315_interface_spi_cmd_data_gpio_write(uint8_t value)
interface command && data gpio write
uint8_t ssd1315_interface_reset_gpio_init(void)
interface reset gpio init
uint8_t ssd1315_interface_reset_gpio_deinit(void)
interface reset gpio deinit
uint8_t ssd1315_interface_spi_init(void)
interface spi bus init
uint8_t ssd1315_interface_spi_write_cmd(uint8_t *buf, uint16_t len)
interface spi bus write
void ssd1315_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t ssd1315_interface_spi_deinit(void)
interface spi bus deinit
uint8_t ssd1315_interface_iic_init(void)
interface iic bus init
uint8_t ssd1315_interface_reset_gpio_write(uint8_t value)
interface reset gpio write
void ssd1315_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t ssd1315_interface_spi_cmd_data_gpio_init(void)
interface command && data gpio init
uint8_t ssd1315_interface_spi_cmd_data_gpio_deinit(void)
interface command && data gpio deinit
uint8_t ssd1315_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write