10#include "SampleAppsHelper.h"
13#include "RTTasksHelpers.h"
22using namespace RSI::RapidCode::RealTimeTasks;
26 const std::string SAMPLE_APP_NAME =
"Real-Time Tasks: Hello RTTasks";
37 std::cout <<
"Creating task manager..." << std::endl;
51 std::cout <<
"Submitting task..." << std::endl;
54 std::unique_ptr<RTTask> task(manager->TaskSubmit(params));
57 task->ExecutionCountAbsoluteWait(50, 500);
60 std::cout <<
"Getting counter global tag..." << std::endl;
63 if (counter.Int64 <= 0)
67 std::cout <<
"Counter is not greater than 0. The task did not run correctly." << std::endl;
73 std::cout <<
"Counter: " << counter.Int64 << std::endl;
76 catch (
const std::exception& e)
78 std::cerr << e.what() << std::endl;
81 if (manager !=
nullptr)
static MotionController * Create()
Initialize and start the RMP EtherCAT controller.
void Delete(void)
Delete the MotionController and all its objects.
Represents the RMP soft motion controller. This class provides an interface to general controller con...
static RTTaskManager * Create(const RTTaskManagerCreationParameters ¶meters)
Create a new RTTaskManager instance.
static void PrintFooter(std::string sampleAppName, int exitCode)
Print a message to indicate the sample app has finished and if it was successful or not.
static void CheckErrors(RapidCodeObject *rsiObject)
Checks for errors in the given RapidCodeObject and throws an exception if any non-warning errors are ...
static void PrintHeader(std::string sampleAppName)
Print a start message to indicate that the sample app has started.
static void Cleanup(MotionController *controller)
Cleanup the controller and restore the object counts to the original values.
static MotionController::CreationParameters GetCreationParameters()
Returns a MotionController::CreationParameters object with user-defined parameters.
static void SetupController(MotionController *controller, int numAxes=0)
Setup the controller with user defined axis counts and configuration.
CreationParameters for MotionController::Create.
RTTaskCreationParameters specifies all the information required to create and configure a real-time t...
static constexpr int32_t RepeatForever
Special value to indicate the task should repeat forever.
RTTaskManagerCreationParameters specifies all the information required to create and configure an RTT...
Union representing a generic RMP firmware value with multiple data types, stored in 64-bits.