summaryrefslogtreecommitdiff
path: root/firmware/target/sh/archos
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/sh/archos')
-rw-r--r--firmware/target/sh/archos/audio-archos.c23
-rw-r--r--firmware/target/sh/archos/i2c-archos.c2
-rw-r--r--firmware/target/sh/archos/mascodec-archos.c6
3 files changed, 10 insertions, 21 deletions
diff --git a/firmware/target/sh/archos/audio-archos.c b/firmware/target/sh/archos/audio-archos.c
index e2d8b6f157..9dfcb9cb97 100644
--- a/firmware/target/sh/archos/audio-archos.c
+++ b/firmware/target/sh/archos/audio-archos.c
@@ -52,10 +52,6 @@ extern unsigned shadow_codec_reg0;
52static bool paused; /* playback is paused */ 52static bool paused; /* playback is paused */
53static bool playing; /* We are playing an MP3 stream */ 53static bool playing; /* We are playing an MP3 stream */
54 54
55/* for measuring the play time */
56static long playstart_tick;
57static long cumulative_ticks;
58
59/* the registered callback function to ask for more mp3 data */ 55/* the registered callback function to ask for more mp3 data */
60static void (*callback_for_more)(unsigned char**, size_t*); 56static void (*callback_for_more)(unsigned char**, size_t*);
61 57
@@ -461,6 +457,7 @@ void mp3_shutdown(void)
461 457
462/* new functions, to be exported to plugin API */ 458/* new functions, to be exported to plugin API */
463 459
460#if CONFIG_CODEC == MAS3587F
464void mp3_play_init(void) 461void mp3_play_init(void)
465{ 462{
466#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 463#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
@@ -469,8 +466,8 @@ void mp3_play_init(void)
469 playing = false; 466 playing = false;
470 paused = true; 467 paused = true;
471 callback_for_more = NULL; 468 callback_for_more = NULL;
472 mp3_reset_playtime();
473} 469}
470#endif
474 471
475void mp3_play_data(const unsigned char* start, int size, 472void mp3_play_data(const unsigned char* start, int size,
476 void (*get_more)(unsigned char** start, size_t* size) /* callback fn */ 473 void (*get_more)(unsigned char** start, size_t* size) /* callback fn */
@@ -503,13 +500,11 @@ void mp3_play_pause(bool play)
503 { /* resume playback */ 500 { /* resume playback */
504 SCR0 |= 0x80; 501 SCR0 |= 0x80;
505 paused = false; 502 paused = false;
506 playstart_tick = current_tick;
507 } 503 }
508 else if (!paused && !play) 504 else if (!paused && !play)
509 { /* stop playback */ 505 { /* stop playback */
510 SCR0 &= 0x7f; 506 SCR0 &= 0x7f;
511 paused = true; 507 paused = true;
512 cumulative_ticks += current_tick - playstart_tick;
513 } 508 }
514} 509}
515 510
@@ -536,20 +531,6 @@ void mp3_play_stop(void)
536#endif 531#endif
537} 532}
538 533
539long mp3_get_playtime(void)
540{
541 if (paused)
542 return cumulative_ticks;
543 else
544 return cumulative_ticks + current_tick - playstart_tick;
545}
546
547void mp3_reset_playtime(void)
548{
549 cumulative_ticks = 0;
550 playstart_tick = current_tick;
551}
552
553bool mp3_is_playing(void) 534bool mp3_is_playing(void)
554{ 535{
555 return playing; 536 return playing;
diff --git a/firmware/target/sh/archos/i2c-archos.c b/firmware/target/sh/archos/i2c-archos.c
index b3a53240b4..5b415926f2 100644
--- a/firmware/target/sh/archos/i2c-archos.c
+++ b/firmware/target/sh/archos/i2c-archos.c
@@ -234,6 +234,7 @@ int i2c_write(int address, const unsigned char* buf, int count )
234 return x; 234 return x;
235} 235}
236 236
237#if 0 /* Currently unused, left for reference and future use */
237int i2c_read(int address, unsigned char* buf, int count ) 238int i2c_read(int address, unsigned char* buf, int count )
238{ 239{
239 int i,x=0; 240 int i,x=0;
@@ -250,3 +251,4 @@ int i2c_read(int address, unsigned char* buf, int count )
250 i2c_stop(); 251 i2c_stop();
251 return x; 252 return x;
252} 253}
254#endif
diff --git a/firmware/target/sh/archos/mascodec-archos.c b/firmware/target/sh/archos/mascodec-archos.c
index 1eb6e1044d..faa5c7ef2b 100644
--- a/firmware/target/sh/archos/mascodec-archos.c
+++ b/firmware/target/sh/archos/mascodec-archos.c
@@ -30,6 +30,7 @@
30 30
31static int mas_devread(unsigned long *dest, int len); 31static int mas_devread(unsigned long *dest, int len);
32 32
33#if 0 /* Currently unused, left for reference and future use */
33int mas_default_read(unsigned short *buf) 34int mas_default_read(unsigned short *buf)
34{ 35{
35 unsigned char *dest = (unsigned char *)buf; 36 unsigned char *dest = (unsigned char *)buf;
@@ -62,7 +63,9 @@ int mas_default_read(unsigned short *buf)
62 i2c_end(); 63 i2c_end();
63 return ret; 64 return ret;
64} 65}
66#endif
65 67
68#if CONFIG_CODEC == MAS3507D
66int mas_run(unsigned short address) 69int mas_run(unsigned short address)
67{ 70{
68 int ret = 0; 71 int ret = 0;
@@ -83,6 +86,7 @@ int mas_run(unsigned short address)
83 i2c_end(); 86 i2c_end();
84 return ret; 87 return ret;
85} 88}
89#endif
86 90
87/* note: 'len' is number of 32-bit words, not number of bytes! */ 91/* note: 'len' is number of 32-bit words, not number of bytes! */
88int mas_readmem(int bank, int addr, unsigned long* dest, int len) 92int mas_readmem(int bank, int addr, unsigned long* dest, int len)
@@ -307,6 +311,7 @@ void mas_reset(void)
307} 311}
308 312
309#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 313#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
314#if 0 /* Currently unused, left for reference and future use */
310int mas_direct_config_read(unsigned char reg) 315int mas_direct_config_read(unsigned char reg)
311{ 316{
312 int ret = 0; 317 int ret = 0;
@@ -340,6 +345,7 @@ int mas_direct_config_read(unsigned char reg)
340 i2c_end(); 345 i2c_end();
341 return ret; 346 return ret;
342} 347}
348#endif
343 349
344int mas_direct_config_write(unsigned char reg, unsigned int val) 350int mas_direct_config_write(unsigned char reg, unsigned int val)
345{ 351{