Hello! Good news!
After inquiring with a 'veteran' EE with much experience in low-level embedded programming, I found that defining new defaults was as simple as editing file c1103.s, I have successfully gotten the standalone player to pause and wait for a new song selection and play request.
For the benefit of those who attempt to do what I've done here with limited knowledge as I had before I began this interesting task many weeks ago, I will summarize for their benefit.
VLSI product in question:
VSMD003
Original (detailed) statement of goal:
Use a part that was previously purchased (and that I found, with no knowledge of current firmware) to allow the loading of, and subsequent serially-controlled playing of, WAV audio clips from a standard 2 GB microSD card.
Steps:
1. Do a (surprisingly) exhaustive internet search and identify the designer and technical specifications of this very capable module.
2. Read everything I could find on what it is, how to breadboard the module, what it has on it, how it works, where and how to program it, and attempt to use default firmware source code files to compile and load firmware images in an attempt to solve the original problem.
3. Use UB232 USB-to-serial cable to both power and flash to the device using cmd.exe (Windows) and this code
Code: Select all
pcmodflash -l sdeeprom.img -p 3 -sm 4
by first REMOVING SD CARD and holding CS1 (module pin 12) to ground as power is applied to tell the device we want to program it.
4. Inquire about firmware on this (very helpful) forum.
5. Successfully generate proper "sdeeprom.img" EEPROM firmware image and do an initial test in playing WAV audio files. In the default configuration, the files play one after the other, auto-incrementing and repeating forever.
6. Review c1103.s 'defaults' file and identify this code
as the line that controls, among other things, the default behavior of the firmware on power-on.
7. Change "0" to "0x0004" to tell the internal control register that I want to pause audio on power-on.
8. Repeat step #5 and #3 to re-compile with new default and re-flash the device
9. Send bytes
at 9,600 8N1 to choose the first file and then send bytes
to play the file.
10. (a note) if the last group of bytes is sent, it will play whatever the next file is, and will repeat this behavior, unless a different file is chosen by the former string of bytes.
Now that the device works satisfactorily and is able to be successfully communicated with, it will be incorporated into a redesign of our new product.
Special thank you to 'pasi' of VLSI for your help and patience! Greetings and good day from TX, USA..!