#ifndef _MODULE_DISPLAY_H #define _MODULE_DISPLAY_H #include // 0x3C << 1 #define OLED_ADDR 0x78 #define DISPLAY_SDA PA6 #define DISPLAY_SCL PA4 #define I2C_DELAY_US 5 #define DCMD_DISPLAY_ON 0xAF #define DCMD_DISPLAY_OFF 0xAE #define DCMD_SET_CLOCK_DIV 0xD5 #define DCMD_SET_MUX_RATIO 0xA8 #define DCMD_SET_OFFSET 0xD3 #define DCMD_SET_START_LINE 0x40 #define DCMD_SET_CHARGE_PUMP 0x8D #define DCMD_CHARGE_PUMP_ENABLE 0x14 #define DCMD_SET_ADDRESSING_MODE 0x20 #define DCMD_ADDR_HORIZONTAL 0x00 #define DCMD_SET_SEGMENT_REMAP 0xA0 #define DCMD_SET_COM_SCAN_DIRECTION 0xC0 #define DCMD_SET_COM_PINS 0xDA #define DCMD_SET_CONTRAST 0x81 #define DCMD_SET_PRECHARGE_PERIOD 0xD9 #define DCMD_SET_VCOMH_DESELECT 0xDB #define DCMD_OUTPUT_FOLLOWS_RAM 0xA4 #define DCMD_NORMAL_MODE 0xA6 #define DCMD_SET_PAGE_START 0xB0 #define DCMD_SET_START_ADDR_HIGHER_COL 0x10 extern uint8_t cursor_y; extern uint8_t cursor_x; void display_init(void); void display_draw_char(uint8_t c); void display_draw_float2(float num); #endif