From c201a5791a84e907c8d00d3976bcb6ceed9e6ff5 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Fri, 22 Apr 2022 16:02:49 +0200 Subject: [PATCH] Implement MMU hw reset --- Firmware/mmu2.cpp | 5 +++++ Firmware/mmu2_power.cpp | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Firmware/mmu2.cpp b/Firmware/mmu2.cpp index 0b5cfcf06..0112ccd12 100644 --- a/Firmware/mmu2.cpp +++ b/Firmware/mmu2.cpp @@ -98,6 +98,11 @@ MMU2::MMU2() } void MMU2::Start() { +#ifdef MMU_HWRESET + WRITE(MMU_RST_PIN, 1); + SET_OUTPUT(MMU_RST_PIN); // setup reset pin +#endif //MMU_HWRESET + mmu2Serial.begin(MMU_BAUD); PowerOn(); diff --git a/Firmware/mmu2_power.cpp b/Firmware/mmu2_power.cpp index 32f93df26..b9ce75ed6 100644 --- a/Firmware/mmu2_power.cpp +++ b/Firmware/mmu2_power.cpp @@ -1,4 +1,8 @@ #include "mmu2_power.h" +#include "Configuration_prusa.h" +#include "pins.h" +#include "fastio.h" +#include namespace MMU2 { @@ -7,6 +11,15 @@ void power_on() { } void power_off() { } -void reset() { } +void reset() { +#ifdef MMU_HWRESET // HW - pulse reset pin + WRITE(MMU_RST_PIN, 0); + _delay_us(100); + WRITE(MMU_RST_PIN, 1); +#else // SW - send X0 command + // mmu_puts_P(PSTR("X0\n")); + #error todo send command if hardware pin not available +#endif +} } // namespace MMU2