Jump to content

LabVIEW type descriptors


Recommended Posts

We're working on some data serialization, and as a result I need to be able to parse the type definition data.

I have most of it figured out, but I'm getting a strange type after composing a very large cluster = 15 elements:

Namely - the type descriptor starts with:

00 67

00 F1 What the hell is type descriptor F1 ???? I can't find it anywhere

00 00 00 00

00 00 00 02

Next follow the name of the parent library and the name of the type def being serialized.

2 elements, I know. But I'd still like to know what "00 F1" stand for. Maybe someone with the ability to look at source (cough, cough) :)

Thanks in advance, Mike

Link to comment

Digging a bit further, the real problem for me comes later on:

So, the last type descriptor is as follows:

  • two strings identifying the library that owns the type def (alright, I guess);
  • the standard part of the type descriptor, listing the types of all the elements of the cluster;
  • the name of the actual control/constant (comes from label).

is there a way to anonymize this type descriptor? Because now people (and that includes me), drag the type def onto the front panel and give it a name, since it's a parameter. But this means that the serializations differ because of the different parameter name - the third bullet point up there.

And since I don't know the full meaning of the data serialization (F1 up there), I don't analyze the serialization deeply enough and they look to be of different type, and some stuff fails because of it.

Or, can I at least get a nice description of how F1 type descriptor is composed so that I parse it properly, ignoring the stuff that is not important. Also, can I get a list of all the hidden Type descriptors like F1. I only know of the ones listed in http://zone.ni.com/reference/en-XX/help/371361G-01/lvconcepts/type_descriptors/

Thanks again, Mike

Link to comment

Mike, I think crelf means the type descriptor VIs (like Get TDEnum from Data), not the string ones. However, it looks like 1F is not specified.

Yes, I know and I did. I found out that all OpenG type descriptor functions are centered around "Variant to flattened string" function.

I just wanted to point out that it seems like "Variant to flattened string" and "Flatten to string" are producing a little bit different header representation.

Br, Mike

Link to comment

Thanks TheJ, and AQ. I'll take a look at this.

Actually, it didn't help. The function knows how to look at inside the F1 type to determine that it contains a cluster. We have in the mean-time deduced that F1 stands for "type definition" or something similar.

So, if our cluster is in the type-def control, then it has F1, if we just copy it out and onto the block diagram as a constant, the F1 goes away, leaving only the cluster. There are still a few unknowns, but we'll hopefully figure them out sooner or later.

Br, Mike

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.