analogRead method
Reads an analog value from a given pin
.
Implementation
int analogRead(int pin) {
autoWait();
var error = I2Cexception.empty();
for (var i = 0; i < retry; ++i) {
try {
writeI2Cblock(HatCmd(analogReadCmd).getCmdSeqExt(pin));
sleep(Duration(milliseconds: delay));
var data = i2c.readBytesReg(hatArduinoI2Caddress, hatRegister, 4);
var value = (data[1] & 0xff) * 256 + (data[2]);
if (value == 65535) {
value = -1;
}
_updateLastAction();
return value;
} on I2Cexception catch (e) {
error = e;
sleep(Duration(milliseconds: delay));
}
}
throw error;
}