This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#11266 - iPod FM Radio Remote
Attached to Project:
Rockbox
Opened by Hans Meyer (tourist08) - Thursday, 13 May 2010, 10:07 GMT+2
Last edited by Bertrik Sikken (bertrik) - Sunday, 17 April 2011, 11:45 GMT+2
Opened by Hans Meyer (tourist08) - Thursday, 13 May 2010, 10:07 GMT+2
Last edited by Bertrik Sikken (bertrik) - Sunday, 17 April 2011, 11:45 GMT+2
|
DetailsI´ve got still some bugs when using the original Apple Radio Remote
- The radio remote is only detected when plugging it in after rockbox has finished the booting process. And still then you have to refresh the main screen by going to an other menu to see the radio icon. - When the Radio Remote is detected and your are listening to mp3 or radio, changing the volume by using the iPod wheel is no longer possible. The volume icon in wps is changing but without any effect. Changing the volume with the remote is still working. - The radio screen shows RDS name and info, but there are shown only 7 characters. The RDS name should have 8 characters. This is the RDS standard and is used by the radio stations. I think the number of shown characters for the RDS info text could even be higher (64 characters). I think since |
This task depends upon
Closed by Bertrik Sikken (bertrik)
Sunday, 17 April 2011, 11:45 GMT+2
Reason for closing: Rejected
Additional comments about closing: Fixing this bug needs cooperation of the original bug submitter, which is lacking in this case.
Sunday, 17 April 2011, 11:45 GMT+2
Reason for closing: Rejected
Additional comments about closing: Fixing this bug needs cooperation of the original bug submitter, which is lacking in this case.
Let's try this:
- connect the remote so that it can work;
- set the volume using the remote control;
- change the volume using the target scroll wheel;
- now, if you change again the volume using the remote, the delta is applied to the old level set by the remote. You will feel a noticeable "step" in the volume level change.
Is it possible to apply the volume control to the dock connector when the ipod radio remote is connected?
Because in this case of using the radio remote a fixed line out is not useful in my opinion.
If I had to guess, I would suspect that the Apple firmware *sends commands* to the remote, to tell *it* to turn the volume up and down, when you change the volume using the wheel... I could be wrong though.
Perhaps rockbox is going a completely other way. Nevertheless I think (hope) it should be possible to fix it.
I tested again the behaviour of the remote right now:
If I set the volume using the remote (for example -20 dB) and then try to change the volume by using the scroll wheel it´s only possible to lower and then raise the volume in between -60 dB and -90 dB.
The space in which the scroll wheel is changing the volume (-60 - -90 dB) is fix and does not depend on the volume setting by the remote.
If I have lowered the volume by the scroll wheel and then use volume buttons of the remote, the volume jumps back to level which was setted before.
The bottom range of the volume, -60 to -90, is indeed implemented by prescaling the digital audio in software, which is why that works. The ipod's hardware volume control only goes down to -60.
When changing the volume, the back light doesn't turn on, but when you skip to next or previous track or press play/pause, the back light is switched on.
My feeling is that the different events sent by the remote are managed at different level in the "stack" of drivers.
I don't know the RB architecture, but I suppose that there is a sort of abstraction layer for the events received by the dock connector, one for the click wheel, one for the display, and so on. If this is quite right, it seems that the volume events are received directly by the DSP system, and the track control events are enqueued as if they arrived from the click wheel.
But it can't be so, because with "Long play" on the remote while in stop, it doesn't switch the target off... It might be funny for me to debug it, but my real life is calling...
Fixes:
fmremote_rds.patch should fix the RDS displaying only 7 characters. I believe there is some misunderstanding by the original author about strlcpy: the third argument specifies the size of the destination buffer, not the amount of characters to copy. I'm not completely sure if my fix is correct because I don't have any documentation for the fmremote radio protocol, I'm assuming here that the remote sends null-terminated RDS text.
Clean-ups:
fmremote_functions.patch cleans up global functions (making them static where possible)
fmremote_variables.patch cleans up global variables (making them static where possible) and fixes the type of some variables
fmremote_const makes byte arrays const where possible
Hans, please try if the RDS fix works. Also please try if the remote radio still works OK with the clean-up patches.
The patches can be applied with "patch -p0 <fmremote_XXX.patch", don't worry about warnings about Hunks getting applied with offset (as long as they succeed)
NOTE: Apparently the iPod Radio works on the first five nanos and the first gen video as well.
Has is been enabled for the iPod Video yet? In daily, recent, or release builds?
Attached is the fmremote_rds_v2.patch updated to current SVN.
Please test and report if the name is now indeed 8 characters long and if the 64-character radio text is now displayed correctly.