Bonjour à tous, je travaille sur une sonde DS18B20, un capteur de température, j'ai trouvé une classe qui réalise le relevé parfaitement mais je n'arrive pas a décrypter les méthodes malgré des recherches. Est ce que quelqu'un pourrait m'aider a traduire ligne par ligne ces deux méthodes. Voici le code :
public static double read(String sensorId) {
Path path = FileSystems.getDefault().getPath(devicesPath, sensorId, valueFile);
List<String> lines;
int attempts = 3;
boolean crcOK = false;
while (attempts > 0) {
try {
lines = Files.readAllLines(path);
for(String line: lines) {
if (line.endsWith("YES"))
crcOK = true;
else if (line.matches(".*t=[0-9]+") && crcOK)
return Integer.valueOf(line.substring(line.indexOf("=")+1))/1000.0;
}
} catch (Exception e) {
e.printStackTrace();
}
attempts--;
}
return Double.MAX_VALUE;
}
public static List<String> list() {
List<String> list = new ArrayList<String>();
File searchPath = new File(devicesPath);
if (searchPath.listFiles()!=null) {
for (File f: searchPath.listFiles()) {
if (f.isDirectory() && !f.getName().startsWith("w1_bus_master"))
list.add(f.getName());
}
}
return list;
}
}
J'espère avoir de bonnes réponses et je reste a votre disposition. Cordialement