@@ -60,31 +60,37 @@ uint16_t scani2c(bool pinswap = false){
60
60
Wire .beginTransmission (address );
61
61
int res = Wire .endTransmission ();
62
62
63
- // * Output 0 .. success
64
- // * 1 .. length to long for buffer
65
- // * 2 .. address send, NACK received
66
- // * 3 .. data send, NACK received
67
- // * 4 .. other twi error (lost bus arbitration, bus error, ..)
68
-
63
+ // https://www.arduino.cc/reference/en/language/functions/communication/wire/endtransmission/
64
+ // endTransmission() returns:
65
+ // 0: success.
66
+ // 1: data too long to fit in transmit buffer.
67
+ // 2: received NACK on transmit of address.
68
+ // 3: received NACK on transmit of data.
69
+ // 4: other error.
70
+ // 5: timeout
71
+
69
72
if (res == 0 )
70
73
{
71
74
Logger .print ("[I2C] Device found - ADDR: 0x" );
72
- if (address < 16 )
75
+ if (address < 16 ){
73
76
Logger .print ("0x" );
74
77
Logger .print (address ,HEX ); // 7 bit
75
78
Logger .print (" 0x" );
76
79
Logger .print (2 * address ,HEX ); // 8bit
77
80
Logger .println ("" );
81
+ }
78
82
nDevices ++ ;
79
83
}
80
- else if (res != 2 && res != 255 )
81
- {
82
- Logger .println ("[ERROR]:" + (String )res );
83
- Logger .print ("Unknown error ADDR: 0x" );
84
- if (address < 16 )
85
- Logger .print ("0" );
86
- Logger .print (address ,HEX );
84
+ else if (res != 2 && res != 255 ){
85
+ Logger .print ("[ERROR]: code: " + (String )res );
86
+ Logger .print (" ADDR: 0x" );
87
+ if (address < 16 ){
88
+ Logger .print ("0x" );
89
+ Logger .print (address ,HEX ); // 7 bit
90
+ Logger .print (" 0x" );
91
+ Logger .print (2 * address ,HEX ); // 8bit
87
92
Logger .println ("" );
93
+ }
88
94
}
89
95
}
90
96
if (nDevices == 0 )
0 commit comments