Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2018-06-23 13:45:38 +0300
committerDavid Crocker <dcrocker@eschertech.com>2018-06-23 13:45:38 +0300
commit4a525abb1663ab4817b303501d59760f36eb9ea7 (patch)
tree06c3c18608e33483c7aec1bb052cf4b901d42404 /src/Storage/MassStorage.cpp
parent5db504363ecf7a00c2f1a687cadb29bda47c7f1e (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.cpp9
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