I have a hex string as follows:
"0d0d6e2800b900826bd000ba008a697800bc0094672000be009264c800bf0098627000c0009b601800c500c45dc000c600bf5b6800c700e2591000c800aa56b800c800ef546000c900b5520800ca00b84fb000ca00b74d5800cb00b84b0000cc00be48a800cc00ba465000cd00be43f800cd00bf41a000ce00c13f4800cf00c43cf000cf00c53a9800d000c3384000d000c935e800d100c6339000d100cb313800d200ca2ee000d300ca2c8800d300cc2a3000d300e227d800d400dd258000d400e0232800d600cd20d000d700cf1e7800d700d11c2000d700d519c800d800d4177000d800d6151800d800d412c000d800d6106800d800d70e1000d800d60bb800d800d3096000d800db070800d900d804b000d900db025800d800da000000d700da"
I need to convert this to Signed 16-bit integer big-endian and get the values that can be seen when converted through this online converter https://www.scadacore.com/tools/programming-calculators/online-hex-converter/
I am getting the correct values for some values but not others with the below code
#data = hex string
byte = bytearray.fromhex(data)
for i in byte:
print(i)
This gives me an output like below
13
13
110
40
0
185
0
130
107
208
0
186
0
138
105
120
But the larger values aren't being converted properly. How do I do this in Python to mirror the results from the online converter?