diff options
Diffstat (limited to 'src/display.h')
| -rw-r--r-- | src/display.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/display.h b/src/display.h new file mode 100644 index 0000000..254c4f6 --- /dev/null +++ b/src/display.h @@ -0,0 +1,45 @@ +#ifndef _MODULE_DISPLAY_H +#define _MODULE_DISPLAY_H + +#include <stdint.h> + +// 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 0xA1 +#define DCMD_SET_COM_SCAN_DIRECTION 0xC8 +#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_INVERSE_MODE 0xA7 +#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 |
