mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 13:12:37 -05:00
Sansa Clip+: add RDS support
Based on a patch by Amaury Pouly which was based on a patch from Ryan Hitchman. I mainly moved the code for polling into the tuner driver so it can be reused by other targets. I added the CONFIG parameter for the polling frequency (in ticks) to save energy. Also, I did some minor cleanups. Change-Id: I95a62e7e1e42c62dbf47ecb27a3b312a42be62aa
This commit is contained in:
parent
701d4ba77e
commit
de0346065b
6 changed files with 76 additions and 2 deletions
|
|
@ -185,6 +185,11 @@ int fmradio_i2c_read(unsigned char address, unsigned char* buf, int count)
|
|||
}
|
||||
|
||||
#ifdef HAVE_RDS_CAP
|
||||
/* On the Sansa Clip Zip, the tuner interrupt line is routed to the SoC so we
|
||||
* can use to detect when a RDS packet is ready. On the Clip+, we have to
|
||||
* regularly poll. */
|
||||
|
||||
#if !(CONFIG_RDS & RDS_CFG_POLL)
|
||||
/* Low-level RDS Support */
|
||||
static struct semaphore rds_sema;
|
||||
static uint32_t rds_stack[DEFAULT_STACK_SIZE/sizeof(uint32_t)];
|
||||
|
|
@ -231,4 +236,5 @@ void si4700_rds_init(void)
|
|||
create_thread(rds_thread, rds_stack, sizeof(rds_stack), 0, "rds"
|
||||
IF_PRIO(, PRIORITY_REALTIME) IF_COP(, CPU));
|
||||
}
|
||||
#endif /* !(CONFIG_RDS & RDS_CFG_POLL) */
|
||||
#endif /* HAVE_RDS_CAP */
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ void INT_GPIOA(void)
|
|||
void button_gpioa_isr(void);
|
||||
button_gpioa_isr();
|
||||
#endif
|
||||
#ifdef HAVE_RDS_CAP
|
||||
#if defined(HAVE_RDS_CAP) && !(CONFIG_RDS & RDS_CFG_POLL)
|
||||
void tuner_isr(void);
|
||||
tuner_isr();
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue