import lejos.nxt.*;
public class I2CDevices {
public static void main(String[] args) throws Exception {
I2CSensor[] sensors = {
new I2CSensor(SensorPort.S1),
new I2CSensor(SensorPort.S2),
new I2CSensor(SensorPort.S3),
new I2CSensor(SensorPort.S4)};
while (!Button.ESCAPE.isPressed()) {
for(int i=0;i<sensors.length;i++) {
LCD.drawString(getName(sensors[i]), 0, i);
}
}
}
static String getName(I2CSensor sensor) {
String name;
// Try all possible I2C addresses until a device is found
for (int i=1;i<0x7F;i++) {
sensor.setAddress(i);
name = sensor.getSensorType();
if (name.charAt(0)>= 'A') return name;
}
return "none ";
}
}