diff --git a/epicardium/epicardium.h b/epicardium/epicardium.h index b3a9837d2a6e8d17544e5bd5ed4dc40b4ab8c68c..9bc91189382365cb525fcdd49607610f928f3151 100644 --- a/epicardium/epicardium.h +++ b/epicardium/epicardium.h @@ -427,26 +427,26 @@ API(API_BUTTONS_READ, uint8_t epic_buttons_read(uint8_t mask)); /** GPIO pins IDs */ enum gpio_pin { /** ``1``, Wristband connector 1 */ - GPIO_WRISTBAND_1 = 1, + EPIC_GPIO_WRISTBAND_1 = 1, /** ``2``, Wristband connector 2 */ - GPIO_WRISTBAND_2 = 2, + EPIC_GPIO_WRISTBAND_2 = 2, /** ``3``, Wristband connector 3 */ - GPIO_WRISTBAND_3 = 3, + EPIC_GPIO_WRISTBAND_3 = 3, /** ``4``, Wristband connector 4 */ - GPIO_WRISTBAND_4 = 4, + EPIC_GPIO_WRISTBAND_4 = 4, }; /** GPIO pin modes */ enum gpio_mode { /** Configure the pin as input */ - GPIO_MODE_IN = (1<<0), + EPIC_GPIO_MODE_IN = (1<<0), /** Configure the pin as output */ - GPIO_MODE_OUT = (1<<1), + EPIC_GPIO_MODE_OUT = (1<<1), /** Enable the internal pull-up resistor */ - GPIO_PULL_UP = (1<<6), + EPIC_GPIO_PULL_UP = (1<<6), /** Enable the internal pull-down resistor */ - GPIO_PULL_DOWN = (1<<7), + EPIC_GPIO_PULL_DOWN = (1<<7), }; /** diff --git a/epicardium/modules/gpio.c b/epicardium/modules/gpio.c index 83a4c4cf04ff827ad52638c77ccbe6a80195ad20..9577f094a166b6c52f25f11f7dd9acce8077c293 100644 --- a/epicardium/modules/gpio.c +++ b/epicardium/modules/gpio.c @@ -8,36 +8,48 @@ * pins for wristband GPIO 1-4 (not 0-3 as the schematic states) */ static gpio_cfg_t gpio_configs[] = { - [GPIO_WRISTBAND_1] = { PORT_0, PIN_21, GPIO_FUNC_OUT, GPIO_PAD_NONE }, - [GPIO_WRISTBAND_2] = { PORT_0, PIN_22, GPIO_FUNC_OUT, GPIO_PAD_NONE }, - [GPIO_WRISTBAND_3] = { PORT_0, PIN_29, GPIO_FUNC_OUT, GPIO_PAD_NONE }, - [GPIO_WRISTBAND_4] = { PORT_0, PIN_20, GPIO_FUNC_OUT, GPIO_PAD_NONE }, + [EPIC_GPIO_WRISTBAND_1] = { PORT_0, + PIN_21, + GPIO_FUNC_OUT, + GPIO_PAD_NONE }, + [EPIC_GPIO_WRISTBAND_2] = { PORT_0, + PIN_22, + GPIO_FUNC_OUT, + GPIO_PAD_NONE }, + [EPIC_GPIO_WRISTBAND_3] = { PORT_0, + PIN_29, + GPIO_FUNC_OUT, + GPIO_PAD_NONE }, + [EPIC_GPIO_WRISTBAND_4] = { PORT_0, + PIN_20, + GPIO_FUNC_OUT, + GPIO_PAD_NONE }, }; int epic_gpio_set_pin_mode(uint8_t pin, uint8_t mode) { - if (pin < GPIO_WRISTBAND_1 || pin > GPIO_WRISTBAND_4) + if (pin < EPIC_GPIO_WRISTBAND_1 || pin > EPIC_GPIO_WRISTBAND_4) return -EINVAL; gpio_cfg_t *cfg = &gpio_configs[pin]; - if (mode & GPIO_MODE_IN) { + if (mode & EPIC_GPIO_MODE_IN) { cfg->func = GPIO_FUNC_IN; - if (mode & GPIO_MODE_OUT) { + if (mode & EPIC_GPIO_MODE_OUT) { return -EINVAL; } - } else if (mode & GPIO_MODE_OUT) { + } else if (mode & EPIC_GPIO_MODE_OUT) { cfg->func = GPIO_FUNC_OUT; - if (mode & GPIO_MODE_IN) { + if (mode & EPIC_GPIO_MODE_IN) { return -EINVAL; } } else { return -EINVAL; } - if (mode & GPIO_PULL_UP) { + if (mode & EPIC_GPIO_PULL_UP) { cfg->pad = GPIO_PAD_PULL_UP; - } else if (mode & GPIO_PULL_DOWN) { + } else if (mode & EPIC_GPIO_PULL_DOWN) { cfg->pad = GPIO_PAD_PULL_DOWN; } else { cfg->pad = GPIO_PAD_NONE; @@ -50,26 +62,26 @@ int epic_gpio_set_pin_mode(uint8_t pin, uint8_t mode) int epic_gpio_get_pin_mode(uint8_t pin) { - if (pin < GPIO_WRISTBAND_1 || pin > GPIO_WRISTBAND_4) + if (pin < EPIC_GPIO_WRISTBAND_1 || pin > EPIC_GPIO_WRISTBAND_4) return -EINVAL; gpio_cfg_t *cfg = &gpio_configs[pin]; int res = 0; if (cfg->func == GPIO_FUNC_IN) - res |= GPIO_MODE_IN; + res |= EPIC_GPIO_MODE_IN; else if (cfg->func == GPIO_FUNC_OUT) - res |= GPIO_MODE_OUT; + res |= EPIC_GPIO_MODE_OUT; if (cfg->pad == GPIO_PAD_PULL_UP) - res |= GPIO_PULL_UP; + res |= EPIC_GPIO_PULL_UP; else if (cfg->pad == GPIO_PAD_PULL_DOWN) - res |= GPIO_PULL_DOWN; + res |= EPIC_GPIO_PULL_DOWN; return res; } int epic_gpio_write_pin(uint8_t pin, bool on) { - if (pin < GPIO_WRISTBAND_1 || pin > GPIO_WRISTBAND_4) + if (pin < EPIC_GPIO_WRISTBAND_1 || pin > EPIC_GPIO_WRISTBAND_4) return -EINVAL; gpio_cfg_t *cfg = &gpio_configs[pin]; @@ -86,7 +98,7 @@ int epic_gpio_write_pin(uint8_t pin, bool on) int epic_gpio_read_pin(uint8_t pin) { - if (pin < GPIO_WRISTBAND_1 || pin > GPIO_WRISTBAND_4) + if (pin < EPIC_GPIO_WRISTBAND_1 || pin > EPIC_GPIO_WRISTBAND_4) return -EINVAL; gpio_cfg_t *cfg = &gpio_configs[pin]; diff --git a/pycardium/modules/gpio.c b/pycardium/modules/gpio.c index adfe8bdd0245ee12dd466fb4391c80f9e68038ff..49c3c37c4ea52ee1f207ddf5d78ecd65a957fdc9 100644 --- a/pycardium/modules/gpio.c +++ b/pycardium/modules/gpio.c @@ -51,11 +51,13 @@ static MP_DEFINE_CONST_FUN_OBJ_2(gpio_write, mp_gpio_write); static const mp_rom_map_elem_t gpio_module_modes_table[] = { { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_mode) }, - { MP_ROM_QSTR(MP_QSTR_INPUT), MP_OBJ_NEW_SMALL_INT(GPIO_MODE_IN) }, - { MP_ROM_QSTR(MP_QSTR_OUTPUT), MP_OBJ_NEW_SMALL_INT(GPIO_MODE_OUT) }, - { MP_ROM_QSTR(MP_QSTR_PULL_UP), MP_OBJ_NEW_SMALL_INT(GPIO_PULL_UP) }, + { MP_ROM_QSTR(MP_QSTR_INPUT), MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_MODE_IN) }, + { MP_ROM_QSTR(MP_QSTR_OUTPUT), + MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_MODE_OUT) }, + { MP_ROM_QSTR(MP_QSTR_PULL_UP), + MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_PULL_UP) }, { MP_ROM_QSTR(MP_QSTR_PULL_DOWN), - MP_OBJ_NEW_SMALL_INT(GPIO_PULL_DOWN) }, + MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_PULL_DOWN) }, }; static MP_DEFINE_CONST_DICT(gpio_module_modes_dict, gpio_module_modes_table); @@ -72,13 +74,13 @@ static const mp_rom_map_elem_t gpio_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_read), MP_ROM_PTR(&gpio_read) }, { MP_ROM_QSTR(MP_QSTR_write), MP_ROM_PTR(&gpio_write) }, { MP_ROM_QSTR(MP_QSTR_WRISTBAND_1), - MP_OBJ_NEW_SMALL_INT(GPIO_WRISTBAND_1) }, + MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_WRISTBAND_1) }, { MP_ROM_QSTR(MP_QSTR_WRISTBAND_2), - MP_OBJ_NEW_SMALL_INT(GPIO_WRISTBAND_2) }, + MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_WRISTBAND_2) }, { MP_ROM_QSTR(MP_QSTR_WRISTBAND_3), - MP_OBJ_NEW_SMALL_INT(GPIO_WRISTBAND_3) }, + MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_WRISTBAND_3) }, { MP_ROM_QSTR(MP_QSTR_WRISTBAND_4), - MP_OBJ_NEW_SMALL_INT(GPIO_WRISTBAND_4) }, + MP_OBJ_NEW_SMALL_INT(EPIC_GPIO_WRISTBAND_4) }, { MP_ROM_QSTR(MP_QSTR_mode), MP_ROM_PTR(&gpio_module_modes) }, }; static MP_DEFINE_CONST_DICT(gpio_module_globals, gpio_module_globals_table);