Prepare new maemo release
[maemo-rb.git] / apps / plugins / test_boost.c
blobec91206d1e34eeeb075edd719d9912a7ce1e58cb
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2009 Björn Stenberg
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #include "plugin.h"
26 enum plugin_status plugin_start(const void* parameter)
28 (void)parameter;
29 bool done = false;
30 bool boost = false;
31 int count = 0;
32 int last_count = 0;
33 int last_tick = *rb->current_tick;
34 int per_sec = 0;
36 rb->lcd_setfont(FONT_SYSFIXED);
38 while (!done)
40 int j,x;
41 for (j=1; j<100000; j++)
42 x = j*11;
43 rb->screens[0]->clear_display();
44 rb->screens[0]->putsf(0, 0, "%s: %d",boost?"boost":"normal",count);
45 if (TIME_AFTER(*rb->current_tick, last_tick+HZ))
47 last_tick = *rb->current_tick;
48 per_sec = count-last_count;
49 last_count = count;
51 rb->screens[0]->putsf(0, 1, "loops/s: %d", per_sec);
52 rb->screens[0]->update();
53 count++;
55 switch (rb->get_action(CONTEXT_STD, TIMEOUT_NOBLOCK))
57 #ifdef HAVE_ADJUSTABLE_CPU_FREQ
58 case ACTION_STD_PREV:
59 if (!boost)
61 rb->cpu_boost(true);
62 boost = true;
64 break;
66 case ACTION_STD_NEXT:
67 if (boost)
69 rb->cpu_boost(false);
70 boost = false;
72 break;
73 #endif
74 case ACTION_STD_CANCEL:
75 done = true;
76 break;
80 return PLUGIN_OK;