Re: RDS support in Rockbox

2011-11-05 Thread Michael Sevakis
I don't know how to do an async i2c driver. Queue transfer descriptors in a linked list and have the i2c interrupt service them, in queue order, calling a callback when each is completed. Yes, it must be interrupt based. I guess it's just the codec i2c driver on AMS that is like that. On i.M

Re: RDS support in Rockbox

2011-11-05 Thread Bertrik Sikken
On 5-11-2011 4:40, Michael Sevakis wrote: >>> I think you misunderstood my point, you can implement it differently >>> with another hardware without any problem. The proposed rds_ >>> interface doen't imply a particular way of doing things, is it ? > > It was not specific as far as what level had

Re: RDS support in Rockbox

2011-11-05 Thread Bertrik Sikken
On 5-11-2011 12:53, Michael Sevakis wrote: > - Original Message - From: "Bertrik Sikken" >> The Si4703 can be configured to capture one RDS packet, then >> raise an pin voltage for 5 ms. My plan is to attach an interrupt >> to this event that wakes up a high-prio thread to read the RDS >>

Re: RDS support in Rockbox

2011-11-05 Thread Michael Sevakis
I think you misunderstood my point, you can implement it differently with another hardware without any problem. The proposed rds_ interface doen't imply a particular way of doing things, is it ? It was not specific as far as what level had a thread. If it's at the bottom layer in the driver an

Re: RDS support in Rockbox

2011-11-05 Thread Amaury Pouly
> Using another thread is probably (maybe) overkill on AMSv2 and i.MX31 and > RDS isn't exactly a data flood so doing it without a thread from an I2C > interrupt callback is probably economical. I'm not sure if any AMSv2 > players actually have an int line from the tuner chip though. The latter as

Re: RDS support in Rockbox

2011-11-04 Thread Michael Sevakis
Using another thread is probably (maybe) overkill on AMSv2 and i.MX31 and RDS isn't exactly a data flood so doing it without a thread from an I2C interrupt callback is probably economical. I'm not sure if any AMSv2 players actually have an int line from the tuner chip though. The latter as I rec

Re: RDS support in Rockbox

2011-11-04 Thread Amaury Pouly
> > I doubt all that is necessary especially with a tuner GPIO interrupt > available in at least some cases and possibly the introduction of an async > I2C driver (not too hard really). I'd suggest not imposing a particular > interface on all hardware but have the hardware implement those details

Re: RDS support in Rockbox

2011-11-04 Thread Michael Sevakis
- Original Message - From: "Bertrik Sikken" To: "Rockbox development" Sent: Friday, November 04, 2011 4:52 PM Subject: RDS support in Rockbox The Si4703 can be configured to capture one RDS packet, then raise an pin voltage for 5 ms. My plan is to attach an int

Re: RDS support in Rockbox

2011-11-04 Thread Amaury Pouly
> > I'm thinking of the following interface: > - int rds_process(uint16_t data[4]) > which returns a number indicating what kind of data has been > received. When something is received, the fm tuner driver can call > a function to get a copy of the RDS data, something like: > - bool rds_get_station

RDS support in Rockbox

2011-11-04 Thread Bertrik Sikken
Hi all, This is a proposal for extending RDS support in Rockbox. Since I now have a stable target with hardware that supports RDS (The Clip Zip, which has Si4703), I can really start working on this. * What is RDS RDS is a system for delivering data over FM radio. It's formatted into 8