Help in configuring ADMixer plugin for VS1053
Posted: Wed 2020-02-26 1:27
Hi all,
I've been trying to get the ADmixer plugin working for a couple days with no luck, I've been getting some odd behavior.
Right now I can do the following separately:
- Record audio to OGG format.
- Playback OGG file
- passthrough input audio to output with ADMixer.
The only way I've been able to get ADMixer to output anything is by loading the .plg formatted blob, then setting the input flag. It will begin without ever setting 0x0F00 to SCI_ADDR.
When I try to configure this in the standard way, ie:
loadUserCode()
writeRegister(SCI_MODE, readRegister(SCI_MODE) | 0x4000)
writeRegister(SCI_AICTRL0, 0xFFFA)
writeRegister(SCI_ADDR, 0x0F00)
I get no output and it seems to lock up the VS1053 slave. It may be important that the library i'm using is using a virtual SPI bus because the SD card reader takes up the SPI bus. This is done before any other plugin is loaded, and before playback of a file is started. If I write 0xF01 to SCI_ADDR before loading the plugin, it will continue to load, playback will work, but there will be no monitoring coming through.
I'm getting quite frustrated as the manual for this plugin is very brief. I was hoping someone could relay the do's and dont's with this plugin, how it interacts with other plugins, specifically the OGG encoder plugin, and if I'm missing any patches I'm unaware of. The ones I saw for the 1053 don't seem to apply but I may be wrong.
Thanks for your time. I'm really hoping to get this working and make the code public so that others can also try it out.
I've been trying to get the ADmixer plugin working for a couple days with no luck, I've been getting some odd behavior.
Right now I can do the following separately:
- Record audio to OGG format.
- Playback OGG file
- passthrough input audio to output with ADMixer.
The only way I've been able to get ADMixer to output anything is by loading the .plg formatted blob, then setting the input flag. It will begin without ever setting 0x0F00 to SCI_ADDR.
When I try to configure this in the standard way, ie:
loadUserCode()
writeRegister(SCI_MODE, readRegister(SCI_MODE) | 0x4000)
writeRegister(SCI_AICTRL0, 0xFFFA)
writeRegister(SCI_ADDR, 0x0F00)
I get no output and it seems to lock up the VS1053 slave. It may be important that the library i'm using is using a virtual SPI bus because the SD card reader takes up the SPI bus. This is done before any other plugin is loaded, and before playback of a file is started. If I write 0xF01 to SCI_ADDR before loading the plugin, it will continue to load, playback will work, but there will be no monitoring coming through.
I'm getting quite frustrated as the manual for this plugin is very brief. I was hoping someone could relay the do's and dont's with this plugin, how it interacts with other plugins, specifically the OGG encoder plugin, and if I'm missing any patches I'm unaware of. The ones I saw for the 1053 don't seem to apply but I may be wrong.
Thanks for your time. I'm really hoping to get this working and make the code public so that others can also try it out.