I am having problems calculating the implementation of a CRC-16 byte array in java. Basically, I am trying to send bytes to an RFID that starts to write to a tag. I can see the array checksum value by looking at the tcpdump command on mac. But my goal is to create it yourself. Here is my byte array that should generate 0xbe, 0xd9:
byte[] bytes = new byte[]{(byte) 0x55,(byte) 0x08,(byte) 0x68, (byte) 0x14,
(byte) 0x93, (byte) 0x01, (byte) 0x00, (byte) 0x00,
(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x06,
(byte) 0x00, (byte) 0x00, (byte) 0x01, (byte) 0x00,
(byte) 0x13, (byte) 0x50, (byte) 0x00, (byte) 0x00,
(byte) 0x00, (byte) 0x22, (byte) 0x09, (byte) 0x11};
0x55 is the title. As stated in the documentation, it will be excluded.
Whenever I try to use this array in java (with 0xbe, 0xd9), RFID works. My problem is generating these checksum values. I searched for almost the entire network, but no chance. I could not find an algorithm that creates 0xbe, 0xd9.
Any idea for me is very welcome. Thanks in advance.
edit: here is the protocol that is provided with rfid