mirror of
https://github.com/bdring/Grbl_Esp32.git
synced 2025-09-02 02:42:36 +02:00
Fix sd code not disabled when SD Card feature is disabled
This commit is contained in:
@@ -291,10 +291,14 @@ std::map<Message, const char*> MessageText = {
|
|||||||
// NOTE: For interfaces, messages are always placed within brackets. And if silent mode
|
// NOTE: For interfaces, messages are always placed within brackets. And if silent mode
|
||||||
// is installed, the message number codes are less than zero.
|
// is installed, the message number codes are less than zero.
|
||||||
void report_feedback_message(Message message) { // ok to send to all clients
|
void report_feedback_message(Message message) { // ok to send to all clients
|
||||||
|
#if defined (ENABLE_SD_CARD)
|
||||||
if (message == Message::SdFileQuit) {
|
if (message == Message::SdFileQuit) {
|
||||||
grbl_notifyf("SD print canceled", "Reset during SD file at line: %d", sd_get_current_line_number());
|
grbl_notifyf("SD print canceled", "Reset during SD file at line: %d", sd_get_current_line_number());
|
||||||
grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Reset during SD file at line: %d", sd_get_current_line_number());
|
grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, "Reset during SD file at line: %d", sd_get_current_line_number());
|
||||||
} else {
|
|
||||||
|
} else
|
||||||
|
#endif //ENABLE_SD_CARD
|
||||||
|
{
|
||||||
auto it = MessageText.find(message);
|
auto it = MessageText.find(message);
|
||||||
if (it != MessageText.end()) {
|
if (it != MessageText.end()) {
|
||||||
grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, it->second);
|
grbl_msg_sendf(CLIENT_SERIAL, MsgLevel::Info, it->second);
|
||||||
|
@@ -18,6 +18,8 @@
|
|||||||
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
|
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "Config.h"
|
||||||
|
#ifdef ENABLE_SD_CARD
|
||||||
#include "SDCard.h"
|
#include "SDCard.h"
|
||||||
|
|
||||||
File myFile;
|
File myFile;
|
||||||
@@ -169,3 +171,4 @@ void sd_get_current_filename(char* name) {
|
|||||||
name[0] = 0;
|
name[0] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif //ENABLE_SD_CARD
|
||||||
|
@@ -159,16 +159,20 @@ void serialCheckTask(void* pvParameters) {
|
|||||||
if (is_realtime_command(data)) {
|
if (is_realtime_command(data)) {
|
||||||
execute_realtime_command(static_cast<Cmd>(data), client);
|
execute_realtime_command(static_cast<Cmd>(data), client);
|
||||||
} else {
|
} else {
|
||||||
|
#if defined(ENABLE_SD_CARD)
|
||||||
if (get_sd_state(false) < SDState::Busy) {
|
if (get_sd_state(false) < SDState::Busy) {
|
||||||
|
#endif //ENABLE_SD_CARD
|
||||||
vTaskEnterCritical(&myMutex);
|
vTaskEnterCritical(&myMutex);
|
||||||
client_buffer[client].write(data);
|
client_buffer[client].write(data);
|
||||||
vTaskExitCritical(&myMutex);
|
vTaskExitCritical(&myMutex);
|
||||||
|
#if defined(ENABLE_SD_CARD)
|
||||||
} else {
|
} else {
|
||||||
if (data == '\r' || data == '\n') {
|
if (data == '\r' || data == '\n') {
|
||||||
grbl_sendf(client, "error %d\r\n", Error::AnotherInterfaceBusy);
|
grbl_sendf(client, "error %d\r\n", Error::AnotherInterfaceBusy);
|
||||||
grbl_msg_sendf(client, MsgLevel::Info, "SD card job running");
|
grbl_msg_sendf(client, MsgLevel::Info, "SD card job running");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif //ENABLE_SD_CARD
|
||||||
}
|
}
|
||||||
} // if something available
|
} // if something available
|
||||||
WebUI::COMMANDS::handle();
|
WebUI::COMMANDS::handle();
|
||||||
|
@@ -806,9 +806,35 @@ namespace WebUI {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void listDirLocalFS(fs::FS& fs, const char* dirname, uint8_t levels, uint8_t client) {
|
||||||
|
//char temp_filename[128]; // to help filter by extension TODO: 128 needs a definition based on something
|
||||||
|
File root = fs.open(dirname);
|
||||||
|
if (!root) {
|
||||||
|
//FIXME: need proper error for FS and not usd sd one
|
||||||
|
report_status_message(Error::SdFailedOpenDir, client);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!root.isDirectory()) {
|
||||||
|
//FIXME: need proper error for FS and not usd sd one
|
||||||
|
report_status_message(Error::SdDirNotFound, client);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
File file = root.openNextFile();
|
||||||
|
while (file) {
|
||||||
|
if (file.isDirectory()) {
|
||||||
|
if (levels) {
|
||||||
|
listDirLocalFS(fs, file.name(), levels - 1, client);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
grbl_sendf(CLIENT_ALL, "[FILE:%s|SIZE:%d]\r\n", file.name(), file.size());
|
||||||
|
}
|
||||||
|
file = root.openNextFile();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Error listLocalFiles(char* parameter, AuthenticationLevel auth_level) { // No ESP command
|
static Error listLocalFiles(char* parameter, AuthenticationLevel auth_level) { // No ESP command
|
||||||
webPrintln("");
|
webPrintln("");
|
||||||
listDir(SPIFFS, "/", 10, espresponse->client());
|
listDirLocalFS(SPIFFS, "/", 10, espresponse->client());
|
||||||
String ssd = "[Local FS Free:" + ESPResponseStream::formatBytes(SPIFFS.totalBytes() - SPIFFS.usedBytes());
|
String ssd = "[Local FS Free:" + ESPResponseStream::formatBytes(SPIFFS.totalBytes() - SPIFFS.usedBytes());
|
||||||
ssd += " Used:" + ESPResponseStream::formatBytes(SPIFFS.usedBytes());
|
ssd += " Used:" + ESPResponseStream::formatBytes(SPIFFS.usedBytes());
|
||||||
ssd += " Total:" + ESPResponseStream::formatBytes(SPIFFS.totalBytes());
|
ssd += " Total:" + ESPResponseStream::formatBytes(SPIFFS.totalBytes());
|
||||||
|
Reference in New Issue
Block a user