summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/eve.h
blob: c27d81fa0c5708ffec8e3cc05c64606e0c1d954a (plain)
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
46
47
48
49
50
51
52
53
54
#include <stdint.h>

#include "eve_def.h"
#include "eve_touch.h"
#include "eve_track.h"
#include "eve_platform.h"

#define EVE_OK              0
#define EVE_ERR             -1
#define EVE_ERR_TEXT        -100

#define EVE_PSTATE_ACTIVE   0
#define EVE_PSTATE_STANDBY  1
#define EVE_PSTATE_SLEEP    3

#define EVE_TAG_NOTAG       0

typedef struct EVERect {
    int16_t x;
    int16_t y;
    uint16_t w;
    uint16_t h;
} EVERect;

void eve_command(uint8_t command, uint8_t parameter);

uint8_t eve_read8(uint32_t addr);
uint16_t eve_read16(uint32_t addr);
uint32_t eve_read32(uint32_t addr);
void eve_write8(uint32_t addr, uint8_t data);
void eve_write16(uint32_t addr, uint16_t data);
void eve_write32(uint32_t addr, uint32_t data);

void eve_dl_start(uint32_t addr);
void eve_dl_write(uint32_t dl);
void eve_dl_swap(void);
uint32_t eve_dl_get_addr(void);

void eve_cmd(uint32_t cmd, const char *fmt, ...);
uint32_t eve_cmd_result(uint16_t offset);
void eve_cmd_dl(uint32_t dl);
int eve_cmd_done(void);
int eve_cmd_exec(int w);
void eve_cmd_burst_start(void);
void eve_cmd_burst_end(void);

void eve_active(void);
void eve_standby(void);
void eve_sleep(void);
void eve_wake(void);
void eve_brightness(uint8_t b);
void eve_set_touch_calibration(uint32_t *matrix);

int eve_init(int pwr_on);