Rockbox

Tasklist

FS#11189 - separate mas35xx lowlevel stuff

Attached to Project: Rockbox
Opened by Marcin Bukat (MarcinBukat) - Wednesday, 07 April 2010, 21:08 GMT
Last edited by Marcin Bukat (MarcinBukat) - Sunday, 05 June 2011, 10:51 GMT
Task Type Patches
Category Drivers
Status Unconfirmed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Undecided
Due Date Undecided
Percent Complete 80%
Votes 0
Private No

Details

I did my best to separate mas lowlevel stuff from sound.c. I made various cleanups to handle mas code in more consistent way. I do not have any Archos device so this is not tested at all (although it compiles cleanly).
This task depends upon

Comment by Marcin Bukat (MarcinBukat) - Sunday, 11 April 2010, 12:08 GMT
Here I will spot some additional places where the MAS cleanup work is needed:
firmware/mp3_playback.c - contains SH specific code so should be moved to target specyfic file (at leas part of it)
apps/mpeg.c - contains a lot of code specific to MAS. This should be reviewed.

apps/plugin.h - exports a lot of MAS specific functions to be used in plugins

apps/plugins/starfield.c
apps/plugins/oscilloscope.c
apps/plugins/vu_meter.c
apps/plugins/splitedit.c - this plugins contain call to rb->mas_codec_readreg(0x0C) and rb->mas_codec_readreg(0x0D) to obtain peak value

apps/plugins/wavrecord.c
apps/plugins/wavplay.c - MAS specyfic

apps/recorder/radio.c - contains call to mas_codec_writereg(6, 0x4000);
apps/recorder/peakmeter.c - contains call to mas_codec_readreg(pm_src_left) and mas_codec_readreg(pm_src_right)
Comment by Marcin Bukat (MarcinBukat) - Sunday, 11 April 2010, 19:59 GMT
Removed warnings when compiling targets other than archos. This is only minor change to the initial patch.
Comment by Marcin Bukat (MarcinBukat) - Wednesday, 09 June 2010, 07:26 GMT
sync to r26704 and some further cleanups. As pointed by amiconn commitable version has to preserve files history so final patch will be functionally identical but prepared in slightly different way.
Comment by Marcin Bukat (MarcinBukat) - Friday, 11 June 2010, 18:54 GMT
created with git diff -M should preserve history
Comment by Marcin Bukat (MarcinBukat) - Saturday, 12 June 2010, 20:50 GMT
Finally tracked down what cause rejects. This is the same as above patch but with offending hunks removed by hand.
Comment by Marcin Bukat (MarcinBukat) - Monday, 14 June 2010, 21:04 GMT
last patch produced reject (patch --dry-run does not reveal this unfortunately). This is one *tested* to not produce rejects with current svn
Comment by Marcin Bukat (MarcinBukat) - Thursday, 30 September 2010, 08:15 GMT
synced to r28187, tested on Archos Studio (thanks to b0hoon for lending me the device)
Comment by Marianne Arnold (pixelma) - Tuesday, 19 October 2010, 23:19 GMT
I tested the patch on my OndioFM which has a different MAS than the Studio thus having some more sound settings, wav playback and recording (also wav recording).

Sound settings all seem to work correctly. I went through the complete sound settings menu and listened to the difference when changing the setting as well as comparing the ranges to a build without the patch.

Available recording settings are all the same if I saw correctly. Two short test recordings (one with the internal mic, one from radio) worked. I was just testing the standards though - e.g. the resulting average bitrate looked correct (respecting the quality setting)

A wav recording worked correctly and I could play back the file with wavplay which sounded correctly too.
Comment by Marcin Bukat (MarcinBukat) - Thursday, 21 October 2010, 20:06 GMT
Fix sim build for hwcodec targets.
Comment by Marcin Bukat (MarcinBukat) - Saturday, 23 October 2010, 17:18 GMT
Previous patch was screwed up for unknown reason. This one *should* be the correct one.
Comment by Marcin Bukat (MarcinBukat) - Sunday, 31 October 2010, 21:36 GMT
The patch was commited as r28425 and r28426. There are still some mas specific bits which will need review:
apps/mpeg.c

apps/plugins/starfield.c
apps/plugins/oscilloscope.c
apps/plugins/vu_meter.c
apps/plugins/splitedit.c - this plugins contain call to rb->mas_codec_readreg(0x0C) and rb->mas_codec_readreg(0x0D) to obtain peak value

apps/plugins/wavrecord.c
apps/plugins/wavplay.c - MAS specific (this can be left alone I think)

apps/recorder/radio.c - contains call to mas_codec_writereg(6, 0x4000);
apps/recorder/peakmeter.c - contains call to mas_codec_readreg(pm_src_left) and mas_codec_readreg(pm_src_right)


Loading...