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/battery_bench.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/battery_bench.c')
-rw-r--r-- | apps/plugins/battery_bench.c | 97 |
1 files changed, 26 insertions, 71 deletions
diff --git a/apps/plugins/battery_bench.c b/apps/plugins/battery_bench.c index f68e3ed5a3..bb431e3e04 100644 --- a/apps/plugins/battery_bench.c +++ b/apps/plugins/battery_bench.c | |||
@@ -24,7 +24,6 @@ | |||
24 | #include "plugin.h" | 24 | #include "plugin.h" |
25 | #include "lang_enum.h" | 25 | #include "lang_enum.h" |
26 | 26 | ||
27 | |||
28 | #define BATTERY_LOG HOME_DIR"/battery_bench.txt" | 27 | #define BATTERY_LOG HOME_DIR"/battery_bench.txt" |
29 | #define BUF_SIZE 16000 | 28 | #define BUF_SIZE 16000 |
30 | 29 | ||
@@ -83,7 +82,17 @@ | |||
83 | #define BATTERY_ON_TXT "SELECT - start" | 82 | #define BATTERY_ON_TXT "SELECT - start" |
84 | #define BATTERY_OFF_TXT "HOME" | 83 | #define BATTERY_OFF_TXT "HOME" |
85 | 84 | ||
86 | #elif CONFIG_KEYPAD == IRIVER_H10_PAD | 85 | #elif (CONFIG_KEYPAD == IRIVER_H10_PAD || \ |
86 | CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD || \ | ||
87 | CONFIG_KEYPAD == SONY_NWZ_PAD || \ | ||
88 | CONFIG_KEYPAD == AGPTEK_ROCKER_PAD || \ | ||
89 | CONFIG_KEYPAD == XDUOO_X3_PAD || \ | ||
90 | CONFIG_KEYPAD == IHIFI_770_PAD || \ | ||
91 | CONFIG_KEYPAD == IHIFI_800_PAD || \ | ||
92 | CONFIG_KEYPAD == XDUOO_X3II_PAD || \ | ||
93 | CONFIG_KEYPAD == XDUOO_X20_PAD || \ | ||
94 | CONFIG_KEYPAD == FIIO_M3K_PAD || \ | ||
95 | CONFIG_KEYPAD == EROSQ_PAD) | ||
87 | 96 | ||
88 | #define BATTERY_ON BUTTON_PLAY | 97 | #define BATTERY_ON BUTTON_PLAY |
89 | #define BATTERY_OFF BUTTON_POWER | 98 | #define BATTERY_OFF BUTTON_POWER |
@@ -177,7 +186,7 @@ | |||
177 | 186 | ||
178 | #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ | 187 | #elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ |
179 | (CONFIG_KEYPAD == SAMSUNG_YH92X_PAD) | 188 | (CONFIG_KEYPAD == SAMSUNG_YH92X_PAD) |
180 | 189 | ||
181 | #define BATTERY_ON BUTTON_LEFT | 190 | #define BATTERY_ON BUTTON_LEFT |
182 | #define BATTERY_OFF BUTTON_RIGHT | 191 | #define BATTERY_OFF BUTTON_RIGHT |
183 | #define BATTERY_ON_TXT "LEFT" | 192 | #define BATTERY_ON_TXT "LEFT" |
@@ -214,12 +223,6 @@ | |||
214 | #define BATTERY_ON_TXT "SELECT - start" | 223 | #define BATTERY_ON_TXT "SELECT - start" |
215 | #define BATTERY_OFF_TXT "POWER" | 224 | #define BATTERY_OFF_TXT "POWER" |
216 | 225 | ||
217 | #elif CONFIG_KEYPAD == CREATIVE_ZENXFI3_PAD | ||
218 | #define BATTERY_ON BUTTON_PLAY | ||
219 | #define BATTERY_OFF BUTTON_POWER | ||
220 | #define BATTERY_ON_TXT "PLAY - start" | ||
221 | #define BATTERY_OFF_TXT "POWER" | ||
222 | |||
223 | #elif (CONFIG_KEYPAD == HM60X_PAD) || (CONFIG_KEYPAD == HM801_PAD) | 226 | #elif (CONFIG_KEYPAD == HM60X_PAD) || (CONFIG_KEYPAD == HM801_PAD) |
224 | #define BATTERY_ON BUTTON_SELECT | 227 | #define BATTERY_ON BUTTON_SELECT |
225 | #define BATTERY_OFF BUTTON_POWER | 228 | #define BATTERY_OFF BUTTON_POWER |
@@ -227,12 +230,6 @@ | |||
227 | 230 | ||
228 | #define BATTERY_OFF_TXT "POWER" | 231 | #define BATTERY_OFF_TXT "POWER" |
229 | 232 | ||
230 | #elif CONFIG_KEYPAD == SONY_NWZ_PAD | ||
231 | #define BATTERY_ON BUTTON_PLAY | ||
232 | #define BATTERY_OFF BUTTON_POWER | ||
233 | #define BATTERY_ON_TXT "PLAY - start" | ||
234 | #define BATTERY_OFF_TXT "Power" | ||
235 | |||
236 | #elif CONFIG_KEYPAD == DX50_PAD | 233 | #elif CONFIG_KEYPAD == DX50_PAD |
237 | #define BATTERY_ON BUTTON_PLAY | 234 | #define BATTERY_ON BUTTON_PLAY |
238 | #define BATTERY_OFF BUTTON_POWER_LONG | 235 | #define BATTERY_OFF BUTTON_POWER_LONG |
@@ -245,53 +242,8 @@ | |||
245 | #define BATTERY_OFF_TXT "Power" | 242 | #define BATTERY_OFF_TXT "Power" |
246 | #define BATTERY_ON_TXT "Menu - start" | 243 | #define BATTERY_ON_TXT "Menu - start" |
247 | 244 | ||
248 | #elif CONFIG_KEYPAD == AGPTEK_ROCKER_PAD | 245 | #elif defined(HAVE_TOUCHSCREEN) |
249 | #define BATTERY_ON BUTTON_LEFT | ||
250 | #define BATTERY_OFF BUTTON_RIGHT | ||
251 | #define BATTERY_OFF_TXT "Right" | ||
252 | #define BATTERY_ON_TXT "Left - start" | ||
253 | 246 | ||
254 | #elif CONFIG_KEYPAD == XDUOO_X3_PAD | ||
255 | #define BATTERY_ON BUTTON_PLAY | ||
256 | #define BATTERY_OFF BUTTON_POWER | ||
257 | #define BATTERY_ON_TXT "PLAY - start" | ||
258 | #define BATTERY_OFF_TXT "POWER" | ||
259 | |||
260 | #elif CONFIG_KEYPAD == IHIFI_770_PAD | ||
261 | #define BATTERY_ON BUTTON_PLAY | ||
262 | #define BATTERY_OFF BUTTON_POWER | ||
263 | #define BATTERY_ON_TXT "PLAY - start" | ||
264 | #define BATTERY_OFF_TXT "POWER" | ||
265 | |||
266 | #elif CONFIG_KEYPAD == IHIFI_800_PAD | ||
267 | #define BATTERY_ON BUTTON_PLAY | ||
268 | #define BATTERY_OFF BUTTON_POWER | ||
269 | #define BATTERY_ON_TXT "PLAY - start" | ||
270 | #define BATTERY_OFF_TXT "POWER" | ||
271 | |||
272 | #elif CONFIG_KEYPAD == XDUOO_X3II_PAD | ||
273 | #define BATTERY_ON BUTTON_PLAY | ||
274 | #define BATTERY_OFF BUTTON_POWER | ||
275 | #define BATTERY_ON_TXT "Play - start" | ||
276 | #define BATTERY_OFF_TXT "POWER" | ||
277 | |||
278 | #elif CONFIG_KEYPAD == XDUOO_X20_PAD | ||
279 | #define BATTERY_ON BUTTON_PLAY | ||
280 | #define BATTERY_OFF BUTTON_POWER | ||
281 | #define BATTERY_ON_TXT "Play - start" | ||
282 | #define BATTERY_OFF_TXT "POWER" | ||
283 | |||
284 | #elif CONFIG_KEYPAD == FIIO_M3K_PAD | ||
285 | #define BATTERY_ON BUTTON_PLAY | ||
286 | #define BATTERY_OFF BUTTON_POWER | ||
287 | #define BATTERY_ON_TXT "Play - start" | ||
288 | #define BATTERY_OFF_TXT "POWER" | ||
289 | |||
290 | #else | ||
291 | #error No keymap defined! | ||
292 | #endif | ||
293 | |||
294 | #ifdef HAVE_TOUCHSCREEN | ||
295 | #ifndef BATTERY_ON | 247 | #ifndef BATTERY_ON |
296 | #define BATTERY_ON BUTTON_CENTER | 248 | #define BATTERY_ON BUTTON_CENTER |
297 | #endif | 249 | #endif |
@@ -304,6 +256,9 @@ | |||
304 | #ifndef BATTERY_OFF_TXT | 256 | #ifndef BATTERY_OFF_TXT |
305 | #define BATTERY_OFF_TXT "TOPLEFT" | 257 | #define BATTERY_OFF_TXT "TOPLEFT" |
306 | #endif | 258 | #endif |
259 | |||
260 | #else | ||
261 | #error No keymap defined! | ||
307 | #endif | 262 | #endif |
308 | 263 | ||
309 | /****************************** Plugin Entry Point ****************************/ | 264 | /****************************** Plugin Entry Point ****************************/ |
@@ -375,7 +330,7 @@ static bool exit_tsr(bool reenter) | |||
375 | #define BIT_CHARGING 0x2 | 330 | #define BIT_CHARGING 0x2 |
376 | #define BIT_USB_POWER 0x4 | 331 | #define BIT_USB_POWER 0x4 |
377 | 332 | ||
378 | #define HMS(x) (x)/3600,((x)%3600)/60,((x)%3600)%60 | 333 | #define HMS(x) (x)/3600,((x)%3600)/60,((x)%3600)%60 |
379 | 334 | ||
380 | #if CONFIG_CHARGING || defined(HAVE_USB_POWER) | 335 | #if CONFIG_CHARGING || defined(HAVE_USB_POWER) |
381 | static unsigned int charge_state(void) | 336 | static unsigned int charge_state(void) |
@@ -476,7 +431,7 @@ static void thread(void) | |||
476 | rb->register_storage_idle_func(flush_buffer); | 431 | rb->register_storage_idle_func(flush_buffer); |
477 | #endif | 432 | #endif |
478 | } | 433 | } |
479 | 434 | ||
480 | /* What to do when the measurement buffer is full: | 435 | /* What to do when the measurement buffer is full: |
481 | 1) save our measurements to disk but waste some power doing so? | 436 | 1) save our measurements to disk but waste some power doing so? |
482 | 2) throw away measurements to save some power? | 437 | 2) throw away measurements to save some power? |
@@ -486,12 +441,12 @@ static void thread(void) | |||
486 | if (buf_idx == BUF_ELEMENTS) { | 441 | if (buf_idx == BUF_ELEMENTS) { |
487 | flush_buffer(); | 442 | flush_buffer(); |
488 | } | 443 | } |
489 | 444 | ||
490 | /* sleep some time until next measurement */ | 445 | /* sleep some time until next measurement */ |
491 | rb->queue_wait_w_tmo(&thread_q, &ev, sleep_time); | 446 | rb->queue_wait_w_tmo(&thread_q, &ev, sleep_time); |
492 | switch (ev.id) | 447 | switch (ev.id) |
493 | { | 448 | { |
494 | case SYS_USB_CONNECTED: | 449 | case SYS_USB_CONNECTED: |
495 | in_usb_mode = true; | 450 | in_usb_mode = true; |
496 | rb->usb_acknowledge(SYS_USB_CONNECTED_ACK); | 451 | rb->usb_acknowledge(SYS_USB_CONNECTED_ACK); |
497 | break; | 452 | break; |
@@ -516,7 +471,7 @@ static void thread(void) | |||
516 | #else | 471 | #else |
517 | flush_buffer(); | 472 | flush_buffer(); |
518 | #endif | 473 | #endif |
519 | 474 | ||
520 | /* log end of bench and exit reason */ | 475 | /* log end of bench and exit reason */ |
521 | fd = rb->open(BATTERY_LOG, O_RDWR | O_CREAT | O_APPEND, 0666); | 476 | fd = rb->open(BATTERY_LOG, O_RDWR | O_CREAT | O_APPEND, 0666); |
522 | if (fd >= 0) | 477 | if (fd >= 0) |
@@ -565,7 +520,7 @@ enum plugin_status plugin_start(const void* parameter) | |||
565 | rb->lcd_remote_putsxy,LCD_REMOTE_WIDTH,2); | 520 | rb->lcd_remote_putsxy,LCD_REMOTE_WIDTH,2); |
566 | rb->lcd_remote_update(); | 521 | rb->lcd_remote_update(); |
567 | #endif | 522 | #endif |
568 | 523 | ||
569 | do | 524 | do |
570 | { | 525 | { |
571 | button = rb->button_get(true); | 526 | button = rb->button_get(true); |
@@ -574,10 +529,10 @@ enum plugin_status plugin_start(const void* parameter) | |||
574 | case BATTERY_ON: | 529 | case BATTERY_ON: |
575 | #ifdef BATTERY_RC_ON | 530 | #ifdef BATTERY_RC_ON |
576 | case BATTERY_RC_ON: | 531 | case BATTERY_RC_ON: |
577 | #endif | 532 | #endif |
578 | on = true; | 533 | on = true; |
579 | break; | 534 | break; |
580 | case BATTERY_OFF: | 535 | case BATTERY_OFF: |
581 | #ifdef BATTERY_RC_OFF | 536 | #ifdef BATTERY_RC_OFF |
582 | case BATTERY_RC_OFF: | 537 | case BATTERY_RC_OFF: |
583 | #endif | 538 | #endif |
@@ -588,7 +543,7 @@ enum plugin_status plugin_start(const void* parameter) | |||
588 | return PLUGIN_USB_CONNECTED; | 543 | return PLUGIN_USB_CONNECTED; |
589 | } | 544 | } |
590 | }while(!on); | 545 | }while(!on); |
591 | 546 | ||
592 | fd = rb->open(BATTERY_LOG, O_RDONLY); | 547 | fd = rb->open(BATTERY_LOG, O_RDONLY); |
593 | if (fd < 0) | 548 | if (fd < 0) |
594 | { | 549 | { |