12345678910111213141516171819202122232425262728293031 |
- '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;
- });
|