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.
This commit is contained in:
Florian Baumann 2014-08-11 14:12:32 +02:00
parent c13a831ea1
commit 5908fd5cec

View File

@ -3516,10 +3516,9 @@ void manage_inactivity()
}
#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;
if (millis()-chdkHigh < CHDK_DELAY) return;
WRITE(CHDK, LOW);
}
#endif