Products > Test Equipment

HP / Agilent 34401A hidden menu

<< < (12/36) > >>

tv84:
Based on @meandeev C program  :clap:, here is a tiny contribution.

His program can be reduced to this C# snippet (others can put it in Python):


--- Code: ---            int start = 0x64;
            for (int j = start, s = 0; j < buffer.Length - 1; )
            {
                ushort b = BitConverter.ToUInt16(buffer, j);
                Console.Write("{0}", Convert.ToChar((b >> s) & 0x7F));
                s += 7;
                if (s > 8)
                { s -= 8; j++; }
            }
--- End code ---

This is already adapted to extract the 7-bit text from 34401a_11-05-02-EEPROM.bin (corrected version) and should work on other versions (just adjust initial start and s values if necessary).

As you can see, starting at offset 0x64 (bytes), there are these strings:
HP034401     23 JUN 2005 25.9C

34401a-save-state-menu.BIN file at offset 0x64 (bytes):
HP034401     HUBEQUIP.NET

34401a_05-01-01_eeprom.bin at offset 0x18 (bytes):
HP034401    18 APR 1995 21.3C

calrom_orig.bin at offset 0x18 (bytes):
HP900000    ZERO CAL: 35.7C; 3 Mar 1992;09:33:58

So, @Hydron, you cannot swap all the bytes as you did. That requires further investigation.

Hydron:
Hmm, curious. I've attached my original (well, after enabling 10mA AC range) bin from before I opened up my unit and started messing around too much, could you check that one too?

I'm pretty sure I have the right byte order, as it's what I get by sniffing MISO or by using a tool to read the chip, and also when I have updated the checksum it has worked in the order that I have. It's also the only order that works when flashing a .bin to it.

tv84:
:)

That explains it! Your dump has incorrect endianness BUT it's in sync with your programmer. So that's why you should invert endiannes to flash BUT we can only proper analyze the dump if we correct the endianness.

So with endianness corrected, your dump shows at offset 0x64 (bytes):

HP034401      2 MAR 2007 24.5C

Hydron:
...and finally (well, other than endinness adjustment), I took another stab in the dark and tried flipping more bits to get the temperature menu.

Second try lucky (first try was turning on all the bits in the word which enabled the save menu) and it's the same byte as the DIAG:POKE 25,0,1 command changes - this time the high bit instead of the low bit. Word 0x08 (byte 0x10 in the endianness I'm using) is the one to tweak, along with the checksum of course.

Have attached the final EEPROM with both extra menus enabled (note endianness may not match for everyone, I can do a swapped version too but not tonight), and also a couple of pics of the patient under surgery and a PT100 temperature measurement.

dimmog:

--- Quote from: Hydron on September 24, 2022, 11:57:35 pm ---...and finally (well, other than endinness adjustment), I took another stab in the dark and tried flipping more bits to get the temperature menu.

--- End quote ---

 :-+ Way to go!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

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