diff --git a/src/main.cpp b/src/main.cpp index b64f693..9398aa3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -281,7 +281,27 @@ void loop() } void on_pin_change(uint8_t pin, uint8_t value) -{} +{ + // For input pin 0-3, map it with output pin 0-3 + // For input pin 4-7, map it with output pin 8-11 + // For input pin 12, map it with output pin 12 + // When Input pin change, Toggle the output pin + if (pin < 4) + { + bool new_value = !espmega.outputs.getState(pin); + espmega.outputs.setState(pin, new_value); + } + else if (pin < 8) + { + bool new_value = !espmega.outputs.getState(pin + 4); + espmega.outputs.setState(pin + 4, new_value); + } + else if (pin == 12) + { + bool new_value = !espmega.outputs.getState(12); + espmega.outputs.setState(12, new_value); + } +} uint16_t get_pm25_out() {