I'm trying to decode .PLW
data acquired by a temperature logger (PicoLog PT-104).
If you convert the .PLW
file to a .txt
file through the official software you get something like this:
where each row has single temperature measurements across the 20 channels available to the device. I would like to extract the data directly from the .PLW
, file without having to convert it to .txt
first.
By opening the .PLW
file in a hex editor, I have managed to isolate with a bit of tweaking the section which seems to contain the raw data measurements:
The first 4 hexes contain the row index. And should be read in the reversed column order 03 02 01 00
.
There are then the 20 groups of 4 columns, one for each channel. Assuming all groups should be read right to left (given that was the case for the index columns), they all seem to begin with 0x41
which might maybe be some kind of encoding for the tab character (or similar).
The next hex in each chunk (so the one just before the 0x41
) seems to be mapping at least to some approximate way the temperature read in that channel:
- Hex -> TEMP
0x50 -> 13
0xa0, 0xa1, 0xa2, 0xa3 -> 20
0xa4, 0xa5, 0xaa, 0xab -> 21
0xac, 0xae, 0xb0 -> 22
And the order of the channels also seems to match the order of the columns in the .txt
file: for example channel 8 in the .txt
file has an outlier temperature at 13
--> which is also present in the 8th data column in the .PLW
file, where the temperature hex is set to 0x50
Would anyone be able to crack the mapping between the hex values in each chunk to the final temperature measurement displayed in the .txt
file?
Or does anyone know of an encoding where 0x41
would correspond to a tab-like character? Thanks!