summaryrefslogtreecommitdiff
path: root/apps/plugins/battery_bench.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/battery_bench.c')
-rw-r--r--apps/plugins/battery_bench.c97
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)
381static unsigned int charge_state(void) 336static 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 {