Manages the 1-wire bus

Dependents:   oldheating heating

web/web-1wire-class.inc

Committer:
andrewboyson
Date:
2020-06-10
Revision:
8:ceafef18cbf7
Parent:
2:79cad6a51fd0
Child:
9:6f663ad53c7e

File content as of revision 8:ceafef18cbf7:

"//OneWire script\n"
"'use strict';\n"
"\n"
"class OneWire\n"
"{\n"
"    static parseDS18B20(text)\n"
"    {\n"
"        switch (text)\n"
"        {\n"
"            case '7FFF': return 'CRC error'                     ;\n"
"            case '7FFE': return 'ROM not found'                 ;\n"
"            case '7FFD': return 'Timed out'                     ;\n"
"            case '7FFC': return 'No device detected after reset';\n"
"            case '7FFB': return 'Device removed during search'  ;\n"
"        }\n"
"        let isNegative = false;\n"
"        switch(text.charAt(0))\n"
"        {\n"
"            case '8': text = '7' + text.substr(1, 3); isNegative = true; break;\n"
"            case '9': text = '6' + text.substr(1, 3); isNegative = true; break;\n"
"            case 'A': text = '5' + text.substr(1, 3); isNegative = true; break;\n"
"            case 'B': text = '4' + text.substr(1, 3); isNegative = true; break;\n"
"            case 'C': text = '3' + text.substr(1, 3); isNegative = true; break;\n"
"            case 'D': text = '2' + text.substr(1, 3); isNegative = true; break;\n"
"            case 'E': text = '1' + text.substr(1, 3); isNegative = true; break;\n"
"            case 'F': text = '0' + text.substr(1, 3); isNegative = true; break;\n"
"        }\n"
"        let value = parseInt(text, 16) / 16.0;\n"
"        if (isNegative) value = -value;\n"
"        return value;\n"
"    }\n"
"}"