Manages the 1-wire bus

Dependents:   oldheating heating

Revision:
9:6f663ad53c7e
Parent:
8:ceafef18cbf7
Child:
11:3859fee99d5d
--- a/web/web-1wire-class.js	Wed Jun 10 10:02:55 2020 +0000
+++ b/web/web-1wire-class.js	Wed Jun 10 11:41:03 2020 +0000
@@ -3,30 +3,16 @@
 
 class OneWire
 {
-    static parseDS18B20(text)
+    static DS18B20ToString(value)
     {
-        switch (text)
-        {
-            case '7FFF': return 'CRC error'                     ;
-            case '7FFE': return 'ROM not found'                 ;
-            case '7FFD': return 'Timed out'                     ;
-            case '7FFC': return 'No device detected after reset';
-            case '7FFB': return 'Device removed during search'  ;
-        }
-        let isNegative = false;
-        switch(text.charAt(0))
+        switch (value)
         {
-            case '8': text = '7' + text.substr(1, 3); isNegative = true; break;
-            case '9': text = '6' + text.substr(1, 3); isNegative = true; break;
-            case 'A': text = '5' + text.substr(1, 3); isNegative = true; break;
-            case 'B': text = '4' + text.substr(1, 3); isNegative = true; break;
-            case 'C': text = '3' + text.substr(1, 3); isNegative = true; break;
-            case 'D': text = '2' + text.substr(1, 3); isNegative = true; break;
-            case 'E': text = '1' + text.substr(1, 3); isNegative = true; break;
-            case 'F': text = '0' + text.substr(1, 3); isNegative = true; break;
+            case 0x7FFF: return 'CRC error'                     ;
+            case 0x7FFE: return 'ROM not found'                 ;
+            case 0x7FFD: return 'Timed out'                     ;
+            case 0x7FFC: return 'No device detected after reset';
+            case 0x7FFB: return 'Device removed during search'  ;
         }
-        let value = parseInt(text, 16) / 16.0;
-        if (isNegative) value = -value;
-        return value;
+        return (value / 16.0).toFixed(1);
     }
 }
\ No newline at end of file