bool controller_key_back(void) { static bool start = false; static t_cpu_time tempo; if (!IS_JOYSTICK_KEY_PRESSED()) { gpio_set_gpio_pin(LED0_GPIO); start = false; return false; } if (!start) { cpu_set_timeout(cpu_ms_2_cy(1000, static_fcpu_hz), &tempo); start = true; } if (cpu_is_timeout(&tempo)) { gpio_clr_gpio_pin(LED0_GPIO); no_store = true; start = false; return true; } gpio_set_gpio_pin(LED0_GPIO); return false; }
bool controller_navigation_change_directory(void) { bool status; if (IS_JOYSTICK_KEY_PRESSED() || IS_JOYSTICK_KEY_SLIDING_RIGHT()) return false; status = is_joystick_released_right(); CLEAR_JOYSTICK_RELEASED_KEY_RIGHT(); return status; }
bool controller_navigation_go_to_parent_directory(void) { bool status; if (IS_JOYSTICK_KEY_PRESSED()) return false; status = is_joystick_released_left(); CLEAR_JOYSTICK_RELEASED_KEY_LEFT(); 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; }
bool controller_playback_next_track(void) { bool status = false; if (IS_JOYSTICK_KEY_PRESSED() || (fast_mode && cpu_is_timeout(&joystick_key_sensibility_timer))) return false; if (IS_JOYSTICK_RELEASED_KEY_RIGHT()) status = true; CLEAR_JOYSTICK_RELEASED_KEY_RIGHT(); return status; }
__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); }