#include <cassert>
#include "rsi.h"
#include <cmath>
{
{
printf(
"%s\n", err->
text);
}
if (hasError)
{
exit(1);
}
}
{
;
{
printf("%s\n", err);
}
if (hasError)
{
exit(1);
}
}
int syncOutputWithMotionMain(int argc, char *argv[])
{
const double TIME_SLICE = 0.01;
const int AXIS_COUNT = 1;
const int REVS = 4;
const int RPS = 1;
const int CPS = (int)std::powl(2, 20);
const int TOTAL_POINTS = (int)(REVS / TIME_SLICE / RPS);
const int EMPTY_CT = -1;
try {
PrintStreamingOutputErrors(controller);
PrintStreamingOutputNetworkErrors(controller);
PrintStreamingOutputErrors(multiAxis);
for (int i = 0; i < AXIS_COUNT; i++)
{
PrintStreamingOutputErrors(tempAxis);
}
std::vector<double> positions, times;
for (int i = 0; i < TOTAL_POINTS; i += AXIS_COUNT)
{
positions.push_back(i * TIME_SLICE * RPS);
times.push_back(TIME_SLICE);
}
assert(multiAxis->
StateGet() == RSIState::RSIStateIDLE);
int outPutEnableID = TOTAL_POINTS / 2;
multiAxis->
MovePT(RSIMotionType::RSIMotionTypePT, &positions[0], ×[0], TOTAL_POINTS, EMPTY_CT,
false,
true);
printf("Motion started. Waiting to complete.\n");
printf("Motion Complete. The outputs should have been set\n");
}
printf("\n%s\n", err.text);
argc = argc;
return 1;
}
return 0;
}