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; }