I'm embarrassed to say that I have been trying to fix this problem for the better part of 2 months and I still haven't found a viable solution. The problem is: After a certain amount of time, say 8-12 hours, my Adafruit Music Maker shield connected to arduino uno breaks- it stalls out and seems to be playing many different notes at once. I have been through both the arduino and Adafruit forums and haven't been able to figure this thing out. Here is the adafruit discussion: https://forums.adafruit.com/viewtopic.php?f=31&t=188518
As you can see, the music shield is part of a pretty cool project and it is a shame that this component is not working as I intended. I have tried to do the following things:
- Fix the actual problem, as in making the music shield NOT break after 12 hours. Honestly I have no idea why this is happening in the first place, there was a discussion on this site about possible push / pop stack misalignment or something but I think we concluded in the last forum that this wasn't the same issue. Kinda got a little confused here. So I pretty much gave up trying to solve this issue. If you have any suggestions, please let me know.
- Make the shield RESET after a certain amount of time, say 3 hours, so that whatever issue that arises after 8 hours is always prevented. It appears that the reset command in the test MIDI script found at https://github.com/adafruit/Adafruit_VS ... ditest.ino is NOT actually resetting the chip in the way that I want:
The reason I say this is not working how I want is because when the problem does arise, I am able to press the RESET button on the Adafruit Music Maker Shield and it DOES fix the issue. I was hoping the accomplish the same result by resetting the 1053 chip programmatically but it appears that it is not actually doing anything.
Code: Select all
pinMode(VS1053_RESET, OUTPUT); digitalWrite(VS1053_RESET, LOW); delay(10); digitalWrite(VS1053_RESET, HIGH); delay(10);
Right now I am just running the sample midi program (linked above) with the 1053 reset command every 15 seconds.
The solution I am looking for does not have to be perfect. It can be ugly. I don't care. I just want this thing to work. Thank you