Definition in file controller_evk1105.c.
#include "controller.h"
#include "board.h"
#include "gpio.h"
#include "cycle_counter.h"
#include "qt1081.h"
#include "intc.h"
Go to the source code of this file.
Defines | |
#define | CLEAR_JOYSTICK_KEY_ALL() (joystick_status = JOYSTICK_STATUS_IDLE) |
#define | CLEAR_JOYSTICK_KEY_DOWN() (joystick_status &= ~JOYSTICK_STATUS_DOWN) |
#define | CLEAR_JOYSTICK_KEY_LEFT() (joystick_status &= ~JOYSTICK_STATUS_LEFT) |
#define | CLEAR_JOYSTICK_KEY_PRESSED() (joystick_status &= ~JOYSTICK_STATUS_PRESSED) |
#define | CLEAR_JOYSTICK_KEY_RIGHT() (joystick_status &= ~JOYSTICK_STATUS_RIGHT) |
#define | CLEAR_JOYSTICK_KEY_UP() (joystick_status &= ~JOYSTICK_STATUS_UP) |
#define | CLEAR_JOYSTICK_RELEASED_KEY_DOWN() (joystick_status &= ~JOYSTICK_STATUS_RELEASED_DOWN) |
#define | CLEAR_JOYSTICK_RELEASED_KEY_LEFT() (joystick_status &= ~JOYSTICK_STATUS_RELEASED_LEFT) |
#define | CLEAR_JOYSTICK_RELEASED_KEY_PRESSED() (joystick_status &= ~JOYSTICK_STATUS_RELEASED_PRESSED) |
#define | CLEAR_JOYSTICK_RELEASED_KEY_RIGHT() (joystick_status &= ~JOYSTICK_STATUS_RELEASED_RIGHT) |
#define | CLEAR_JOYSTICK_RELEASED_KEY_UP() (joystick_status &= ~JOYSTICK_STATUS_RELEASED_UP) |
#define | IS_JOYSTICK_KEY_DOWN() (joystick_status & JOYSTICK_STATUS_DOWN) |
#define | IS_JOYSTICK_KEY_LEFT() (joystick_status & JOYSTICK_STATUS_LEFT) |
#define | IS_JOYSTICK_KEY_PRESSED() (joystick_status & JOYSTICK_STATUS_PRESSED) |
#define | IS_JOYSTICK_KEY_RIGHT() (joystick_status & JOYSTICK_STATUS_RIGHT) |
#define | IS_JOYSTICK_KEY_UP() (joystick_status & JOYSTICK_STATUS_UP) |
#define | IS_JOYSTICK_ONLY_KEY_DOWN() ((joystick_status == JOYSTICK_STATUS_DOWN) & JOYSTICK_STATUS_PRESSED_MASK) |
#define | IS_JOYSTICK_ONLY_KEY_LEFT() ((joystick_status == JOYSTICK_STATUS_LEFT) & JOYSTICK_STATUS_PRESSED_MASK) |
#define | IS_JOYSTICK_ONLY_KEY_PRESSED() ((joystick_status == JOYSTICK_STATUS_PRESSED) & JOYSTICK_STATUS_PRESSED_MASK) |
#define | IS_JOYSTICK_ONLY_KEY_RIGHT() ((joystick_status == JOYSTICK_STATUS_RIGHT) & JOYSTICK_STATUS_PRESSED_MASK) |
#define | IS_JOYSTICK_ONLY_KEY_UP() ((joystick_status == JOYSTICK_STATUS_UP) & JOYSTICK_STATUS_PRESSED_MASK) |
#define | IS_JOYSTICK_ONLY_RELEASED_KEY_DOWN() ((joystick_status & JOYSTICK_STATUS_RELEASED_DOWN) & JOYSTICK_STATUS_RELEASED_MASK) |
#define | IS_JOYSTICK_ONLY_RELEASED_KEY_LEFT() ((joystick_status & JOYSTICK_STATUS_RELEASED_LEFT) & JOYSTICK_STATUS_RELEASED_MASK) |
#define | IS_JOYSTICK_ONLY_RELEASED_KEY_PRESSED() ((joystick_status & JOYSTICK_STATUS_RELEASED_PRESSED) & JOYSTICK_STATUS_RELEASED_MASK) |
#define | IS_JOYSTICK_ONLY_RELEASED_KEY_RIGHT() ((joystick_status & JOYSTICK_STATUS_RELEASED_RIGHT) & JOYSTICK_STATUS_RELEASED_MASK) |
#define | IS_JOYSTICK_ONLY_RELEASED_KEY_UP() ((joystick_status & JOYSTICK_STATUS_RELEASED_UP) & JOYSTICK_STATUS_RELEASED_MASK) |
#define | IS_JOYSTICK_RELEASED_KEY_DOWN() (joystick_status & JOYSTICK_STATUS_RELEASED_DOWN) |
#define | IS_JOYSTICK_RELEASED_KEY_LEFT() (joystick_status & JOYSTICK_STATUS_RELEASED_LEFT) |
#define | IS_JOYSTICK_RELEASED_KEY_PRESSED() (joystick_status & JOYSTICK_STATUS_RELEASED_PRESSED) |
#define | IS_JOYSTICK_RELEASED_KEY_RIGHT() (joystick_status & JOYSTICK_STATUS_RELEASED_RIGHT) |
#define | IS_JOYSTICK_RELEASED_KEY_UP() (joystick_status & JOYSTICK_STATUS_RELEASED_UP) |
#define | JOYSTICK_KEY_DEBOUNCE_MS 200 |
Enumerations | |
enum | joystick_status_t { JOYSTICK_STATUS_IDLE = 0x00000000, JOYSTICK_STATUS_UP = 0x00000001, JOYSTICK_STATUS_DOWN = 0x00000002, JOYSTICK_STATUS_RIGHT = 0x00000004, JOYSTICK_STATUS_LEFT = 0x00000008, JOYSTICK_STATUS_PRESSED = 0x00000010, JOYSTICK_STATUS_PRESSED_MASK = 0x0000FFFF, JOYSTICK_STATUS_RELEASED_UP = 0x00010000, JOYSTICK_STATUS_RELEASED_DOWN = 0x00020000, JOYSTICK_STATUS_RELEASED_RIGHT = 0x00040000, JOYSTICK_STATUS_RELEASED_LEFT = 0x00080000, JOYSTICK_STATUS_RELEASED_PRESSED = 0x00100000, JOYSTICK_STATUS_RELEASED_MASK = 0xFFFF0000 } |
Functions | |
void | controller_init (int cpu_hz, int hsb_hz, int pba_hz, int pbb_hz) |
Bool | controller_key_back (void) |
Bool | controller_key_fct1 (void) |
Bool | controller_key_fct1_pressed (void) |
Bool | controller_key_fct2 (void) |
Bool | controller_key_fct2_pressed (void) |
Bool | controller_key_fct3 (void) |
Bool | controller_key_fct3_pressed (void) |
Bool | controller_key_pressed (void) |
Bool | controller_key_released (void) |
Bool | controller_key_reset (void) |
void | controller_reset (void) |
void | controller_task (void) |
Bool | controller_wheel_left (int wheel_inc) |
Bool | controller_wheel_pressed (void) |
Bool | controller_wheel_right (int wheel_inc) |
static Bool | is_joystick_left (void) |
static Bool | is_joystick_released_down (void) |
static Bool | is_joystick_released_left (void) |
static Bool | is_joystick_released_pressed (void) |
static Bool | is_joystick_released_right (void) |
static Bool | is_joystick_released_up (void) |
static Bool | is_joystick_right (void) |
static void | manage_button_isr (int pin, enum joystick_status_t status_pressed, enum joystick_status_t status_released) |
void | touch_button_isr (void) |
Variables | |
static t_cpu_time | joystick_key_sensibility_timer |
static enum joystick_status_t | joystick_status |
static bool | no_store = false |
static U32 | static_fcpu_hz |
#define CLEAR_JOYSTICK_KEY_ALL | ( | ) | (joystick_status = JOYSTICK_STATUS_IDLE) |
Definition at line 81 of file controller_evk1105.c.
#define CLEAR_JOYSTICK_KEY_DOWN | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_DOWN) |
Definition at line 84 of file controller_evk1105.c.
#define CLEAR_JOYSTICK_KEY_LEFT | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_LEFT) |
Definition at line 86 of file controller_evk1105.c.
#define CLEAR_JOYSTICK_KEY_PRESSED | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_PRESSED) |
Definition at line 87 of file controller_evk1105.c.
#define CLEAR_JOYSTICK_KEY_RIGHT | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_RIGHT) |
Definition at line 85 of file controller_evk1105.c.
#define CLEAR_JOYSTICK_KEY_UP | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_UP) |
Definition at line 83 of file controller_evk1105.c.
#define CLEAR_JOYSTICK_RELEASED_KEY_DOWN | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_RELEASED_DOWN) |
#define CLEAR_JOYSTICK_RELEASED_KEY_LEFT | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_RELEASED_LEFT) |
#define CLEAR_JOYSTICK_RELEASED_KEY_PRESSED | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_RELEASED_PRESSED) |
#define CLEAR_JOYSTICK_RELEASED_KEY_RIGHT | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_RELEASED_RIGHT) |
#define CLEAR_JOYSTICK_RELEASED_KEY_UP | ( | ) | (joystick_status &= ~JOYSTICK_STATUS_RELEASED_UP) |
#define IS_JOYSTICK_KEY_DOWN | ( | ) | (joystick_status & JOYSTICK_STATUS_DOWN) |
Definition at line 58 of file controller_evk1105.c.
Referenced by controller_key_fct3_pressed(), controller_key_pressed(), and touch_button_isr().
#define IS_JOYSTICK_KEY_LEFT | ( | ) | (joystick_status & JOYSTICK_STATUS_LEFT) |
Definition at line 60 of file controller_evk1105.c.
Referenced by controller_key_pressed(), and is_joystick_left().
#define IS_JOYSTICK_KEY_PRESSED | ( | ) | (joystick_status & JOYSTICK_STATUS_PRESSED) |
Definition at line 61 of file controller_evk1105.c.
Referenced by controller_key_back(), controller_key_pressed(), and touch_button_isr().
#define IS_JOYSTICK_KEY_RIGHT | ( | ) | (joystick_status & JOYSTICK_STATUS_RIGHT) |
Definition at line 59 of file controller_evk1105.c.
Referenced by controller_key_pressed(), and is_joystick_right().
#define IS_JOYSTICK_KEY_UP | ( | ) | (joystick_status & JOYSTICK_STATUS_UP) |
Definition at line 57 of file controller_evk1105.c.
Referenced by controller_key_pressed(), and touch_button_isr().
#define IS_JOYSTICK_ONLY_KEY_DOWN | ( | ) | ((joystick_status == JOYSTICK_STATUS_DOWN) & JOYSTICK_STATUS_PRESSED_MASK) |
Definition at line 64 of file controller_evk1105.c.
#define IS_JOYSTICK_ONLY_KEY_LEFT | ( | ) | ((joystick_status == JOYSTICK_STATUS_LEFT) & JOYSTICK_STATUS_PRESSED_MASK) |
Definition at line 66 of file controller_evk1105.c.
#define IS_JOYSTICK_ONLY_KEY_PRESSED | ( | ) | ((joystick_status == JOYSTICK_STATUS_PRESSED) & JOYSTICK_STATUS_PRESSED_MASK) |
Definition at line 67 of file controller_evk1105.c.
#define IS_JOYSTICK_ONLY_KEY_RIGHT | ( | ) | ((joystick_status == JOYSTICK_STATUS_RIGHT) & JOYSTICK_STATUS_PRESSED_MASK) |
Definition at line 65 of file controller_evk1105.c.
#define IS_JOYSTICK_ONLY_KEY_UP | ( | ) | ((joystick_status == JOYSTICK_STATUS_UP) & JOYSTICK_STATUS_PRESSED_MASK) |
Definition at line 63 of file controller_evk1105.c.
#define IS_JOYSTICK_ONLY_RELEASED_KEY_DOWN | ( | ) | ((joystick_status & JOYSTICK_STATUS_RELEASED_DOWN) & JOYSTICK_STATUS_RELEASED_MASK) |
#define IS_JOYSTICK_ONLY_RELEASED_KEY_LEFT | ( | ) | ((joystick_status & JOYSTICK_STATUS_RELEASED_LEFT) & JOYSTICK_STATUS_RELEASED_MASK) |
#define IS_JOYSTICK_ONLY_RELEASED_KEY_PRESSED | ( | ) | ((joystick_status & JOYSTICK_STATUS_RELEASED_PRESSED) & JOYSTICK_STATUS_RELEASED_MASK) |
#define IS_JOYSTICK_ONLY_RELEASED_KEY_RIGHT | ( | ) | ((joystick_status & JOYSTICK_STATUS_RELEASED_RIGHT) & JOYSTICK_STATUS_RELEASED_MASK) |
#define IS_JOYSTICK_ONLY_RELEASED_KEY_UP | ( | ) | ((joystick_status & JOYSTICK_STATUS_RELEASED_UP) & JOYSTICK_STATUS_RELEASED_MASK) |
#define IS_JOYSTICK_RELEASED_KEY_DOWN | ( | ) | (joystick_status & JOYSTICK_STATUS_RELEASED_DOWN) |
#define IS_JOYSTICK_RELEASED_KEY_LEFT | ( | ) | (joystick_status & JOYSTICK_STATUS_RELEASED_LEFT) |
#define IS_JOYSTICK_RELEASED_KEY_PRESSED | ( | ) | (joystick_status & JOYSTICK_STATUS_RELEASED_PRESSED) |
#define IS_JOYSTICK_RELEASED_KEY_RIGHT | ( | ) | (joystick_status & JOYSTICK_STATUS_RELEASED_RIGHT) |
#define IS_JOYSTICK_RELEASED_KEY_UP | ( | ) | (joystick_status & JOYSTICK_STATUS_RELEASED_UP) |
#define JOYSTICK_KEY_DEBOUNCE_MS 200 |
Definition at line 55 of file controller_evk1105.c.
Referenced by controller_init(), is_joystick_left(), is_joystick_released_down(), is_joystick_released_left(), is_joystick_released_pressed(), is_joystick_released_right(), is_joystick_released_up(), and is_joystick_right().
enum joystick_status_t |
Definition at line 107 of file controller_evk1105.c.
00108 { 00109 JOYSTICK_STATUS_IDLE = 0x00000000, 00110 JOYSTICK_STATUS_UP = 0x00000001, 00111 JOYSTICK_STATUS_DOWN = 0x00000002, 00112 JOYSTICK_STATUS_RIGHT = 0x00000004, 00113 JOYSTICK_STATUS_LEFT = 0x00000008, 00114 JOYSTICK_STATUS_PRESSED = 0x00000010, 00115 JOYSTICK_STATUS_PRESSED_MASK = 0x0000FFFF, 00116 JOYSTICK_STATUS_RELEASED_UP = 0x00010000, 00117 JOYSTICK_STATUS_RELEASED_DOWN = 0x00020000, 00118 JOYSTICK_STATUS_RELEASED_RIGHT = 0x00040000, 00119 JOYSTICK_STATUS_RELEASED_LEFT = 0x00080000, 00120 JOYSTICK_STATUS_RELEASED_PRESSED = 0x00100000, 00121 JOYSTICK_STATUS_RELEASED_MASK = 0xFFFF0000 00122 } joystick_status = JOYSTICK_STATUS_IDLE;
void controller_init | ( | int | cpu_hz, | |
int | hsb_hz, | |||
int | pba_hz, | |||
int | pbb_hz | |||
) |
Definition at line 274 of file controller_evk1105.c.
References JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and touch_button_isr().
Referenced by main().
00275 { 00276 Disable_global_interrupt(); 00277 INTC_register_interrupt(&touch_button_isr, AVR32_GPIO_IRQ_6, 0);//AVR32_INTC_INT0); 00278 // Other buttons on PB[24..26] -> GPIO_IRQ_7 (PB23 - PB31) 00279 INTC_register_interrupt(&touch_button_isr, AVR32_GPIO_IRQ_7, 0); 00280 gpio_enable_pin_interrupt(QT1081_TOUCH_SENSOR_UP, GPIO_PIN_CHANGE); 00281 gpio_enable_pin_interrupt(QT1081_TOUCH_SENSOR_DOWN, GPIO_PIN_CHANGE); 00282 gpio_enable_pin_interrupt(QT1081_TOUCH_SENSOR_RIGHT, GPIO_PIN_CHANGE); 00283 gpio_enable_pin_interrupt(QT1081_TOUCH_SENSOR_LEFT, GPIO_PIN_CHANGE); 00284 gpio_enable_pin_interrupt(QT1081_TOUCH_SENSOR_ENTER, GPIO_PIN_CHANGE); 00285 // Enable interrupts globally. 00286 Enable_global_interrupt(); 00287 static_fcpu_hz = cpu_hz; 00288 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00289 }
Bool controller_key_back | ( | void | ) |
Definition at line 194 of file controller_evk1105.c.
References FALSE, IS_JOYSTICK_KEY_PRESSED, no_store, static_fcpu_hz, and TRUE.
Referenced by state_machine_task().
00195 { 00196 static bool start = false; 00197 static t_cpu_time tempo; 00198 00199 if (!IS_JOYSTICK_KEY_PRESSED()) 00200 { 00201 gpio_set_gpio_pin(LED0_GPIO); 00202 start = false; 00203 return FALSE; 00204 } 00205 00206 if (!start) 00207 { 00208 cpu_set_timeout(cpu_ms_2_cy(1000, static_fcpu_hz), &tempo); 00209 start = true; 00210 } 00211 00212 if (cpu_is_timeout(&tempo)) 00213 { 00214 gpio_clr_gpio_pin(LED0_GPIO); 00215 no_store = true; 00216 start = false; 00217 return TRUE; 00218 } 00219 00220 gpio_set_gpio_pin(LED0_GPIO); 00221 return FALSE; 00222 }
Bool controller_key_fct1 | ( | void | ) |
Definition at line 229 of file controller_evk1105.c.
References is_joystick_released_up().
Referenced by state_machine_task().
00230 { 00231 return is_joystick_released_up(); 00232 }
Bool controller_key_fct1_pressed | ( | void | ) |
Definition at line 244 of file controller_evk1105.c.
References FALSE.
00245 { 00246 return FALSE; 00247 }
Bool controller_key_fct2 | ( | void | ) |
Definition at line 234 of file controller_evk1105.c.
References is_joystick_released_pressed().
Referenced by state_machine_task().
00235 { 00236 return is_joystick_released_pressed(); 00237 }
Bool controller_key_fct2_pressed | ( | void | ) |
Definition at line 249 of file controller_evk1105.c.
References FALSE.
00250 { 00251 return FALSE; 00252 }
Bool controller_key_fct3 | ( | void | ) |
Definition at line 239 of file controller_evk1105.c.
References is_joystick_released_down().
Referenced by state_machine_task().
00240 { 00241 return is_joystick_released_down(); 00242 }
Bool controller_key_fct3_pressed | ( | void | ) |
Definition at line 254 of file controller_evk1105.c.
References IS_JOYSTICK_KEY_DOWN.
Referenced by state_machine_task().
00255 { 00256 return IS_JOYSTICK_KEY_DOWN(); 00257 }
Bool controller_key_pressed | ( | void | ) |
Definition at line 167 of file controller_evk1105.c.
References FALSE, IS_JOYSTICK_KEY_DOWN, IS_JOYSTICK_KEY_LEFT, IS_JOYSTICK_KEY_PRESSED, IS_JOYSTICK_KEY_RIGHT, IS_JOYSTICK_KEY_UP, and TRUE.
Referenced by controller_wheel_pressed().
00168 { 00169 if (IS_JOYSTICK_KEY_UP() || 00170 IS_JOYSTICK_KEY_DOWN() || 00171 IS_JOYSTICK_KEY_RIGHT() || 00172 IS_JOYSTICK_KEY_LEFT() || 00173 IS_JOYSTICK_KEY_PRESSED()) 00174 return TRUE; 00175 return FALSE; 00176 }
Bool controller_key_released | ( | void | ) |
Definition at line 178 of file controller_evk1105.c.
References FALSE, IS_JOYSTICK_RELEASED_KEY_DOWN, IS_JOYSTICK_RELEASED_KEY_LEFT, IS_JOYSTICK_RELEASED_KEY_PRESSED, IS_JOYSTICK_RELEASED_KEY_RIGHT, IS_JOYSTICK_RELEASED_KEY_UP, and TRUE.
00179 { 00180 if (IS_JOYSTICK_RELEASED_KEY_UP() || 00181 IS_JOYSTICK_RELEASED_KEY_DOWN() || 00182 IS_JOYSTICK_RELEASED_KEY_RIGHT() || 00183 IS_JOYSTICK_RELEASED_KEY_LEFT() || 00184 IS_JOYSTICK_RELEASED_KEY_PRESSED()) 00185 return TRUE; 00186 return FALSE; 00187 }
Bool controller_key_reset | ( | void | ) |
Definition at line 224 of file controller_evk1105.c.
References FALSE.
Referenced by state_machine_task().
00225 { 00226 return FALSE; 00227 }
void controller_reset | ( | void | ) |
Definition at line 269 of file controller_evk1105.c.
Referenced by state_machine_filter(), state_machine_signal(), state_machine_source(), and state_machine_task().
void controller_task | ( | void | ) |
Bool controller_wheel_left | ( | int | wheel_inc | ) |
Definition at line 264 of file controller_evk1105.c.
References is_joystick_left().
Referenced by state_machine_filter(), state_machine_idle(), state_machine_signal(), and state_machine_source().
00265 { 00266 return is_joystick_left(); 00267 }
Bool controller_wheel_pressed | ( | void | ) |
Definition at line 189 of file controller_evk1105.c.
References controller_key_pressed().
00190 { 00191 return controller_key_pressed(); 00192 }
Bool controller_wheel_right | ( | int | wheel_inc | ) |
Definition at line 259 of file controller_evk1105.c.
References is_joystick_right().
Referenced by state_machine_filter(), state_machine_idle(), state_machine_signal(), and state_machine_source().
00260 { 00261 return is_joystick_right(); 00262 }
static Bool is_joystick_left | ( | void | ) | [static] |
Definition at line 349 of file controller_evk1105.c.
References FALSE, IS_JOYSTICK_KEY_LEFT, JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and TRUE.
Referenced by controller_wheel_left().
00350 { 00351 if (IS_JOYSTICK_KEY_LEFT() && cpu_is_timeout(&joystick_key_sensibility_timer)) 00352 { 00353 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00354 return TRUE; 00355 } 00356 return FALSE; 00357 }
static Bool is_joystick_released_down | ( | void | ) | [static] |
Definition at line 306 of file controller_evk1105.c.
References CLEAR_JOYSTICK_RELEASED_KEY_DOWN, FALSE, IS_JOYSTICK_ONLY_RELEASED_KEY_DOWN, JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and TRUE.
Referenced by controller_key_fct3().
00307 { 00308 if (IS_JOYSTICK_ONLY_RELEASED_KEY_DOWN() && cpu_is_timeout(&joystick_key_sensibility_timer)) 00309 { 00310 CLEAR_JOYSTICK_RELEASED_KEY_DOWN(); 00311 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00312 return TRUE; 00313 } 00314 return FALSE; 00315 }
static Bool is_joystick_released_left | ( | void | ) | [static] |
Definition at line 328 of file controller_evk1105.c.
References CLEAR_JOYSTICK_RELEASED_KEY_LEFT, FALSE, IS_JOYSTICK_ONLY_RELEASED_KEY_LEFT, JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and TRUE.
00329 { 00330 if (IS_JOYSTICK_ONLY_RELEASED_KEY_LEFT() && cpu_is_timeout(&joystick_key_sensibility_timer)) 00331 { 00332 CLEAR_JOYSTICK_RELEASED_KEY_LEFT(); 00333 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00334 return TRUE; 00335 } 00336 return FALSE; 00337 }
static Bool is_joystick_released_pressed | ( | void | ) | [static] |
Definition at line 359 of file controller_evk1105.c.
References CLEAR_JOYSTICK_RELEASED_KEY_PRESSED, FALSE, IS_JOYSTICK_ONLY_RELEASED_KEY_PRESSED, JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and TRUE.
Referenced by controller_key_fct2().
00360 { 00361 if (IS_JOYSTICK_ONLY_RELEASED_KEY_PRESSED() && cpu_is_timeout(&joystick_key_sensibility_timer)) 00362 { 00363 CLEAR_JOYSTICK_RELEASED_KEY_PRESSED(); 00364 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00365 return TRUE; 00366 } 00367 return FALSE; 00368 }
static Bool is_joystick_released_right | ( | void | ) | [static] |
Definition at line 317 of file controller_evk1105.c.
References CLEAR_JOYSTICK_RELEASED_KEY_RIGHT, FALSE, IS_JOYSTICK_ONLY_RELEASED_KEY_RIGHT, JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and TRUE.
00318 { 00319 if (IS_JOYSTICK_ONLY_RELEASED_KEY_RIGHT() && cpu_is_timeout(&joystick_key_sensibility_timer)) 00320 { 00321 CLEAR_JOYSTICK_RELEASED_KEY_RIGHT(); 00322 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00323 return TRUE; 00324 } 00325 return FALSE; 00326 }
static Bool is_joystick_released_up | ( | void | ) | [static] |
Definition at line 295 of file controller_evk1105.c.
References CLEAR_JOYSTICK_RELEASED_KEY_UP, FALSE, IS_JOYSTICK_ONLY_RELEASED_KEY_UP, JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and TRUE.
Referenced by controller_key_fct1().
00296 { 00297 if (IS_JOYSTICK_ONLY_RELEASED_KEY_UP() && cpu_is_timeout(&joystick_key_sensibility_timer)) 00298 { 00299 CLEAR_JOYSTICK_RELEASED_KEY_UP(); 00300 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00301 return TRUE; 00302 } 00303 return FALSE; 00304 }
static Bool is_joystick_right | ( | void | ) | [static] |
Definition at line 339 of file controller_evk1105.c.
References FALSE, IS_JOYSTICK_KEY_RIGHT, JOYSTICK_KEY_DEBOUNCE_MS, joystick_key_sensibility_timer, static_fcpu_hz, and TRUE.
Referenced by controller_wheel_right().
00340 { 00341 if (IS_JOYSTICK_KEY_RIGHT() && cpu_is_timeout(&joystick_key_sensibility_timer)) 00342 { 00343 cpu_set_timeout(cpu_ms_2_cy(JOYSTICK_KEY_DEBOUNCE_MS, static_fcpu_hz), &joystick_key_sensibility_timer); 00344 return TRUE; 00345 } 00346 return FALSE; 00347 }
static void manage_button_isr | ( | int | pin, | |
enum joystick_status_t | status_pressed, | |||
enum joystick_status_t | status_released | |||
) | [inline, static] |
Definition at line 124 of file controller_evk1105.c.
References joystick_status, and no_store.
Referenced by touch_button_isr().
00125 { 00126 if (gpio_get_pin_interrupt_flag(pin)) 00127 { 00128 // Clear current pin status 00129 joystick_status &= ~(status_pressed | status_released); 00130 if (gpio_get_pin_value(pin)) 00131 joystick_status |= status_pressed; 00132 else if (!no_store) 00133 joystick_status |= status_released; 00134 else 00135 no_store = false; 00136 gpio_clear_pin_interrupt_flag(pin); 00137 } 00138 }
void touch_button_isr | ( | void | ) |
Definition at line 145 of file controller_evk1105.c.
References IS_JOYSTICK_KEY_DOWN, IS_JOYSTICK_KEY_PRESSED, IS_JOYSTICK_KEY_UP, JOYSTICK_STATUS_DOWN, JOYSTICK_STATUS_LEFT, JOYSTICK_STATUS_PRESSED, JOYSTICK_STATUS_RELEASED_DOWN, JOYSTICK_STATUS_RELEASED_LEFT, JOYSTICK_STATUS_RELEASED_PRESSED, JOYSTICK_STATUS_RELEASED_RIGHT, JOYSTICK_STATUS_RELEASED_UP, JOYSTICK_STATUS_RIGHT, JOYSTICK_STATUS_UP, and manage_button_isr().
Referenced by controller_init().
00146 { 00147 manage_button_isr(QT1081_TOUCH_SENSOR_UP, JOYSTICK_STATUS_UP, JOYSTICK_STATUS_RELEASED_UP); 00148 manage_button_isr(QT1081_TOUCH_SENSOR_DOWN, JOYSTICK_STATUS_DOWN, JOYSTICK_STATUS_RELEASED_DOWN); 00149 manage_button_isr(QT1081_TOUCH_SENSOR_RIGHT, JOYSTICK_STATUS_RIGHT, JOYSTICK_STATUS_RELEASED_RIGHT); 00150 manage_button_isr(QT1081_TOUCH_SENSOR_LEFT, JOYSTICK_STATUS_LEFT, JOYSTICK_STATUS_RELEASED_LEFT); 00151 manage_button_isr(QT1081_TOUCH_SENSOR_ENTER, JOYSTICK_STATUS_PRESSED, JOYSTICK_STATUS_RELEASED_PRESSED); 00152 00153 if (IS_JOYSTICK_KEY_UP()) 00154 gpio_clr_gpio_pin(LED1_GPIO); 00155 else 00156 gpio_set_gpio_pin(LED1_GPIO); 00157 if (IS_JOYSTICK_KEY_PRESSED()) 00158 gpio_clr_gpio_pin(LED2_GPIO); 00159 else 00160 gpio_set_gpio_pin(LED2_GPIO); 00161 if (IS_JOYSTICK_KEY_DOWN()) 00162 gpio_clr_gpio_pin(LED3_GPIO); 00163 else 00164 gpio_set_gpio_pin(LED3_GPIO); 00165 }
t_cpu_time joystick_key_sensibility_timer [static] |
Definition at line 104 of file controller_evk1105.c.
Referenced by controller_init(), is_joystick_left(), is_joystick_released_down(), is_joystick_released_left(), is_joystick_released_pressed(), is_joystick_released_right(), is_joystick_released_up(), and is_joystick_right().
enum joystick_status_t joystick_status [static] |
Referenced by manage_button_isr().
bool no_store = false [static] |
Definition at line 106 of file controller_evk1105.c.
Referenced by controller_key_back(), and manage_button_isr().
U32 static_fcpu_hz [static] |
Definition at line 105 of file controller_evk1105.c.
Referenced by controller_init(), controller_key_back(), is_joystick_left(), is_joystick_released_down(), is_joystick_released_left(), is_joystick_released_pressed(), is_joystick_released_right(), is_joystick_released_up(), and is_joystick_right().