Fix reseting CHDK pin to LOW

chdkActive was set to false regardless of (millis() - chdkHigh) being bigger than the CHDK_DELAY or not. So if (millis() - chdkHigh) wasn't bigger than the delay the first time, the CHDK would never be set back to LOW.

Also, don't return from the function, as there might be other stuff to do, after the CHDK check.
master
Florian Baumann 10 years ago
parent c13a831ea1
commit 5908fd5cec

@ -3516,10 +3516,9 @@ void manage_inactivity()
} }
#ifdef CHDK //Check if pin should be set to LOW after M240 set it to HIGH #ifdef CHDK //Check if pin should be set to LOW after M240 set it to HIGH
if (chdkActive) if (chdkActive && (millis() - chdkHigh > CHDK_DELAY))
{ {
chdkActive = false; chdkActive = false;
if (millis()-chdkHigh < CHDK_DELAY) return;
WRITE(CHDK, LOW); WRITE(CHDK, LOW);
} }
#endif #endif

Loading…
Cancel
Save