This repo contains necessary C++ code and support VIs to implement a gRPC server and client in LabVIEW. You can either use the service as defined to implement a generic server via gRPC or use the implementation as a pattern to implement a gRPC service of your design.
The project supports Windows, Linux, and Linux RT.
LabVIEW source is saved with LabVIEW 2019.
- Not all .proto data types are supported
- The VI generated has not been fully implemented when updating the generated code with the .proto - VIs need to be implemented by hand to match the .proto file in certain cases
- Extensive testing is not complete
- The names of the various generated methods, events, and VIs are subject to change until the 1.0 release
- This project is not supported by NI Technical Support
If you would like to use LabVIEW gRPC in your project and want to where to start: Quick Start and Basic Tutorial is a great place to start. This covers step by step guide on,
- how to create a simple proto
- generate the server code
- generate the client code
- make modification to the generated code
- run the server and client program
Example servers are located in the examples foldes in the releases.
- helloworld - Example server and client program which implements a simple Unary method. You can run this LabVIEW program along with Python server or client as well
- route_guide - Example server and client program which implement unary, server streaming, client streaming and bidirectional functions
The connection to the server can be secured using TLS (Server provided certificates) or Multual TLS (Client and Server provided certificates). See Certificates for more information.
To build the binaries for the scripting tool or the gRPC server see Building for instructions.
Contributions to grpc-labview are welcome from all. See Contributing for instructions.