I found this website that does Binary to Float conversion:
https://www.binaryconvert.com/result_float.html
The values I got for Latitude from the modem were 21826 and 65514
65514 in binary is 1111111111101010
21826 in binary is 0101010101000010
If am pretty certain that this should be Little Endianess, so I swapped the first and second bytes (8 bits) of each 16 bit word, giving
1110101011111111 and 0100001001010101
I know that the value is positive so the number has to start with a 0.
Giving one big 32 bit number of 01000010010101011110101011111111
Putting that in to the web page above gives me 5.3479488372802734375E1, which matches the 53.479488372802734 given by the Python program I gave in my last post. The problem is that the correct latitude reported by the modem web page is 53.390019, which I know to be correct. So there does seem to be a problem in the Teltonika conversion of GPS data to Modbus data. Anybody from Teltonika available to look at this?