diff options
Diffstat (limited to 'apps/plugins/battery_test.c')
-rw-r--r-- | apps/plugins/battery_test.c | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/apps/plugins/battery_test.c b/apps/plugins/battery_test.c deleted file mode 100644 index cbea016d13..0000000000 --- a/apps/plugins/battery_test.c +++ /dev/null @@ -1,159 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2004 Björn Stenberg - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#include "plugin.h" - -/* This plugin is designed to measure your battery performance in real-time. - It will create a big file, read it every ~90 seconds and log the - battery level in /battery.log - - When battery level goes below 5% the plugin exits, to avoid writing to - disk in very low battery situations. - - Note that this test will run for 10-15 hours or more and is very boring - to watch. -*/ - -PLUGIN_HEADER - -/* variable button definitions */ -#if CONFIG_KEYPAD == RECORDER_PAD -#define BATTERY_TEST_QUIT BUTTON_OFF -#elif CONFIG_KEYPAD == ONDIO_PAD -#define BATTERY_TEST_QUIT BUTTON_OFF -#elif CONFIG_KEYPAD == PLAYER_PAD -#define BATTERY_TEST_QUIT BUTTON_STOP -#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ - (CONFIG_KEYPAD == IRIVER_H300_PAD) -#define BATTERY_TEST_QUIT BUTTON_OFF -#define BATTERY_TEST_RC_QUIT BUTTON_RC_STOP -#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD -#define BATTERY_TEST_QUIT BUTTON_PLAY -#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ - (CONFIG_KEYPAD == IPOD_3G_PAD) -#define BATTERY_TEST_QUIT BUTTON_MENU -#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD) -#define BATTERY_TEST_QUIT BUTTON_POWER -#elif (CONFIG_KEYPAD == GIGABEAT_PAD) -#define BATTERY_TEST_QUIT BUTTON_A -#endif - -static struct plugin_api* rb; - -void* buffer; -int buffersize; - -int init(void) -{ - int f; - buffer = rb->plugin_get_audio_buffer(&buffersize); - -#ifdef HAVE_MMC - /* present info what's going on. MMC is slow. */ - rb->splash(0, true, "Creating dummy file."); -#endif - - /* create a big dummy file */ - f = rb->creat("/battery.dummy", O_WRONLY); - if (f<0) { - rb->splash(HZ, true, "Can't create /battery.dummy"); - return -1; - } - rb->write(f, buffer, buffersize); - rb->close(f); - - return 0; -} - -enum plugin_status loop(void) -{ - while (true) { - struct tm* t; - char buf[80]; - int f; - int batt = rb->battery_level(); - int button; - - /* stop measuring when <5% battery left */ - if ((batt > 0) && (batt < 5)) - break; - - /* log current time */ - f = rb->open("/battery.log", O_WRONLY | O_APPEND | O_CREAT); - if (f<0) { - rb->splash(HZ, true, "Failed creating /battery.log"); - break; - } -#ifdef CONFIG_RTC - t = rb->get_time(); -#else - { - static struct tm temp; - long t2 = *rb->current_tick/HZ; - temp.tm_hour=t2/3600; - temp.tm_min=(t2/60)%60; - temp.tm_sec=t2%60; - t=&temp; - } -#endif - rb->snprintf(buf, sizeof buf, "%02d:%02d:%02d Battery %d%%\n", - t->tm_hour, t->tm_min, t->tm_sec, batt); - rb->write(f, buf, rb->strlen(buf)); - rb->close(f); - - rb->snprintf(buf, sizeof buf, "%02d:%02d:%02d Battery %d%%%%", - t->tm_hour, t->tm_min, t->tm_sec, batt); - rb->splash(0, true, buf); - - /* simulate 128 kbit/s (16000 byte/s) playback duration */ - rb->button_clear_queue(); - button = rb->button_get_w_tmo(HZ * buffersize / 16000 - HZ*10); - - if (button == BATTERY_TEST_QUIT -#ifdef BATTERY_TEST_RC_QUIT - || button == BATTERY_TEST_RC_QUIT -#endif - ) - return PLUGIN_OK; - - if (rb->default_event_handler(button) == SYS_USB_CONNECTED) - return PLUGIN_USB_CONNECTED; - - /* simulate filling the mp3 buffer */ - f = rb->open("/battery.dummy", O_RDONLY); - if (f<0) { - rb->splash(HZ, true, "Failed opening /battery.dummy"); - break; - } - rb->read(f, buffer, buffersize); - rb->close(f); - } - return PLUGIN_OK; -} - -enum plugin_status plugin_start(struct plugin_api* api, void* parameter) -{ - (void)parameter; - rb = api; - - if (init() < 0) - return PLUGIN_OK; - - return loop(); -} - |