Distinguish between analog/digital auto fans (#13298)

This commit is contained in:
Scott Lahteine
2019-03-05 00:41:31 -06:00
committed by GitHub
parent 2513f6b550
commit 2212da453a
27 changed files with 371 additions and 61 deletions

View File

@ -77,9 +77,9 @@ inline void toggle_pins() {
{
pinMode(pin, OUTPUT);
for (int16_t j = 0; j < repeat; j++) {
digitalWrite(pin, 0); safe_delay(wait);
digitalWrite(pin, 1); safe_delay(wait);
digitalWrite(pin, 0); safe_delay(wait);
extDigitalWrite(pin, 0); safe_delay(wait);
extDigitalWrite(pin, 1); safe_delay(wait);
extDigitalWrite(pin, 0); safe_delay(wait);
}
}
@ -285,7 +285,7 @@ void GcodeSuite::M43() {
pin_state[pin - first_pin] = analogRead(DIGITAL_PIN_TO_ANALOG_PIN(pin)); // int16_t pin_state[...]
else
//*/
pin_state[i - first_pin] = digitalRead(pin);
pin_state[i - first_pin] = extDigitalRead(pin);
}
#if HAS_RESUME_CONTINUE
@ -307,7 +307,7 @@ void GcodeSuite::M43() {
? analogRead(DIGITAL_PIN_TO_ANALOG_PIN(pin)) : // int16_t val
:
//*/
digitalRead(pin);
extDigitalRead(pin);
if (val != pin_state[i - first_pin]) {
report_pin_state_extended(pin, ignore_protection, false);
pin_state[i - first_pin] = val;

View File

@ -43,9 +43,9 @@ void GcodeSuite::M226() {
switch (pin_state) {
case 1: target = HIGH; break;
case 0: target = LOW; break;
case -1: target = !digitalRead(pin); break;
case -1: target = !extDigitalRead(pin); break;
}
while (digitalRead(pin) != target) idle();
while (extDigitalRead(pin) != target) idle();
}
} // pin_state -1 0 1 && pin > -1
} // parser.seen('P')

View File

@ -50,7 +50,7 @@ void GcodeSuite::M42() {
if (!parser.boolval('I') && pin_is_protected(pin)) return protected_pin_err();
pinMode(pin, OUTPUT);
digitalWrite(pin, pin_status);
extDigitalWrite(pin, pin_status);
analogWrite(pin, pin_status);
#if FAN_COUNT > 0