static bool is_joystick_down(void) { if (IS_JOYSTICK_KEY_DOWN() && cpu_is_timeout(&joystick_key_sensibility_timer)) { cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); return true; } return false; }
bool controller_config_next_option(void) { bool status; if (IS_JOYSTICK_KEY_DOWN()) return false; status = is_joystick_released_down(); CLEAR_JOYSTICK_RELEASED_KEY_DOWN(); return status; }
bool controller_key_pressed(void) { if (IS_JOYSTICK_KEY_UP() || IS_JOYSTICK_KEY_DOWN() || IS_JOYSTICK_KEY_RIGHT() || IS_JOYSTICK_KEY_LEFT() || IS_JOYSTICK_KEY_PRESSED()) return true; return false; }
__interrupt #endif void touch_button_isr(void) { manage_button_isr(QT1081_TOUCH_SENSOR_UP, JOYSTICK_STATUS_UP, JOYSTICK_STATUS_RELEASED_UP); manage_button_isr(QT1081_TOUCH_SENSOR_DOWN, JOYSTICK_STATUS_DOWN, JOYSTICK_STATUS_RELEASED_DOWN); manage_button_isr(QT1081_TOUCH_SENSOR_RIGHT, JOYSTICK_STATUS_RIGHT, JOYSTICK_STATUS_RELEASED_RIGHT); manage_button_isr(QT1081_TOUCH_SENSOR_LEFT, JOYSTICK_STATUS_LEFT, JOYSTICK_STATUS_RELEASED_LEFT); manage_button_isr(QT1081_TOUCH_SENSOR_ENTER, JOYSTICK_STATUS_PRESSED, JOYSTICK_STATUS_RELEASED_PRESSED); if (IS_JOYSTICK_KEY_UP()) gpio_clr_gpio_pin(LED1_GPIO); else gpio_set_gpio_pin(LED1_GPIO); if (IS_JOYSTICK_KEY_PRESSED()) gpio_clr_gpio_pin(LED2_GPIO); else gpio_set_gpio_pin(LED2_GPIO); if (IS_JOYSTICK_KEY_DOWN()) gpio_clr_gpio_pin(LED3_GPIO); else gpio_set_gpio_pin(LED3_GPIO); }
bool controller_key_fct3_pressed(void) { return IS_JOYSTICK_KEY_DOWN(); }