APIs, concepts, guides, and more
rapidserver

A command-line utility that enables access to the RMP from any operating system via Remote Procedure Call (RPC) using gRPC. It serves as a backend service for RapidCodeRemote, allowing remote interaction with the RMP Motion Controller.

rapidserver command-line tool

๐Ÿ”น Platforms

OS Executable
Windows rapidserver.exe
Linux rapidserver

๐Ÿ”น Starting a rapidserver Instance (Windows)

  1. Navigate to your RMP installation folder (e.g., C:\RSI\X.X.X)
  2. Find the file labeled rapidserver.exe and double click to run it
    • You will need to do this whenever you use RapidSetupX. To make this process easier, consider creating a shortcut
  3. In the new window verify that the "status" field says running & discoverable
  4. Take note of the number listed in the "server ip" field for future use

๐Ÿ”น Which rapidserver Should I Connect To?

When a tool like RapidSetupX allows you to connect to multiple rapidservers:

  • On Windows, the IP address should match the one shown when starting your rapidserver (see above).
  • On Linux, the IP should match your device's loopback IP (e.g., 127.0.1.1).

๐Ÿ”น Usage

To interact with a rapidserver instance, users need the following:

  1. .proto files for the desired services, along with the Protoc compiler.
  2. The IP address of the server.
  3. The port number the server is listening on.

Once the .proto files are available, users can compile them using the Protocol Buffer compiler (protoc) to generate client code in their preferred programming language. This generated code enables:

  • Creating a gRPC channel using the serverโ€™s IP address and port number.
  • Initializing a client for each available service.
  • Making RPC calls to communicate with the rapidserver.

By establishing a gRPC connection, users can seamlessly interact with RapidCodeRemote and other services exposed by rapidserver.

๐Ÿ”น Command Line Arguments

Argument Description
-address Specifies the IP address the server binds to.
-grpc_port TCP port number for gRPC calls.
-name Specifies a "friendly" name for the server.
-echo Determines whether request messages of each RPC should be echoed back in the header of response messages.
--log-level Sets the log level (e.g., info, debug, etc.).
-help, /? Prints the help message with available command-line arguments.