Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ni/grpc-labview
gRPC client and server support for LabVIEW
https://github.com/ni/grpc-labview
grpc labview
Last synced: about 17 hours ago
JSON representation
gRPC client and server support for LabVIEW
- Host: GitHub
- URL: https://github.com/ni/grpc-labview
- Owner: ni
- License: mit
- Created: 2020-11-12T19:11:01.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-14T18:43:57.000Z (8 days ago)
- Last Synced: 2025-01-15T05:25:42.690Z (8 days ago)
- Topics: grpc, labview
- Language: LabVIEW
- Homepage:
- Size: 39.6 MB
- Stars: 94
- Watchers: 18
- Forks: 63
- Open Issues: 81
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# gRPC Support for LabVIEW
[![Image](https://www.vipm.io/package/ni_lib_labview_grpc_library/badge.svg?metric=installs)](https://www.vipm.io/package/ni_lib_labview_grpc_library/) [![Image](https://www.vipm.io/package/ni_lib_labview_grpc_library/badge.svg?metric=stars)](https://www.vipm.io/package/ni_lib_labview_grpc_library/)
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.
## Minimum Compatible LabVIEW Version
LabVIEW source is saved with __LabVIEW 2019__.
## Note: This project is not yet complete
* 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## User Guide
If you would like to use LabVIEW gRPC in your project and want to where to start: [Quick Start](docs/QuickStart.md) and [Basic Tutorial](docs/BasicsTutorial.md) 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### Examples
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## SSL/TLS Support
The connection to the server can be secured using TLS (Server provided certificates) or Multual TLS (Client and Server provided certificates).
See [Certificates](docs/Certificates.md) for more information.## Building the server binaries
To build the binaries for the scripting tool or the gRPC server see [Building](docs/Building.md) for instructions.## Contributing
Contributions to grpc-labview are welcome from all. See [Contributing](CONTRIBUTING.md) for instructions.