HW_Lib/sim/oled/sim_oled.h

68 lines
1.8 KiB
C

#ifndef HW_LIB_SIM_OLED_H
#define HW_LIB_SIM_OLED_H
#ifdef __cplusplus
extern "C" {
#endif
#include "stdint.h"
#define BLACK 0
#define BLUE 0xAA0000
#define GREEN 0x00AA00
#define CYAN 0xAAAA00
#define RED 0x0000AA
#define MAGENTA 0xAA00AA
#define BROWN 0x0055AA
#define LIGHTGRAY 0xAAAAAA
#define DARKGRAY 0x555555
#define LIGHTBLUE 0xFF5555
#define LIGHTGREEN 0x55FF55
#define LIGHTCYAN 0xFFFF55
#define LIGHTRED 0x5555FF
#define LIGHTMAGENTA 0xFF55FF
#define YELLOW 0x55FFFF
#define WHITE 0xFFFFFF
/**
* @brief 初始化模拟 OLED 显示
* @param width: [输入] 显示宽度
* @param height: [输入] 显示高度
* @param pixcolor: [输入] 像素颜色
* @param backcolor: [输入] 背景颜色
* @param scale: [输入] 显示缩放比例
* @param border: [输入] 是否显示边框
* @return void
* @example SIM_OLED_INIT(128, 64, 0xFFFF00, 0x000000, 10, 1);
**/
void SIM_OLED_INIT(int width, int height, uint32_t pixcolor, uint32_t backcolor, int scale, uint8_t border);
/**
* @brief 开始模拟 OLED 显示
* @return void
* @example SIM_OLED_START();
**/
void SIM_OLED_START();
/**
* @brief 停止模拟 OLED 显示
* @return void
* @example SIM_OLED_STOP();
**/
void SIM_OLED_STOP();
/**
* @brief 从缓冲区绘制到模拟 OLED 显示
* @param buf: [输入] 缓冲区指针
* @param width: [输入] 图像宽度
* @param height: [输入] 图像高度
* @return void
* @example SIM_OLED_DrawFromBuffer(buffer, 128, 64);
**/
void SIM_OLED_DrawFromBuffer(uint8_t *buf, uint8_t width, uint8_t height);
#ifdef __cplusplus
}
#endif
#endif //HW_LIB_SIM_OLED_H