#include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct display { int size_x,size_y; void (*enable)(); void (*disable)(); void (*reset_hard)(); void (*reset_soft)(); uint8_t (*is_ready)(); void (*sleep)(); void (*wake)(); void (*draw_pixel)(uint16_t, uint16_t, uint8_t); void (*draw_line)(uint16_t, uint16_t, uint16_t, uint16_t, uint8_t); void (*draw_rectangle)(uint16_t, uint16_t, uint16_t, uint16_t, uint8_t, uint8_t); void (*draw_circle)(uint16_t, uint16_t, uint16_t, uint8_t, uint8_t); void (*scroll_right)(uint16_t, uint16_t); void (*scroll_left)(uint16_t, uint16_t); void (*scroll_up)(uint16_t, uint16_t); void (*scroll_down)(uint16_t, uint16_t); void (*set_font)(uint8_t*, uint8_t, uint8_t spacing); void (*print_char)(uint16_t, uint16_t, uint8_t, uint8_t); void (*print_text)(uint16_t, uint16_t, uint8_t, uint16_t, uint8_t); void (*print_cursor)(uint8_t); void (*goto_pos)(uint16_t, uint16_t); uint8_t (*display)(); uint8_t (*clear)(); void (*change_brightness)(uint8_t); void (*change_contrast)(uint8_t); void (*rotate)(uint8_t); void (*inverse)(uint8_t); void (*invert)(uint8_t); void (*print)(int); } display_s; void display_init(display_s *d); void display_print(int val);