Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. import { Buffer } from 'buffer';
  3. import createBuffer from './create_buffer';
  4. import defineCrc from './define_crc';
  5.  
  6. const crc16xmodem = defineCrc('xmodem', function(buf, previous) {
  7.   if (!Buffer.isBuffer(buf)) buf = createBuffer(buf);
  8.  
  9.   let t_crc = 0 ;
  10.  
  11.   for (let index = 0; index < buf.length; index++) {
  12.  
  13.  
  14.     t_crc = (t_crc ^ ((buffer[index] << 8) & 0xffff)) & 0xffff;
  15.  
  16.     let j = 8;
  17.     do
  18.     {
  19.       if (t_crc & 0x8000)
  20.       t_crc = (((t_crc << 1)& 0xffff) ^ 0x1021) & 0xffff;
  21.       else
  22.       t_crc = ((t_crc << 1)& 0xffff);
  23.     } while(--j);
  24.  
  25.   }
  26.  
  27.   return crc;
  28. });
  29.  
  30. export default crc16xmodem;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement