Products > Test Equipment

What is the HP 1630a learn string checksum algorithm?

(1/3) > >>

cmax100000:
I can't find any documentation about the learn string checksum algorithm.  My goal is to be able to set all the parameters for the analyzer in my computer, generate the string, calculate the checksum, and send the receive command with the new string back to the machine.
My simple test will be to set the date and send it back to the machine as the machine does not remember settings when turned off.
Here are two very sparse learn strings from my machine that I have been using to try to get at the algorithm.

In hex
525400110000000000000300000000000000008110
and
5253000f00000000000000001b000000008295

Bytes 3 and 4 are the bytes that follow beginning with byte5 and including 2 bytes at the end for the checksum result.

Thanks in advance.

tv84:
Looking at this shouldn't be much hard.

It's not a checksum. It's a CRC.

Can you show more examples?

Andy Watson:
It's a CRC 0x8005. The catch is that it operates on the lower byte of a 16 bit register rather than the more usual upper byte.

https://www.eevblog.com/forum/testgear/searching-for-a-hp-1630-hp-1631-inverse-assembler-files/msg2146852/#msg2146852

tv84:

--- Quote from: Andy Watson on January 01, 2023, 04:41:26 pm ---It's a CRC 0x8005. The catch is that it operates on the lower byte of a 16 bit register rather than the more usual upper byte.

https://www.eevblog.com/forum/testgear/searching-for-a-hp-1630-hp-1631-inverse-assembler-files/msg2146852/#msg2146852

--- End quote ---

If I did not make any error, your code gives this:

unsigned char buffer[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
CRC16 = 810A
   
unsigned char buffer[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00 };
CRC16 = 8295

So, it seems it's not correct. 

Edit: Corrected, after OP acked the CRC 810A error.

Andy Watson:
Works for me on strings returned from my HP1630G This is the response to TT (transmit timing data request).

41 54 00 19 00 00 00 00  00 00 03 00  00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  0A

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod