rg_input: Do not invert I2C input for RAW/MRGC
This commit is contained in:
parent
b46e5b767a
commit
d7811ec7aa
@ -131,7 +131,15 @@ bool rg_i2c_write_byte(uint8_t addr, uint8_t reg, uint8_t value)
|
||||
typedef struct {int input_reg, output_reg, direction_reg, pullup_reg;} _gpio_port;
|
||||
typedef struct {uint8_t reg, value;} _gpio_sequence;
|
||||
|
||||
#if RG_I2C_GPIO_DRIVER == 1 // AW9523
|
||||
#if RG_I2C_GPIO_DRIVER == 0 // None/testing
|
||||
|
||||
static const _gpio_port gpio_ports[] = {
|
||||
{-1, -1, -1, -1},
|
||||
};
|
||||
static const _gpio_sequence gpio_init_seq[] = {};
|
||||
static const _gpio_sequence gpio_deinit_seq[] = {};
|
||||
|
||||
#elif RG_I2C_GPIO_DRIVER == 1 // AW9523
|
||||
|
||||
static const _gpio_port gpio_ports[] = {
|
||||
{0x00, 0x02, 0x04, -1}, // PORT 0
|
||||
|
||||
@ -129,17 +129,15 @@ bool rg_input_read_gamepad_raw(uint32_t *out)
|
||||
#if defined(RG_GAMEPAD_I2C_MAP)
|
||||
uint32_t buttons = 0;
|
||||
#if defined(RG_I2C_GPIO_DRIVER)
|
||||
buttons = (rg_i2c_gpio_read_port(0) | rg_i2c_gpio_read_port(1) << 8);
|
||||
buttons = rg_i2c_gpio_read_port(0) | (rg_i2c_gpio_read_port(1) << 8);
|
||||
#elif defined(RG_TARGET_T_DECK_PLUS)
|
||||
uint8_t data[5];
|
||||
if (rg_i2c_read(T_DECK_KBD_ADDRESS, -1, &data, 5)) {
|
||||
if (rg_i2c_read(T_DECK_KBD_ADDRESS, -1, &data, 5))
|
||||
buttons = ((data[0] << 25) | (data[1] << 18) | (data[2] << 11) | ((data[3] & 0xF8) << 4) | (data[4]));
|
||||
//RG_LOGI("buttons: %08lX", buttons);
|
||||
}
|
||||
#else
|
||||
uint8_t data[5];
|
||||
if (rg_i2c_read(0x20, -1, &data, 5))
|
||||
buttons = ~((data[2] << 8) | data[1]);
|
||||
if (rg_i2c_read(RG_I2C_GPIO_ADDR, -1, &data, 5))
|
||||
buttons = data[1] | (data[2] << 8);
|
||||
#endif
|
||||
for (size_t i = 0; i < RG_COUNT(keymap_i2c); ++i)
|
||||
{
|
||||
|
||||
@ -10,8 +10,8 @@
|
||||
// #define RG_STORAGE_FLASH_PARTITION "vfs"
|
||||
|
||||
// GPIO Extender
|
||||
// #define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
// #define RG_I2C_GPIO_ADDR 0x00
|
||||
#define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
#define RG_I2C_GPIO_ADDR 0x20
|
||||
|
||||
// Audio
|
||||
#define RG_AUDIO_USE_INT_DAC 0 // 0 = Disable, 1 = GPIO25, 2 = GPIO26, 3 = Both
|
||||
@ -57,14 +57,14 @@
|
||||
// A and B silkscreen on the board are swapped relative to standard Nintendo layout
|
||||
// Temporarily unmapped menu and option. Start + Select activates menu.
|
||||
#define RG_GAMEPAD_I2C_MAP {\
|
||||
{RG_KEY_UP, 2, 1},\
|
||||
{RG_KEY_RIGHT, 5, 1},\
|
||||
{RG_KEY_DOWN, 3, 1},\
|
||||
{RG_KEY_LEFT, 4, 1},\
|
||||
{RG_KEY_SELECT, 1, 1},\
|
||||
{RG_KEY_START, 8, 1},\
|
||||
{RG_KEY_A, 7, 1},\
|
||||
{RG_KEY_B, 6, 1},\
|
||||
{RG_KEY_UP, 2, 0},\
|
||||
{RG_KEY_RIGHT, 5, 0},\
|
||||
{RG_KEY_DOWN, 3, 0},\
|
||||
{RG_KEY_LEFT, 4, 0},\
|
||||
{RG_KEY_SELECT, 1, 0},\
|
||||
{RG_KEY_START, 8, 0},\
|
||||
{RG_KEY_A, 7, 0},\
|
||||
{RG_KEY_B, 6, 0},\
|
||||
}
|
||||
#define RG_GAMEPAD_VIRT_MAP {\
|
||||
{RG_KEY_MENU, RG_KEY_START | RG_KEY_SELECT},\
|
||||
|
||||
@ -9,6 +9,10 @@
|
||||
#define RG_STORAGE_SDMMC_SPEED SDMMC_FREQ_DEFAULT
|
||||
// #define RG_STORAGE_FLASH_PARTITION "vfs"
|
||||
|
||||
// GPIO Extender
|
||||
#define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
#define RG_I2C_GPIO_ADDR 0x20
|
||||
|
||||
// Audio
|
||||
#define RG_AUDIO_USE_INT_DAC 0 // 0 = Disable, 1 = GPIO25, 2 = GPIO26, 3 = Both
|
||||
#define RG_AUDIO_USE_EXT_DAC 1 // 0 = Disable, 1 = Enable
|
||||
@ -43,14 +47,14 @@
|
||||
// Input
|
||||
// Refer to rg_input.h to see all available RG_KEY_* and RG_GAMEPAD_*_MAP types
|
||||
#define RG_GAMEPAD_I2C_MAP {\
|
||||
{RG_KEY_UP, 2, 1},\
|
||||
{RG_KEY_RIGHT, 5, 1},\
|
||||
{RG_KEY_DOWN, 3, 1},\
|
||||
{RG_KEY_LEFT, 4, 1},\
|
||||
{RG_KEY_SELECT, 1, 1},\
|
||||
{RG_KEY_START, 0, 1},\
|
||||
{RG_KEY_A, 6, 1},\
|
||||
{RG_KEY_B, 7, 1},\
|
||||
{RG_KEY_UP, 2, 0},\
|
||||
{RG_KEY_RIGHT, 5, 0},\
|
||||
{RG_KEY_DOWN, 3, 0},\
|
||||
{RG_KEY_LEFT, 4, 0},\
|
||||
{RG_KEY_SELECT, 1, 0},\
|
||||
{RG_KEY_START, 0, 0},\
|
||||
{RG_KEY_A, 6, 0},\
|
||||
{RG_KEY_B, 7, 0},\
|
||||
}
|
||||
#define RG_GAMEPAD_GPIO_MAP {\
|
||||
{RG_KEY_L, GPIO_NUM_40, GPIO_PULLUP_ONLY, 0},\
|
||||
|
||||
@ -10,8 +10,8 @@
|
||||
// #define RG_STORAGE_FLASH_PARTITION "vfs"
|
||||
|
||||
// GPIO Extender
|
||||
// #define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
// #define RG_I2C_GPIO_ADDR 0x00
|
||||
#define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
#define RG_I2C_GPIO_ADDR 0x20
|
||||
|
||||
// Audio
|
||||
#define RG_AUDIO_USE_INT_DAC 0 // 0 = Disable, 1 = GPIO25, 2 = GPIO26, 3 = Both
|
||||
@ -48,15 +48,15 @@
|
||||
// Input
|
||||
// Refer to rg_input.h to see all available RG_KEY_* and RG_GAMEPAD_*_MAP types
|
||||
#define RG_GAMEPAD_I2C_MAP {\
|
||||
{RG_KEY_UP, 2, 1},\
|
||||
{RG_KEY_RIGHT, 5, 1},\
|
||||
{RG_KEY_DOWN, 3, 1},\
|
||||
{RG_KEY_LEFT, 4, 1},\
|
||||
{RG_KEY_SELECT, 1, 1},\
|
||||
{RG_KEY_START, 0, 1},\
|
||||
{RG_KEY_MENU, 8, 1},\
|
||||
{RG_KEY_A, 6, 1},\
|
||||
{RG_KEY_B, 7, 1},\
|
||||
{RG_KEY_UP, 2, 0},\
|
||||
{RG_KEY_RIGHT, 5, 0},\
|
||||
{RG_KEY_DOWN, 3, 0},\
|
||||
{RG_KEY_LEFT, 4, 0},\
|
||||
{RG_KEY_SELECT, 1, 0},\
|
||||
{RG_KEY_START, 0, 0},\
|
||||
{RG_KEY_MENU, 8, 0},\
|
||||
{RG_KEY_A, 6, 0},\
|
||||
{RG_KEY_B, 7, 0},\
|
||||
}
|
||||
#define RG_GAMEPAD_VIRT_MAP {\
|
||||
{RG_KEY_OPTION, RG_KEY_SELECT | RG_KEY_A},\
|
||||
|
||||
@ -10,8 +10,8 @@
|
||||
// #define RG_STORAGE_FLASH_PARTITION "vfs"
|
||||
|
||||
// GPIO Extender
|
||||
// #define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
// #define RG_I2C_GPIO_ADDR 0x00
|
||||
#define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
#define RG_I2C_GPIO_ADDR 0x20
|
||||
|
||||
// Audio
|
||||
#define RG_AUDIO_USE_INT_DAC 0 // 0 = Disable, 1 = GPIO25, 2 = GPIO26, 3 = Both
|
||||
@ -49,15 +49,15 @@
|
||||
*/
|
||||
// Refer to rg_input.h to see all available RG_KEY_* and RG_GAMEPAD_*_MAP types
|
||||
#define RG_GAMEPAD_I2C_MAP {\
|
||||
{RG_KEY_UP, 2, 1},\
|
||||
{RG_KEY_RIGHT, 5, 1},\
|
||||
{RG_KEY_DOWN, 3, 1},\
|
||||
{RG_KEY_LEFT, 4, 1},\
|
||||
{RG_KEY_SELECT, 0, 1},\
|
||||
{RG_KEY_START, 1, 1},\
|
||||
{RG_KEY_MENU, 8, 1},\
|
||||
{RG_KEY_A, 6, 1},\
|
||||
{RG_KEY_B, 7, 1},\
|
||||
{RG_KEY_UP, 2, 0},\
|
||||
{RG_KEY_RIGHT, 5, 0},\
|
||||
{RG_KEY_DOWN, 3, 0},\
|
||||
{RG_KEY_LEFT, 4, 0},\
|
||||
{RG_KEY_SELECT, 0, 0},\
|
||||
{RG_KEY_START, 1, 0},\
|
||||
{RG_KEY_MENU, 8, 0},\
|
||||
{RG_KEY_A, 6, 0},\
|
||||
{RG_KEY_B, 7, 0},\
|
||||
}
|
||||
#define RG_GAMEPAD_VIRT_MAP {\
|
||||
{RG_KEY_OPTION, RG_KEY_SELECT | RG_KEY_A},\
|
||||
|
||||
@ -6,6 +6,10 @@
|
||||
#define RG_STORAGE_SDSPI_HOST SPI2_HOST
|
||||
#define RG_STORAGE_SDSPI_SPEED SDMMC_FREQ_DEFAULT
|
||||
|
||||
// GPIO Extender
|
||||
#define RG_I2C_GPIO_DRIVER 0 // 1 = AW9523, 2 = PCF9539, 3 = MCP23017
|
||||
#define RG_I2C_GPIO_ADDR T_DECK_KBD_ADDRESS
|
||||
|
||||
// Audio
|
||||
#define RG_AUDIO_USE_INT_DAC 0 // 0 = Disable, 1 = GPIO25, 2 = GPIO26, 3 = Both
|
||||
#define RG_AUDIO_USE_EXT_DAC 1 // 0 = Disable, 1 = Enable
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user