123456789101112131415161718192021222324252627282930313233343536 |
- #ifndef _SD1306_H_
- #define _SD1306_H_
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include "pico/stdlib.h"
- #define OLED_HEIGHT _u(32)
- #define OLED_WIDTH _u(128)
- #define OLED_PAGE_HEIGHT _u(8)
- #define OLED_NUM_PAGES OLED_HEIGHT / OLED_PAGE_HEIGHT
- #define OLED_BUF_LEN (OLED_NUM_PAGES * OLED_WIDTH)
- struct render_area {
- uint8_t start_col;
- uint8_t end_col;
- uint8_t start_page;
- uint8_t end_page;
- int buflen;
- };
- void fill(uint8_t buf[], uint8_t fill);
- void fill_page(uint8_t *buf, uint8_t fill, uint8_t page);
- void print_buf_page(uint8_t buf[], uint8_t page);
- void print_buf_pages(uint8_t buf[]);
- void print_buf_area(uint8_t *buf, struct render_area *area);
- void calc_render_area_buflen(struct render_area *area);
- void oled_send_cmd(uint8_t cmd);
- void oled_send_buf(uint8_t buf[], int buflen);
- void oled_init(void);
- void render(uint8_t *buf, struct render_area *area);
- #endif
|