Commit Graph

6 Commits

Author SHA1 Message Date
David G. F.
0040d92030 Fix SD hangs on certain write sequences (#9)
When the card status is not ready yet (after a successful write tx is
completed) a second DMA is scheduled to read the return code (instead of
manually reading it when it's ready). The current code schedules the DMA
and immediately proceeds to complete the read due to a missing early
return. This results in the IRQ handler being called one extra time and
desyncing the TX sequence, which hangs due to "done" > "total"

It is unclear when this happens, allegedly when the DMA IRQ is
triggered before the card becomes Idle (response is pushed after it
becomes Idle).
v1.0.1
2026-02-10 08:49:06 +01:00
Jamie
117b25ae07 Updated initSd to stop trying when the SD card can be read, but no file system was found (#6) 2026-01-06 14:28:15 +01:00
Gericom
ae26e9be0f Merge pull request #2 from PoroCYon/develop
Fix compatibility issues in compile.sh
2025-12-22 11:11:30 +01:00
PoroCYon
a7e49ca017 fix compatibility with macOS in compile.sh 2025-12-10 15:30:31 +01:00
PoroCYon
8e5e43f44e Fix compatibility issues in compile.sh
* Use '/usr/bin/env bash', because not all distros put bash in /bin
  (some in /usr/bin), and with NixOS it's even more complicated. This
  should make it compatible across all distros.
* The 'set -euo pipefail' makes the script exit immediately on error,
  otherwise it tries to continue e.g. running make when the CMake
  configuration failed.
* Change to the directory the script sits in, in case it is ever called
  from another directory.
* With CMake 4.x, declaring compatibility with version 3.5 straight up
  errors. Passing the environment variable fixes this issue. See
  https://gitlab.kitware.com/cmake/cmake/-/issues/26613 and
  https://gitlab.kitware.com/cmake/cmake/-/issues/26698 for more info.
* CMake doesn't always emit Makefiles by default, so use `cmake --build'
  to build using whatever method CMake will choose.
* Compile using all available cores, instead of only using a single CPU
  core.
2025-12-09 20:45:21 +01:00
Gericom
4511cab6d1 Initial commit v1.0.0 2025-11-23 17:03:31 +01:00