#ifndef __MW_OLED_H__
#define __MW_OLED_H__

#include <stdint.h>

/* oled 驱动结构体 */
typedef struct
{
    // 初始化
    void (*init)(void);
    // 清屏
    void (*clear)(void);
    // 显示一个字符
    void (*show_one_char)(uint8_t, uint8_t, char);
    // 显示字符串
    void (*show_string)(uint8_t, uint8_t, char *);
    // 显示正数 十进制数 行 列 数字 长度
    void (*show_pos_num)(uint8_t, uint8_t, uint32_t, uint8_t);
    // 显示带符号数 十进制数 行 列 数字 长度
    void (*show_signed_num)(uint8_t, uint8_t, int32_t, uint8_t);  
    // 显示十六进制数 行 列 数字 长度
    void (*show_hex_num)(uint8_t, uint8_t, uint32_t, uint8_t);
    // 显示二进制数 行 列 数字 长度
    void (*show_bin_num)(uint8_t, uint8_t, uint32_t, uint8_t);
}oled_drv_str;

extern oled_drv_str oled_drv;

void mw_oled_launch(oled_drv_str *oled_str_data);

#endif
