diff --git a/DCCEXParser.cpp b/DCCEXParser.cpp index 7191b47..86408a9 100644 --- a/DCCEXParser.cpp +++ b/DCCEXParser.cpp @@ -885,6 +885,12 @@ bool DCCEXParser::parseD(Print *stream, int16_t params, int16_t p[]) #if defined(ARDUINO_ARCH_ESP32) ESP.restart(); #endif +#if defined(ARDUINO_ARCH_SAMD) + // Disable all interrupts and reset uC + __disable_irq(); + NVIC_SystemReset(); + while(true); +#endif #endif break; // and if we didnt restart }