diff options
| author | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-21 06:40:43 +0000 |
|---|---|---|
| committer | nanalelfe <nargiza.nosirova@mail.utoronto.ca> | 2016-07-21 06:40:43 +0000 |
| commit | 39ef1b6fd37bb9b725676d3a98f13e3450798200 (patch) | |
| tree | eeec60d5b56e5c69a3ba251d98a27f4684d47066 /node_modules/crc/lib/crc16_xmodem.js | |
| parent | ee8e1a13b60a6adfdc691b2a9b57289188397641 (diff) | |
| parent | 76757d227f64e35a093d47facc260d9266e2bf38 (diff) | |
MERGED
Diffstat (limited to 'node_modules/crc/lib/crc16_xmodem.js')
| -rw-r--r-- | node_modules/crc/lib/crc16_xmodem.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/crc/lib/crc16_xmodem.js b/node_modules/crc/lib/crc16_xmodem.js new file mode 100644 index 0000000..2bc58a6 --- /dev/null +++ b/node_modules/crc/lib/crc16_xmodem.js @@ -0,0 +1,31 @@ +'use strict'; + +var _buffer = require('buffer'); + +var _define_crc = require('./define_crc'); + +var _define_crc2 = _interopRequireDefault(_define_crc); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = (0, _define_crc2.default)('xmodem', function (buf, previous) { + if (!_buffer.Buffer.isBuffer(buf)) buf = (0, _buffer.Buffer)(buf); + + var crc = typeof previous !== 'undefined' ? ~ ~previous : 0x0; + + for (var index = 0; index < buf.length; index++) { + var byte = buf[index]; + var code = crc >>> 8 & 0xFF; + + code ^= byte & 0xFF; + code ^= code >>> 4; + crc = crc << 8 & 0xFFFF; + crc ^= code; + code = code << 5 & 0xFFFF; + crc ^= code; + code = code << 7 & 0xFFFF; + crc ^= code; + } + + return crc; +});
\ No newline at end of file |
