Giter VIP home page Giter VIP logo

Comments (6)

hoosierEE avatar hoosierEE commented on July 25, 2024

My PR did not actually fix the eventual freeze; I just hadn't waited long enough to find that out.
It still freezes after a while (at which point the entire sketch locks up). My current (not ideal) workaround is to manually call feedBuffer() and do a softReset() every once in a while.

from adafruit_vs1053_library.

s00500 avatar s00500 commented on July 25, 2024

Is there any better solution to this yet?
Thanks
Lukas

from adafruit_vs1053_library.

PaulStoffregen avatar PaulStoffregen commented on July 25, 2024

Please give this version a try. Let me know if it solve the freezing problem?

https://github.com/PaulStoffregen/Adafruit_VS1053_Library

Also, you might try with Arduino 1.5.8, which has the newer SPI library with transaction support.....

from adafruit_vs1053_library.

ladyada avatar ladyada commented on July 25, 2024

not sure but we've just pulled some lock-tweaks - please reopen if it still happens!

from adafruit_vs1053_library.

hoosierEE avatar hoosierEE commented on July 25, 2024

Hey, I hate it when OP abandons the thread, but unfortunately I won't be able to confirm the fix in the foreseeable future as I'm busy with other projects. Thanks for working on it though, hopefully the next person to use this will benefit.

from adafruit_vs1053_library.

jonfroehlich avatar jonfroehlich commented on July 25, 2024

Just a note that I ran into this problem today using the Adafruit VS1053 Library (v1.2.1) with the Adafruit Feather nRF52840 board and Adafruit MP3 Featherwing.

I built a simple MP3 player that reads all .mp3 filenames from the SD card and plays MP3s with the musicPlayer.startPlayingFile function. You can navigate next/previous using either Serial commands or buttons. For example, pressing n in Serial Console would start playing the next song.

Needless to say, startPlayingFile was intermittently but consistently crashing—sometimes after playing parts of 3 songs, sometimes 10 or 15 but eventually it would happen if you hit "next" enough.

I tried a range of things but eventually landed on calling noInterrupts() before musicPlayer.stopPlaying() and then not re-enabling interrupts myself but instead relying on the fact that the musicPlayer.startPlayingFile function calls interrupts() itself (and thus re-enables interrupts there).

If you want to see the source code, check it out here: https://github.com/makeabilitylab/arduino/blob/master/PlayingMusic/SimpleMp3Player/SimpleMp3Player.ino

Hope it helps someone.

from adafruit_vs1053_library.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.