Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kidpixo/5806272 to your computer and use it in GitHub Desktop.
Save kidpixo/5806272 to your computer and use it in GitHub Desktop.
Missing from the descriptio on http://www.ni.com/white-paper/5696/en : TDMS File Format Internal Structure
The string fields have N_VALUES*32 bits / 4 bytes filed before the data pointing to each string value, starting at the end of the address field
## Example
file : XXXXX.tdms
Start : 6221213 / 5EED9D
Channel: /'TM_SCIENCE_TIS_DATA'/'par_tis_bin_mode_txt:2'
RAW_DATA_DESCRIPTOR :
DATA_TYPE ULONG 32
ARRAY_DIMENSION ULONG 1
N_VALUES ULONG64 8
DATA_START_RAW ULONG64 6221213
TOTAL_SIZE ULONG64 56
Hexdump fo the file from 6221213 to 6221213+56 = 6221269
The first 8*4 bytes = #2 bytes are the addresse to each signle text value.
03 00 00 00 = 3 : tdsTypeI32
06 00 00 00 = 6 : tdsTypeI32
09 00 00 00 = 9 : tdsTypeI32
0C 00 00 00 = 12 : tdsTypeI32
0F 00 00 00 = 15 : tdsTypeI32
12 00 00 00 = 18 : tdsTypeI32
15 00 00 00 = 21 : tdsTypeI32
18 00 00 00 = 24 : tdsTypeI32
31 78 32 = 1x2 : tdsTypeString from 0 to 3
31 78 32 = 1x2 : tdsTypeString from 3 to 6
31 78 32 = 1x2 : tdsTypeString from 6 to 9
31 78 32 = 1x2 : tdsTypeString from 9 to 12
31 78 32 = 1x2 : tdsTypeString from 12 to 15
31 78 32 = 1x2 : tdsTypeString from 15 to 18
31 78 32 = 1x2 : tdsTypeString from 18 to 21
31 78 32 = 1x2 : tdsTypeString from 21 to 24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment