diff options
author | David Crocker <dcrocker@eschertech.com> | 2018-06-23 13:45:38 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2018-06-23 13:45:38 +0300 |
commit | 4a525abb1663ab4817b303501d59760f36eb9ea7 (patch) | |
tree | 06c3c18608e33483c7aec1bb052cf4b901d42404 /src/Storage/MassStorage.cpp | |
parent | 5db504363ecf7a00c2f1a687cadb29bda47c7f1e (diff) |
Version 2.01beta1
Bug fixes:
- When using a mixing extruder, the feed rate for extruder-only moves was incorrect
- If additional axes were not created in the order UVWABC then incorrect homing files might be run (thanks chrishamm)
- On the Duet Maestro, the 7th stepper step/dir pin numbers were swapped
- If you paused a print during a G2/G3 arc move, on resuming it the arc centre was at the wrong place. This release defers the pause until the arc move is completed.
- If a command that interrogated the network (e.g. M122 on the Duet WiFi) was sent from USB, PanelDue or another non-network channel, the network subsystem could be accessed by multiple tasks concurrently, causing network disconnections or other errors
- When using a bltouch, between probe points the pin retracted, deployed and retracted again
- M206 with no parameters didn't report the current axis offsets
- During heating, the firmware returned M408 S0 responses to the PanelDue port even if the last request was M408 S2
- Fixed VBUS detection (thanks chrishamm)
- If the resume threshold in the M911 command was set higher than the supply voltage then the save-on-power-off mechanism never got primed. It will now prime at thwe auto-save threshold plus 0.5V or the resume threshold, whichever is lower.
- Fixed "2dtstc2diva=u" in debug printout
- Where a G- or M-code command parameter was supposed to accept unsigned values only, if a negative value was supplied then it was accepted and converted to a large unsigned value
New features and changed behaviour:
- If the firmware gets stuck in a spin loop, the RTOS builds now discard LR and 16 stack dwords in order to get more useful information from the stack trace
- Increased M999 delay to 1 second
- The report generated by M122 now includes a list of mutexes and their owners
- Added SW_ENC pin on CONN_SD to available GPIO ports (thanks chrishamm)
Diffstat (limited to 'src/Storage/MassStorage.cpp')
-rw-r--r-- | src/Storage/MassStorage.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Storage/MassStorage.cpp b/src/Storage/MassStorage.cpp index e06946a1..c13bb8ef 100644 --- a/src/Storage/MassStorage.cpp +++ b/src/Storage/MassStorage.cpp @@ -63,9 +63,12 @@ MassStorage::MassStorage(Platform* p) : freeWriteBuffers(nullptr) void MassStorage::Init() { + static const char * const VolMutexNames[] = { "SD0", "SD1" }; + static_assert(ARRAY_SIZE(VolMutexNames) >= NumSdCards, "Incorrect VolMutexNames array"); + // Create the mutexes - fsMutex.Create(); - dirMutex.Create(); + fsMutex.Create("FileSystem"); + dirMutex.Create("DirSearch"); for (size_t i = 0; i < NumFileWriteBuffers; ++i) { @@ -79,7 +82,7 @@ void MassStorage::Init() inf.mounting = inf.isMounted = false; inf.cdPin = SdCardDetectPins[card]; inf.cardState = (inf.cdPin == NoPin) ? CardDetectState::present : CardDetectState::notPresent; - inf.volMutex.Create(); + inf.volMutex.Create(VolMutexNames[card]); } sd_mmc_init(SdWriteProtectPins, SdSpiCSPins); // initialize SD MMC stack |