#ifndef RT_TASKS_HELPERS
#define RT_TASKS_HELPERS
#include "rttask.h"
#include <iostream>
#include <memory>
namespace RTTaskHelper
{
#if defined(WIN32) && defined(NDEBUG)
{
std::snprintf(
RMP_INSTALL_PATH
);
std::snprintf(
"NodeA"
);
return parameters;
}
#else
{
std::snprintf(
RMP_INSTALL_PATH
);
return parameters;
}
#endif
{
std::cout << "Running initialization task..." << std::endl;
constexpr int timeoutMs = 5000;
}
switch (state) {
default: return "UNKNOWN";
}
}
}
#endif
int64_t ExecutionCountAbsoluteWait(int64_t count=ExecutionCountDefault, int32_t timeoutMs=ExecutionCountWaitTimeoutMillisecondsDefault)
Wait for the task to reach a specific execution count.
Interface for controlling and monitoring a single real-time task. See RTTaskManager::TaskSubmit and R...
RTTask TaskSubmit(const RTTaskCreationParameters ¶meters)
Submit a new task to the manager using creation parameters.
Interface for managing real-time tasks firmware. See Real-Time Tasks for more information.
RTTaskState
Enum representing the possible states of a real-time task.
@ Dead
Task is not initialized or has been terminated.
@ Waiting
Task is active but waiting for its next scheduled execution time.
@ Running
Task is currently executing.
@ Disabled
Task is initialized but not currently executing.
The RealTimeTasks namespace.
RTTaskCreationParameters specifies all the information required to create and configure a real-time t...
int32_t Repeats
Number of times the task should execute (RepeatForever for infinite, 0 for none (one-shot)).
static constexpr int32_t RepeatNone
Special value to indicate the task should not repeat.
char RTTaskDirectory[DirectoryLengthMaximum]
Path to the directory containing the rttaskmanager executable.
RTTaskManagerCreationParameters specifies all the information required to create and configure an RTT...
PlatformType Platform
Platform on which the manager firmware will run.
static constexpr int32_t DirectoryLengthMaximum
Maximum length of the directory path.
char NodeName[NameLengthMaximum]
[INtime] Name of the node on which the manager will run. By default, this is set to (and verified as)...
static constexpr int32_t NameLengthMaximum
Maximum length of name fields (node name, user label).