LibSharp/lib_sharp.h
2025-06-23 22:51:08 +01:00

36 lines
936 B
C

#ifndef SHARP_DISPLAY
#define SHARP_DISPLAY
#include "hardware/spi.h"
// in LSB format
#define CMD_WRITE 0b10000000
#define CMD_VCOM 0b01000000
#define CMD_CLEAR 0b00100000
typedef enum sharp_color
{
WHITE = 0,
BLACK = 1,
}
sharp_color_t;
typedef struct sharp_display
{
uint16_t width, height;
uint8_t cs;
uint8_t vcom;
uint8_t * framebuffer;
spi_inst_t * spi;
}
sharp_display_t;
sharp_display_t sharp_display_new(uint16_t width, uint16_t height, spi_inst_t * spi, uint8_t cs);
bool sharp_display_error(sharp_display_t * display);
void sharp_display_refresh_screen(sharp_display_t * display);
void sharp_display_clear_screen(sharp_display_t * display);
void sharp_display_toggle_vcom(sharp_display_t * display);
void sharp_display_draw_pixel(sharp_display_t *display, uint16_t x, uint16_t y, sharp_color_t color);
void sharp_display_fill_screen(sharp_display_t * display, sharp_color_t color);
#endif