Manages the 1-wire bus
Dependents: oldheating heating
web/web-1wire-class.js
- Committer:
- andrewboyson
- Date:
- 2020-06-10
- Revision:
- 8:ceafef18cbf7
- Parent:
- 2:79cad6a51fd0
- Child:
- 9:6f663ad53c7e
File content as of revision 8:ceafef18cbf7:
//OneWire script 'use strict'; class OneWire { static parseDS18B20(text) { 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)) { 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; } let value = parseInt(text, 16) / 16.0; if (isNegative) value = -value; return value; } }