summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-07-26 20:01:11 +0000
committerJens Arnold <amiconn@rockbox.org>2005-07-26 20:01:11 +0000
commite44372ef18cbf30f0e174ed76be4ee4e6206f2cc (patch)
tree8860863bbfb7a6151173e7428900d9de2bdbba73 /apps/plugins
parentc20a00ef3e35b15acf422a2e7f6716abde840c24 (diff)
downloadrockbox-e44372ef18cbf30f0e174ed76be4ee4e6206f2cc.zip
rockbox-e44372ef18cbf30f0e174ed76be4ee4e6206f2cc.tar.gz
rockbox-e44372ef18cbf30f0e174ed76be4ee4e6206f2cc.tar.bz2
rockbox-e44372ef18cbf30f0e174ed76be4ee4e6206f2cc.tar.xz
Moved implementation of user timer to the firmware layer, implemented it for iriver, and made it shareable based on priorities. On iriver, the user timer is shared between the backlight fading and other use, so if a plugin registers the timer, the backlight will resort to simple on/off switching until the plugin releases the timer again. Sorted and bumped the plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7242 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/alpine_cdc.c8
-rw-r--r--apps/plugins/lib/gray_core.c4
-rw-r--r--apps/plugins/metronome.c4
-rw-r--r--apps/plugins/oscilloscope.c4
-rw-r--r--apps/plugins/video.c16
5 files changed, 18 insertions, 18 deletions
diff --git a/apps/plugins/alpine_cdc.c b/apps/plugins/alpine_cdc.c
index 7c014a2..5dd8b4a 100644
--- a/apps/plugins/alpine_cdc.c
+++ b/apps/plugins/alpine_cdc.c
@@ -230,15 +230,15 @@ void timer_set_mode(int mode)
if (mode == TM_RX_TIMEOUT)
{
- rb->plugin_register_timer(gTimer.timeout, 11, timer4_isr);
+ rb->timer_register(1, NULL, gTimer.timeout, 11, timer4_isr);
}
else if (mode == TM_TRANSMIT)
{
- rb->plugin_register_timer(gTimer.transmit, 14, timer4_isr);
+ rb->timer_register(1, NULL, gTimer.transmit, 14, timer4_isr);
}
else
{
- rb->plugin_unregister_timer();
+ rb->timer_unregister();
}
}
@@ -252,7 +252,7 @@ void timer4_isr(void) /* IMIA4 */
break;
case TM_RX_TIMEOUT:
receive_timeout_isr();
- rb->plugin_unregister_timer(); /* single shot */
+ rb->timer_unregister(); /* single shot */
break;
default:
timer_set_mode(TM_OFF); /* spurious interrupt */
diff --git a/apps/plugins/lib/gray_core.c b/apps/plugins/lib/gray_core.c
index 18b9c3c..361b392 100644
--- a/apps/plugins/lib/gray_core.c
+++ b/apps/plugins/lib/gray_core.c
@@ -257,11 +257,11 @@ void gray_show(bool enable)
if (enable)
{
_gray_info.flags |= _GRAY_RUNNING;
- _gray_rb->plugin_register_timer(FREQ / 67, 1, _timer_isr);
+ _gray_rb->timer_register(1, NULL, FREQ / 67, 1, _timer_isr);
}
else
{
- _gray_rb->plugin_unregister_timer();
+ _gray_rb->timer_unregister();
_gray_info.flags &= ~_GRAY_RUNNING;
_gray_rb->lcd_update(); /* restore whatever there was before */
}
diff --git a/apps/plugins/metronome.c b/apps/plugins/metronome.c
index 3793fd9..fa5520b 100644
--- a/apps/plugins/metronome.c
+++ b/apps/plugins/metronome.c
@@ -235,7 +235,7 @@ void cleanup(void *parameter)
{
(void)parameter;
- rb->plugin_unregister_timer();
+ rb->timer_unregister();
rb->mp3_play_stop(); /* stop audio ISR */
led(0);
}
@@ -278,7 +278,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter){
rb->mp3_play_stop(); // stop audio ISR
calc_period();
- rb->plugin_register_timer(((*rb->cpu_frequency)/1024), 1, timer_callback);
+ rb->timer_register(1, NULL, (*rb->cpu_frequency)/1024, 1, timer_callback);
draw_display();
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c
index ae77f33..f5e5189 100644
--- a/apps/plugins/oscilloscope.c
+++ b/apps/plugins/oscilloscope.c
@@ -192,7 +192,7 @@ void cleanup(void *parameter)
{
(void)parameter;
- rb->plugin_unregister_timer();
+ rb->timer_unregister();
}
enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
@@ -205,7 +205,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
(void)parameter;
rb = api;
- rb->plugin_register_timer(FREQ / 67, 1, timer_isr);
+ rb->timer_register(1, NULL, FREQ / 67, 1, timer_isr);
while (!exit)
{
diff --git a/apps/plugins/video.c b/apps/plugins/video.c
index b4b27e0..1a288ee 100644
--- a/apps/plugins/video.c
+++ b/apps/plugins/video.c
@@ -388,7 +388,7 @@ void timer4_isr(void)
else
{
gPlay.bVideoUnderrun = true;
- rb->plugin_unregister_timer(); // disable ourselves
+ rb->timer_unregister(); // disable ourselves
return; // no data available
}
}
@@ -490,7 +490,7 @@ int SeekTo(int fd, int nPos)
if (gPlay.bHasAudio)
rb->mp3_play_stop(); // stop audio ISR
if (gPlay.bHasVideo)
- rb->plugin_unregister_timer(); // stop the timer
+ rb->timer_unregister(); // stop the timer
rb->lseek(fd, nPos, SEEK_SET);
@@ -538,9 +538,9 @@ int SeekTo(int fd, int nPos)
gPlay.bVideoUnderrun = false;
// start display interrupt
#if FREQ == 12000000 /* Ondio speed kludge */
- rb->plugin_register_timer(gPlay.nFrameTimeAdjusted, 1, timer4_isr);
+ rb->timer_register(1, NULL, gPlay.nFrameTimeAdjusted, 1, timer4_isr);
#else
- rb->plugin_register_timer(gFileHdr.video_frametime, 1, timer4_isr);
+ rb->timer_register(1, NULL, gFileHdr.video_frametime, 1, timer4_isr);
#endif
}
@@ -553,7 +553,7 @@ void Cleanup(void *fd)
rb->close(*(int*)fd); // close the file
if (gPlay.bHasVideo)
- rb->plugin_unregister_timer(); // stop video ISR, now I can use the display again
+ rb->timer_unregister(); // stop video ISR, now I can use the display again
if (gPlay.bHasAudio)
rb->mp3_play_stop(); // stop audio ISR
@@ -705,7 +705,7 @@ int PlayTick(int fd)
if (gPlay.bHasAudio)
rb->mp3_play_pause(false); // pause audio
if (gPlay.bHasVideo)
- rb->plugin_unregister_timer(); // stop the timer
+ rb->timer_unregister(); // stop the timer
}
else if (gPlay.state == paused)
{
@@ -719,10 +719,10 @@ int PlayTick(int fd)
if (gPlay.bHasVideo)
{ // start the video
#if FREQ == 12000000 /* Ondio speed kludge */
- rb->plugin_register_timer(
+ rb->timer_register(1, NULL,
gPlay.nFrameTimeAdjusted, 1, timer4_isr);
#else
- rb->plugin_register_timer(
+ rb->timer_register(1, NULL,
gFileHdr.video_frametime, 1, timer4_isr);
#endif
}