Page 1 of 1

VS1000 skip to timecode

Posted: Mon 2019-12-30 23:02
by mikefish
Hi, is there a way or command with the default firmware to tell the VS1000 to go to a certain timecode of a song? I know I can get the current position with the "?"

I'm connecting the chip to an ATEMGA328. The use case would be during a power outage I can use a saved value in the EEPROM to resume at a certain spot.

Thanks!

Re: VS1000 skip to timecode

Posted: Tue 2019-12-31 16:30
by pasi
The vs1000 audio module firmware doesn't have that function, but the Ogg Vorbis decoder has it, so it could be added as a new uart command.

Set the codec services structure field goTo to the seconds you want to jump to. ( cs.goTo = seconds; )

The play routine sets this to -1, so you have to start the playback first, then set the field.

Re: VS1000 skip to timecode

Posted: Tue 2019-12-31 23:54
by mikefish
Thanks for that quick reply! This is my first adventure into these ICs, I normally have worked only with coding Arduinos so editing the firmware isn't something I know how to do (yet!)

I'm going to explore VSIDE but can you elaborate just a little on where I would "Set the codec services structure field goTo"

I'm assuming I need to modify the default firmware and update the chip?

Also, is the firmware the same on the VS1000 (not audio module)? I got both to prototype with but as of now I'm just using the module.

Thanks again!

Re: VS1000 skip to timecode

Posted: Thu 2020-01-02 11:35
by pasi
VS1000 has ROM firmware which can load code from SPI memory or from NAND FLASH. The ROM firmware also supports a custom NAND FLASH low-level mapper (bad block management), for USB Mass Storage and playing files from NAND FLASH.

However, the ROM firmware doesn't support SPI FLASH / EEPROM player or SD card. So, the VS1000 Audio Module firmware has to implement those functions by programs that are loaded from the first 64kB of the SPI FLASH (populated on the module). There are actually 4 different programs in the Audio Module firmware to handle USB Mass Storage for SPI FLASH, playback from SPI FLASH, Mass Storage for uSD, and playback from uSD. You can find more information in the VSMD001 documentation. The VSIDE solution is available from http://www.vlsi.fi/en/support/software/ ... tions.html .

There is also a document http://www.vlsi.fi/fileadmin/software/V ... 1-prog.pdf which tells how to reprogram the module using UART. You can also program using pcflash.exe ( http://www.vlsi.fi/en/support/software/vs1000tools.html ) or using a uSD card ( http://www.vsdsp-forum.com/phpbb/viewto ... ?f=8&t=461 ).