This class includes the source code of all our SampleAppsCPP helper functions.
Helper functions were created to reduce code. Please note that if you would like to use this classes on your personal project you will have to replicate this class.
- Precondition
- This sample code presumes that the user has set the tuning paramters(PID, PIV, etc.) prior to running this program so that the motor can rotate in a stable manner.
- Warning
- This is a sample program to assist in the integration of the RMP motion controller with your application. It may not contain all of the logic and safety features that your application requires.
#ifndef CPP_HELPER_FUNCTIONS
#define CPP_HELPER_FUNCTIONS
#include "rsi.h"
#include <iostream>
#include <cstdlib>
using namespace std;
{
public:
{
bool hasErrors = false;
std::string errorStrings("");
{
errorStrings += err->
what();
{
hasErrors = true;
}
}
if (errorStrings.size() > 0)
{
printf("%s", errorStrings.c_str());
}
if (hasErrors)
{
throw std::exception(errorStrings.c_str());
}
}
{
if (controller->
NetworkStateGet() != RSINetworkState::RSINetworkStateOPERATIONAL)
{
cout << "Starting Network.." << endl;
}
if (controller->
NetworkStateGet() != RSINetworkState::RSINetworkStateOPERATIONAL)
{
for (int i = 0; i < messagesToRead; i++)
{
}
cout << "Expected OPERATIONAL state but the network did not get there." << endl;
}
else
{
cout << "Network Started" << endl;
}
}
};
#endif