digitalRead method
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;
}