forked from ducalex/retro-go
/
retro-esp32.h
75 lines (63 loc) · 2.6 KB
/
retro-esp32.h
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// REF: https://wiki.odroid.com/odroid_go/odroid_go
// Target definition
#define RG_TARGET_NAME "ODROID-GO"
// Storage and Settings
#define RG_STORAGE_DRIVER 1 // 1 = SDSPI, 2 = SDMMC, 3 = USB
#define RG_SETTINGS_USE_NVS 0
// Audio
#define RG_AUDIO_USE_INT_DAC 1
#define RG_AUDIO_USE_EXT_DAC 1
// Video
#define RG_SCREEN_DRIVER 0 // 0 = ILI9341
#define RG_SCREEN_TYPE 32
#define RG_SCREEN_WIDTH 320
#define RG_SCREEN_HEIGHT 240
#define RG_SCREEN_ROTATE 0
#define RG_SCREEN_MARGIN_TOP 0
#define RG_SCREEN_MARGIN_BOTTOM 0
#define RG_SCREEN_MARGIN_LEFT 0
#define RG_SCREEN_MARGIN_RIGHT 20
// Input
#define RG_GAMEPAD_DRIVER 1 // 1 = ODROID-GO, 2 = Serial, 3 = MRGC-IO
#define RG_GAMEPAD_HAS_MENU_BTN 1
#define RG_GAMEPAD_HAS_OPTION_BTN 0
#define RG_BATTERY_ADC_CHANNEL ADC1_CHANNEL_0
#define RG_BATTERY_CALC_PERCENT(raw) (((raw) * 2.f - 3500.f) / (4200.f - 3500.f) * 100.f)
#define RG_BATTERY_CALC_VOLTAGE(raw) ((raw) * 2.f * 0.001f)
// Status LED
#define RG_GPIO_LED GPIO_NUM_2
// I2C BUS
// #define RG_GPIO_I2C_SDA GPIO_NUM_15
// #define RG_GPIO_I2C_SCL GPIO_NUM_4
// Built-in gamepad
#define RG_GPIO_GAMEPAD_X ADC1_CHANNEL_6
#define RG_GPIO_GAMEPAD_Y ADC1_CHANNEL_7
#define RG_GPIO_GAMEPAD_SELECT GPIO_NUM_27
#define RG_GPIO_GAMEPAD_START GPIO_NUM_39
#define RG_GPIO_GAMEPAD_A GPIO_NUM_32
#define RG_GPIO_GAMEPAD_B GPIO_NUM_33
#define RG_GPIO_GAMEPAD_MENU GPIO_NUM_13
#define RG_GPIO_GAMEPAD_OPTION GPIO_NUM_0
// SNES-style gamepad
// #define RG_GPIO_GAMEPAD_LATCH GPIO_NUM_NC
// #define RG_GPIO_GAMEPAD_CLOCK GPIO_NUM_NC
// #define RG_GPIO_GAMEPAD_DATA GPIO_NUM_NC
// SPI Display
#define RG_GPIO_LCD_HOST SPI2_HOST
#define RG_GPIO_LCD_MISO GPIO_NUM_12
#define RG_GPIO_LCD_MOSI GPIO_NUM_13
#define RG_GPIO_LCD_CLK GPIO_NUM_14
#define RG_GPIO_LCD_CS GPIO_NUM_21
#define RG_GPIO_LCD_DC GPIO_NUM_2
#define RG_GPIO_LCD_BCKL GPIO_NUM_8
// SPI SD Card
#define RG_GPIO_SDSPI_HOST SPI2_HOST
#define RG_GPIO_SDSPI_MISO GPIO_NUM_19
#define RG_GPIO_SDSPI_MOSI GPIO_NUM_23
#define RG_GPIO_SDSPI_CLK GPIO_NUM_18
#define RG_GPIO_SDSPI_CS GPIO_NUM_17
// External I2S DAC
#define RG_GPIO_SND_I2S_BCK GPIO_NUM_4
#define RG_GPIO_SND_I2S_WS GPIO_NUM_12
#define RG_GPIO_SND_I2S_DATA GPIO_NUM_15
// #define RG_GPIO_SND_AMP_ENABLE GPIO_NUM_NC