From 70b59d491c547096a091af7b92fba6f70ece0a73 Mon Sep 17 00:00:00 2001 From: Asbelos Date: Thu, 9 Sep 2021 10:23:27 +0100 Subject: [PATCH] Ash's OVERLOAD check Makes prog track accesses wait if track in overload --- DCC.cpp | 1 + DCCWaveform.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/DCC.cpp b/DCC.cpp index 79c5b19..0674fce 100644 --- a/DCC.cpp +++ b/DCC.cpp @@ -753,6 +753,7 @@ void DCC::ackManagerLoop() { // (typically waiting for a reset counter or ACK waiting, or when all finished.) switch (opcode) { case BASELINE: + if (DCCWaveform::progTrack.getPowerMode()==POWERMODE::OVERLOAD) return; if (checkResets(DCCWaveform::progTrack.autoPowerOff || ackManagerRejoin ? 20 : 3)) return; DCCWaveform::progTrack.setAckBaseline(); callbackState=READY; diff --git a/DCCWaveform.cpp b/DCCWaveform.cpp index 0d23897..dd447ca 100644 --- a/DCCWaveform.cpp +++ b/DCCWaveform.cpp @@ -114,6 +114,7 @@ void DCCWaveform::setPowerMode(POWERMODE mode) { powerMode = mode; bool ison = (mode == POWERMODE::ON); motorDriver->setPower( ison); + sentResetsSincePacket=0; }