code: func crcAccumulate(data uint8, crcAccum uint16) uint16 {
  	/*Accumulate one byte of data into the CRC*/
  	var tmp uint8
  
  	tmp = data ^ (uint8)(crcAccum&0xff)
  	tmp ^= (tmp << 4)
  	crcAccum = (uint16(crcAccum) >> 8) ^ (uint16(tmp) << 8) ^ (uint16(tmp) << 3) ^ (uint16(tmp) >> 4)
  	return crcAccum
  }
docs: //
  // Accumulate the X.25 CRC by adding one char at a time.
  //
  // The checksum function adds the hash of one char at a time to the
  // 16 bit checksum (uint16).
  //
  // data to hash
  // crcAccum the already accumulated checksum
  //