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>2021-08-09 12:28:06 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-08-09 12:28:06 +0300
commit53ce4b3eb1acbf0dcecaeeae6d4cc4d18dc7fb2d (patch)
treef5bf21919cac25d33d0e23268923ca0c9f470455 /src/GCodes/GCodes2.cpp
parentf59d7cc1a162a057d9523147d838a36d93ae9c49 (diff)
More work on embedded file support
Diffstat (limited to 'src/GCodes/GCodes2.cpp')
-rw-r--r--src/GCodes/GCodes2.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/GCodes/GCodes2.cpp b/src/GCodes/GCodes2.cpp
index e3f656e1..5997811a 100644
--- a/src/GCodes/GCodes2.cpp
+++ b/src/GCodes/GCodes2.cpp
@@ -811,7 +811,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
break;
#endif
-#if HAS_MASS_STORAGE
+#if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
case 21: // Initialise SD card
if (!LockFileSystem(gb)) // don't allow more than one at a time to avoid contention on output buffers
@@ -836,7 +836,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
break;
#endif
-#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE
+#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE || HAS_EMBEDDED_FILES
case 23: // Set file to print
case 32: // Select file and start SD print
// We now allow a file that is being printed to chain to another file. This is required for the resume-after-power-fail functionality.
@@ -861,7 +861,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
||
# endif
#endif
-#if HAS_MASS_STORAGE
+#if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
QueueFileToPrint(filename.c_str(), reply)
#endif
)
@@ -921,9 +921,9 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
}
}
}
-#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE
+#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE || HAS_EMBEDDED_FILES
else if (
-# if HAS_MASS_STORAGE
+# if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
!fileToPrint.IsLive()
# else
true
@@ -956,7 +956,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
# if HAS_LINUX_INTERFACE
if (!reprap.UsingLinuxInterface())
# endif
-# if HAS_MASS_STORAGE
+# if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
{
fileToPrint.Seek(fileOffsetToPrint);
}
@@ -1046,7 +1046,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
}
break;
-#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE
+#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE || HAS_EMBEDDED_FILES
case 26: // Set SD position
// This is used between executing M23 to set up the file to print, and M25 to print it
gb.MustSee('S');
@@ -1062,7 +1062,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
break;
#endif
-#if HAS_MASS_STORAGE
+#if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
case 27: // Report print status - Deprecated
if (reprap.GetPrintMonitor().IsPrinting())
{
@@ -1077,7 +1077,9 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
}
reply.copy("Not SD printing.");
break;
+#endif
+#if HAS_MASS_STORAGE
case 28: // Write to file
{
String<MaxFilenameLength> filename;
@@ -1110,7 +1112,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
// For case 32, see case 23
-#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE
+#if HAS_MASS_STORAGE || HAS_LINUX_INTERFACE || HAS_EMBEDDED_FILES
case 36: // Return file information
# if HAS_LINUX_INTERFACE
if (reprap.UsingLinuxInterface())
@@ -1120,7 +1122,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
else
# endif
{
-# if HAS_MASS_STORAGE
+# if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
if (!LockFileSystem(gb)) // getting file info takes several calls and isn't reentrant
{
return false;
@@ -1170,7 +1172,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
break;
#endif
-#if HAS_MASS_STORAGE
+#if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
case 38: // Report SHA1 of file
if (!LockFileSystem(gb)) // getting file hash takes several calls and isn't reentrant
{
@@ -1198,7 +1200,9 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
result = AdvanceHash(reply);
}
break;
+#endif
+#if HAS_MASS_STORAGE
case 39: // Return SD card info
{
uint32_t slot = 0;
@@ -2956,6 +2960,7 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
break;
#endif
+#if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
case 501: // Load parameters from config-override.g
if (!gb.LatestMachineState().runningM502 && !gb.LatestMachineState().runningM501) // when running M502 we ignore config-override.g
{
@@ -2982,7 +2987,6 @@ bool GCodes::HandleMcode(GCodeBuffer& gb, const StringRef& reply) THROWS(GCodeEx
}
break;
-#if HAS_MASS_STORAGE || HAS_EMBEDDED_FILES
case 503: // List variable settings
{
if (!LockFileSystem(gb))