Troubleshooting the Radio Music module - Spandex/RadioMusic GitHub Wiki
#Troubleshooting
##Before doing anything else
- Take a break, ideally overnight. It might be something really obvious (on breadboard, I've often torn up a circuit that wasn't working, before realising the power wasn't switched on)
- Check the soldering on every point. I sometimes tack one pin on a PCB socket, then forget to do the rest, which gives lots of spurious inconsistent problems
- If you can face it, check every resistor value
- Check the orientation of every diode, transistor, LED and IC
- Have you installed the ICs?
- Are you using inputs as outputs, or vice-versa? (This is a classic guitar pedal building mistake)
##Test Sketches
- BLINK: When installing Teensy Loader, you used two blink sketch .hex files to check the upload process was working. Reinstall these on the finished module. If you cut the power trace, you'll need both +/-12v ribbon cable power and USB power to make it work. If these sketches work, you know the Teensy is happy, and USB connection is healthy.
- MODULETEST.INO: To go further, you can try the module test sketch in the collateral folder. Details are on this page: Module Test
##Reset firmware settings file
- The firmware settings file can be edited ways that makes the module behave badly (i.e. excessively sensitive, glitchy).
- Details of the firmware settings are in the tweak your settings page
- To reset the settings file and start again, just put the SD card into a computer and delete settings.txt completely. The module will create a new settings.txt the next time it boots up
##Module Test works OK, but I can't get the module to work properly
If Module Test is OK, but the module still doesn't work when you put RadioMusic1_1.cpp.hex back onto the module
- First of all, take the SD card out; after a few seconds, you should see the 4 lights flash together, and after a few more, you'll hear a thump at the module output as it goes into a slow cycle of auto reboots.
- OK? the module firmware is installed and working OK.
- NOT OK? You haven't successfully installed the firmware.
- If the module is OK and the firmware is in, and it still doesn't work, there is something wrong with the SD card contents. Details
##How do I download .hex files from Github?
- Github can be slightly counterintuitive
- The easiest way to start is to navigate to the Radio Music homepage, and use the 'Download .zip' button on the right hand side about half way down. That gives you a bundle of the entire repository.
- If you need to download a specific file, navigate to the file, then click the 'Raw' button
- The file will either open in the browser or download
- You can 'right click' on the Raw button to choose 'download as' and grab the raw file
#Module FAQ
##What does the RESET button do?
Reset does this (from my memory)
- Check pot position (0-1023)
- Check CV input (0-1023)
- Average/smooth those readings
- Add them together & limit total to 1023
- Check length of current file (ie 1,000,000 bytes)
- Map the position to the length (ie knob + CV position = 50%, position = byte no. 500,000)
- Start playing from chosen position
If you then switch to another file, it will start from reset point + however long it's been playing since you pressed reset
It gets more complicated if you switch to a shorter file
File A = 1m bytes long, playing at position 505,000 when you move the channel pot to file B
File B = 100,000 bytes long, starts playing at byte 5,001. Move knob back to A, and it would restart at 5,001+ elapsed time
Would be easy enough to change that behaviour - add a store of play head positions for each file, if it was added to the issue log and a popular request
##Is there any easy way to implement an end of file trigger pulse?
The Reset input can electrically act as a digital CV out
I just wrote a random clock sketch (top pot = speed, bottom pot = randomness) in 5 minutes, and it works. (digitalWrite replaces digitalRead)
But I don't think I'd want to sacrifice reset in for EOF out.
##Can you develop firmware to read MP3s?
Paul Stoffregen: Just wanted to let you know Frank B is working on porting the Real Netwoks Helix MP3 code. Already a couple people have managed to get their Teensy to play MP3 files. The code is still pretty rough, but at least it is possible.
However, seeking in MP3 is tricky. The data is stored in 26 millisecond overlapping blocks, which isn't nearly as nice to work with as uncompressed audio. It also tends to eat up chunks of CPU time every 26 ms, which might add some noticeable latency.