Closed phorn-NI closed 2 years ago
Zip file attached
@phorn-NI We would need to re-create this setup so that we can debug the grpc-labview code and figure out what is going wrong. Would it be possible for you to give us a machine/vm with this setup so that we can log into it and debug the behavior?
@phorn-NI We would need to re-create this setup so that we can debug the grpc-labview code and figure out what is going wrong. Would it be possible for you to give us a machine/vm with this setup so that we can log into it and debug the behavior?
@shivaprasad-basavaraj its a bit tricky, my VM's are just local on my machine. I have a VM on the server, but that doesn't have access to a suitable RT machine. Can you send me your NI user name and I'll add you to the list of users on the VM? I can leave it running in the background while I do other stuff
@phorn-NI We would need to re-create this setup so that we can debug the grpc-labview code and figure out what is going wrong. Would it be possible for you to give us a machine/vm with this setup so that we can log into it and debug the behavior?
@shivaprasad-basavaraj its a bit tricky, my VM's are just local on my machine. I have a VM on the server, but that doesn't have access to a suitable RT machine. Can you send me your NI user name and I'll add you to the list of users on the VM? I can leave it running in the background while I do other stuff
My NI user name is inbasavs
The issue was that with the ADAS plugin, we are registering additional gRPC messages after the gRPC server has started. In this case, we need to call the CompleteMetadataRegistration.vi
as well after we register the additional gRPC messages. This needs to be done in the ADAS plugin. I have let @phorn-NI know about the fix.
I've been trying to understand where my code could be going wrong for several hours today, and am not making progress. I've built a status subscription service based on grpc-labview and the 3rd example code than was shown at the GLA summit last year. This has been working great in several applications across Windows and RT.
I've dropped this library into a new ADAS replay plugin and am using BloomRPC as a client (although I've seen the issue today when using a LabVIEW test client too). In the screenshot below I've probed the data going into the grpc-labview scripted method and that is correct.
When I read it in BloomRPC the payload has been overwritten by the payload (see below where payload should read "testdata" but instead reads "ENET Reader").
The name of the source ("ENET Reader") is a setting I pass into the private data as Service Name.
If I disconnect the cluster going in and instead create a constant with fixed data, it is still incorrect - see below where payload should read "test dummy data" but instead reads "this is some"
I've attached a zip with code in.
The proto file is located at "Replay\gRPC interface\proto\plugin_generic.proto" My simple test project (which works correctly) is located at "Replay\Tools\Status_event_service\LV\StatusService_Project.lvproj". This has a Windows Test Server and RT Test Server vi's - and there is a client inside StatusUpdate_client (or use BloomRPC as the client). My larger plugin code is located at "Replay\IO_Plugins\ENET_reader\ENET_Reader_Node.lvproj". Run "Test ENET_Reader_Node.lvproj" and subscribe either with the client from the working project above, or BloomRPC again. This plugin requires VCOM, ADAS to be installed (JSONText and Structure Error Handler VI Packages will also be required).