blob: 254c4f6614f90b964acc4fc203d8d356dd279172 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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
|