X-Git-Url: https://git.hcoop.net/clinton/Smoothieware.git/blobdiff_plain/5c1360bd8f3311eb2a3428306c15a334821440ac..ec94cb31df97f852511c5b82d7323b1c9b30ab8e:/src/modules/communication/GcodeDispatch.cpp diff --git a/src/modules/communication/GcodeDispatch.cpp b/src/modules/communication/GcodeDispatch.cpp index f64250b5..2e5a8a50 100644 --- a/src/modules/communication/GcodeDispatch.cpp +++ b/src/modules/communication/GcodeDispatch.cpp @@ -23,13 +23,14 @@ #include "PublicData.h" #include "SimpleShell.h" #include "utils.h" +#include "LPC17xx.h" #define return_error_on_unhandled_gcode_checksum CHECKSUM("return_error_on_unhandled_gcode") #define panel_display_message_checksum CHECKSUM("display_message") #define panel_checksum CHECKSUM("panel") // goes in Flash, list of Mxxx codes that are allowed when in Halted state -static const int allowed_mcodes[]= {105,114,119}; // get temp, get pos, get endstops +static const int allowed_mcodes[]= {105,114,119,80,81,911,503,106,107}; // get temp, get pos, get endstops etc static bool is_allowed_mcode(int m) { for (size_t i = 0; i < sizeof(allowed_mcodes)/sizeof(int); ++i) { if(allowed_mcodes[i] == m) return true; @@ -210,6 +211,7 @@ try_again: case 500: // M500 save volatile settings to config-override THEKERNEL->conveyor->wait_for_empty_queue(); //just to be safe as it can take a while to run //remove(THEKERNEL->config_override_filename()); // seems to cause a hang every now and then + __disable_irq(); { FileStream fs(THEKERNEL->config_override_filename()); fs.printf("; DO NOT EDIT THIS FILE\n"); @@ -221,13 +223,14 @@ try_again: THEKERNEL->call_event(ON_GCODE_RECEIVED, gcode ); delete gcode->stream; delete gcode; + __enable_irq(); new_message.stream->printf("Settings Stored to %s\r\nok\r\n", THEKERNEL->config_override_filename()); continue; case 502: // M502 deletes config-override so everything defaults to what is in config remove(THEKERNEL->config_override_filename()); - new_message.stream->printf("config override file deleted %s, reboot needed\r\nok\r\n", THEKERNEL->config_override_filename()); delete gcode; + new_message.stream->printf("config override file deleted %s, reboot needed\r\nok\r\n", THEKERNEL->config_override_filename()); continue; case 503: { // M503 display live settings and indicates if there is an override file