|
|
|
# page `index` {#indexpage}
|
|
|
|
|
|
[Request/Reply](/Request) is a communication pattern, which is used to send commands to a motorcortex server. This protocol is useful in setting up RPC-like services. It is also "reliable", a client will keep retrying until a reply is received.
|
|
Motorcortex C++ is a communication library to develop C++ client applications for the Motorcortex Core. Motorcortex ++ provides an implementation of the low-level API defined in motorcortex.proto.
|
|
|
|
|
|
[Publish/Subscribe](/Subscribe) is another pattern, where the motorcortex sever sends data, which is broadcast to all subscribers. The subscribing clients only see the data to which they have subscribed. The subscribers maintain their own subscriptions, and filter them locally.
|
|
In addition there is an implementation of higher-level API to control a robotic arm. This API allows for switching between control modes, creating and executing motion programs.
|
|
|
|
|
|
**References:**
|
|
## Prerequisites
|
|
1. http://zguide.zeromq.org/page:all
|
|
|
|
|
|
|
|
2. https://nanomsg.github.io/nng/man/tip/index.html |
|
*mbed TLS*[https://tls.mbed.org/](https://tls.mbed.org/) (optional, only required for encrypted communication)
|
|
\ No newline at end of file |
|
|
|
|
|
[Download](https://tls.mbed.org/download) the latest stable version (last tested version = 2.16.4), or clone from the [mbedtls git repository](https://github.com/ARMmbed/mbedtls)
|
|
|
|
|
|
|
|
**When cloning from the [mbedtls git repository](https://github.com/ARMmbed/mbedtls) make sure to switch to the master branch after cloning (the default branch is development)**mkdir build
|
|
|
|
cd build
|
|
|
|
cmake .. -DUSE_SHARED_MBEDTLS_LIBRARY=1
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
|
|
|
|
*nng - nanomsg-next-gen*[https://github.com/nanomsg/nng](https://github.com/nanomsg/nng)mkdir build
|
|
|
|
cd build
|
|
|
|
cmake .. -DBUILD_SHARED_LIBS=1 #optional: -DNNG_ENABLE_TLS=1
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
These steps here are the minimum steps to get a default Debug build. Using CMake you can do many other things, including setting additional variables, setting up for static builds, or generation project or solution files for different development environments. Please check the CMake website for all the various options that CMake supports.
|
|
|
|
|
|
|
|
## Linux
|
|
|
|
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
sudo ldconfig
|
|
|
|
|
|
|
|
## MacOS
|
|
|
|
|
|
|
|
## Windows
|
|
|
|
|
|
|
|
## Getting started
|
|
|
|
|
|
|
|
See `test/api/basic_api_test.cpp` for an example how to use the library. |