diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-10-08 09:47:40 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-10-11 16:37:17 -0400 |
commit | 2a471e288c16b91a7186a60b3fb84dd55a494c7a (patch) | |
tree | 3e746212c5fa69b59f61d19b6e29d11aa8a5e31b /apps/plugins/stopwatch.c | |
parent | 5efaa9ef8073bb216e3dcdbb4476f2fa7c672b76 (diff) | |
download | rockbox-2a471e288c16b91a7186a60b3fb84dd55a494c7a.tar.gz rockbox-2a471e288c16b91a7186a60b3fb84dd55a494c7a.zip |
New port: AIGO EROS Q / EROS K
The Q and K have a slightly different case, but the hardware under the
shell is completely identical.
These models are rebadged versions:
* Hifiwalker H2 (== Q)
* AGPTek H3 (== K)
* Surfans F20 (== K)
Other notes:
* Significant improvements in the shared Hiby-platform launcher/loader
* SD card can theoretically be hot-swapped now
* Support external USB mass storage!
* Some consolidation of Hiby-platform targets
* Some consolidation of plugin keymaps
Todo/known issues:
* Keymaps need to be gone over properly
* Convert to HAVE_SCROLLWHEEL?
Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
Diffstat (limited to 'apps/plugins/stopwatch.c')
-rw-r--r-- | apps/plugins/stopwatch.c | 62 |
1 files changed, 23 insertions, 39 deletions
diff --git a/apps/plugins/stopwatch.c b/apps/plugins/stopwatch.c index 801c735f00..db9cfd57da 100644 --- a/apps/plugins/stopwatch.c +++ b/apps/plugins/stopwatch.c | |||
@@ -277,23 +277,7 @@ | |||
277 | #define STOPWATCH_SCROLL_UP BUTTON_UP | 277 | #define STOPWATCH_SCROLL_UP BUTTON_UP |
278 | #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN | 278 | #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN |
279 | 279 | ||
280 | #elif CONFIG_KEYPAD == XDUOO_X3_PAD | 280 | #elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD |
281 | #define STOPWATCH_QUIT BUTTON_POWER | ||
282 | #define STOPWATCH_START_STOP BUTTON_NEXT | ||
283 | #define STOPWATCH_RESET_TIMER BUTTON_PREV | ||
284 | #define STOPWATCH_LAP_TIMER BUTTON_PLAY | ||
285 | #define STOPWATCH_SCROLL_UP BUTTON_HOME | ||
286 | #define STOPWATCH_SCROLL_DOWN BUTTON_OPTION | ||
287 | |||
288 | #elif CONFIG_KEYPAD == XDUOO_X3II_PAD | ||
289 | #define STOPWATCH_QUIT BUTTON_POWER | ||
290 | #define STOPWATCH_START_STOP BUTTON_NEXT | ||
291 | #define STOPWATCH_RESET_TIMER BUTTON_PREV | ||
292 | #define STOPWATCH_LAP_TIMER BUTTON_PLAY | ||
293 | #define STOPWATCH_SCROLL_UP BUTTON_HOME | ||
294 | #define STOPWATCH_SCROLL_DOWN BUTTON_OPTION | ||
295 | |||
296 | #elif CONFIG_KEYPAD == XDUOO_X20_PAD | ||
297 | #define STOPWATCH_QUIT BUTTON_POWER | 281 | #define STOPWATCH_QUIT BUTTON_POWER |
298 | #define STOPWATCH_START_STOP BUTTON_NEXT | 282 | #define STOPWATCH_START_STOP BUTTON_NEXT |
299 | #define STOPWATCH_RESET_TIMER BUTTON_PREV | 283 | #define STOPWATCH_RESET_TIMER BUTTON_PREV |
@@ -309,7 +293,7 @@ | |||
309 | #define STOPWATCH_SCROLL_UP BUTTON_HOME | 293 | #define STOPWATCH_SCROLL_UP BUTTON_HOME |
310 | #define STOPWATCH_SCROLL_DOWN BUTTON_OPTION | 294 | #define STOPWATCH_SCROLL_DOWN BUTTON_OPTION |
311 | 295 | ||
312 | #elif CONFIG_KEYPAD == IHIFI_770_PAD | 296 | #elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD |
313 | #define STOPWATCH_QUIT BUTTON_POWER | 297 | #define STOPWATCH_QUIT BUTTON_POWER |
314 | #define STOPWATCH_START_STOP BUTTON_NEXT | 298 | #define STOPWATCH_START_STOP BUTTON_NEXT |
315 | #define STOPWATCH_RESET_TIMER BUTTON_PREV | 299 | #define STOPWATCH_RESET_TIMER BUTTON_PREV |
@@ -317,13 +301,13 @@ | |||
317 | #define STOPWATCH_SCROLL_UP BUTTON_VOL_UP | 301 | #define STOPWATCH_SCROLL_UP BUTTON_VOL_UP |
318 | #define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN | 302 | #define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN |
319 | 303 | ||
320 | #elif CONFIG_KEYPAD == IHIFI_800_PAD | 304 | #elif CONFIG_KEYPAD == EROSQ_PAD |
321 | #define STOPWATCH_QUIT BUTTON_POWER | 305 | #define STOPWATCH_QUIT BUTTON_POWER |
322 | #define STOPWATCH_START_STOP BUTTON_NEXT | 306 | #define STOPWATCH_START_STOP BUTTON_PLAY |
323 | #define STOPWATCH_RESET_TIMER BUTTON_PREV | 307 | #define STOPWATCH_RESET_TIMER BUTTON_BACK |
324 | #define STOPWATCH_LAP_TIMER BUTTON_PLAY | 308 | #define STOPWATCH_LAP_TIMER BUTTON_MENU |
325 | #define STOPWATCH_SCROLL_UP BUTTON_VOL_UP | 309 | #define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD |
326 | #define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN | 310 | #define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK |
327 | 311 | ||
328 | #else | 312 | #else |
329 | #error No keymap defined! | 313 | #error No keymap defined! |
@@ -405,24 +389,24 @@ static void ticks_to_string(int ticks,int lap,int buflen, char * buf) | |||
405 | } | 389 | } |
406 | } | 390 | } |
407 | 391 | ||
408 | /* | 392 | /* |
409 | * Load saved stopwatch state, if exists. | 393 | * Load saved stopwatch state, if exists. |
410 | */ | 394 | */ |
411 | static void load_stopwatch(void) | 395 | static void load_stopwatch(void) |
412 | { | 396 | { |
413 | int fd; | 397 | int fd; |
414 | 398 | ||
415 | fd = rb->open(STOPWATCH_FILE, O_RDONLY); | 399 | fd = rb->open(STOPWATCH_FILE, O_RDONLY); |
416 | 400 | ||
417 | if (fd < 0) | 401 | if (fd < 0) |
418 | { | 402 | { |
419 | return; | 403 | return; |
420 | } | 404 | } |
421 | 405 | ||
422 | /* variable stopwatch isn't saved/loaded, because it is only used | 406 | /* variable stopwatch isn't saved/loaded, because it is only used |
423 | * temporarily in main loop | 407 | * temporarily in main loop |
424 | */ | 408 | */ |
425 | 409 | ||
426 | rb->read(fd, &start_at, sizeof(start_at)); | 410 | rb->read(fd, &start_at, sizeof(start_at)); |
427 | rb->read(fd, &prev_total, sizeof(prev_total)); | 411 | rb->read(fd, &prev_total, sizeof(prev_total)); |
428 | rb->read(fd, &counting, sizeof(counting)); | 412 | rb->read(fd, &counting, sizeof(counting)); |
@@ -430,7 +414,7 @@ static void load_stopwatch(void) | |||
430 | rb->read(fd, &lap_scroll, sizeof(lap_scroll)); | 414 | rb->read(fd, &lap_scroll, sizeof(lap_scroll)); |
431 | rb->read(fd, &lap_start, sizeof(lap_start)); | 415 | rb->read(fd, &lap_start, sizeof(lap_start)); |
432 | rb->read(fd, lap_times, sizeof(lap_times)); | 416 | rb->read(fd, lap_times, sizeof(lap_times)); |
433 | 417 | ||
434 | if (counting && start_at > *rb->current_tick) | 418 | if (counting && start_at > *rb->current_tick) |
435 | { | 419 | { |
436 | /* Stopwatch started in the future? Unlikely; probably started on a | 420 | /* Stopwatch started in the future? Unlikely; probably started on a |
@@ -441,28 +425,28 @@ static void load_stopwatch(void) | |||
441 | start_at = 0; | 425 | start_at = 0; |
442 | counting = false; | 426 | counting = false; |
443 | } | 427 | } |
444 | 428 | ||
445 | rb->close(fd); | 429 | rb->close(fd); |
446 | } | 430 | } |
447 | 431 | ||
448 | /* | 432 | /* |
449 | * Save stopwatch state. | 433 | * Save stopwatch state. |
450 | */ | 434 | */ |
451 | static void save_stopwatch(void) | 435 | static void save_stopwatch(void) |
452 | { | 436 | { |
453 | int fd; | 437 | int fd; |
454 | 438 | ||
455 | fd = rb->open(STOPWATCH_FILE, O_CREAT|O_WRONLY|O_TRUNC, 0666); | 439 | fd = rb->open(STOPWATCH_FILE, O_CREAT|O_WRONLY|O_TRUNC, 0666); |
456 | 440 | ||
457 | if (fd < 0) | 441 | if (fd < 0) |
458 | { | 442 | { |
459 | return; | 443 | return; |
460 | } | 444 | } |
461 | 445 | ||
462 | /* variable stopwatch isn't saved/loaded, because it is only used | 446 | /* variable stopwatch isn't saved/loaded, because it is only used |
463 | * temporarily in main loop | 447 | * temporarily in main loop |
464 | */ | 448 | */ |
465 | 449 | ||
466 | rb->write(fd, &start_at, sizeof(start_at)); | 450 | rb->write(fd, &start_at, sizeof(start_at)); |
467 | rb->write(fd, &prev_total, sizeof(prev_total)); | 451 | rb->write(fd, &prev_total, sizeof(prev_total)); |
468 | rb->write(fd, &counting, sizeof(counting)); | 452 | rb->write(fd, &counting, sizeof(counting)); |
@@ -470,7 +454,7 @@ static void save_stopwatch(void) | |||
470 | rb->write(fd, &lap_scroll, sizeof(lap_scroll)); | 454 | rb->write(fd, &lap_scroll, sizeof(lap_scroll)); |
471 | rb->write(fd, &lap_start, sizeof(lap_start)); | 455 | rb->write(fd, &lap_start, sizeof(lap_start)); |
472 | rb->write(fd, lap_times, sizeof(lap_times)); | 456 | rb->write(fd, lap_times, sizeof(lap_times)); |
473 | 457 | ||
474 | rb->close(fd); | 458 | rb->close(fd); |
475 | } | 459 | } |
476 | 460 | ||
@@ -491,9 +475,9 @@ enum plugin_status plugin_start(const void* parameter) | |||
491 | lines = (LCD_HEIGHT / h) - (LAP_Y); | 475 | lines = (LCD_HEIGHT / h) - (LAP_Y); |
492 | 476 | ||
493 | load_stopwatch(); | 477 | load_stopwatch(); |
494 | 478 | ||
495 | rb->lcd_clear_display(); | 479 | rb->lcd_clear_display(); |
496 | 480 | ||
497 | while (!done) | 481 | while (!done) |
498 | { | 482 | { |
499 | if (counting) | 483 | if (counting) |