void Pin::reset() { this->setMode(PinMode(INPUT)); this->setValue(PinValue(LOW)); }
void DigitalPin::reset() { this->setMode("INPUT"); this->setValue(PinValue(LOW)); }
PinValue Pin::getValue() { if (_mode.get() == INPUT) return PinValue(digitalRead(_pin)); return _value; }
PinValue DigitalPin::getValue() { if (_pwm) return _value; if (_mode.get() == OUTPUT) return _value; int value = digitalRead(this->getPin()); return PinValue(value); }