digitalRead method

DigitalValue digitalRead(
  1. int pin
)
inherited

Reads a DigitalValue from a given pin.

Implementation

DigitalValue digitalRead(int pin) {
  autoWait();
  var error = I2Cexception.empty();
  for (var i = 0; i < retry; ++i) {
    try {
      writeI2Cblock(HatCmd(digitalReadCmd).getCmdSeqExt(pin));
      sleep(Duration(milliseconds: delay));
      var value = i2c.readByteReg(hatArduinoI2Caddress, 1);
      _updateLastAction();
      if (value == 0) {
        return DigitalValue.low;
      }
      return DigitalValue.high;
    } on I2Cexception catch (e) {
      error = e;
      sleep(Duration(milliseconds: delay));
    }
  }
  throw error;
}