PREMIUM FEATURE BETA
🔹 RPCs
rpc RTTaskManager (RTTaskManagerRequest) returns (RTTaskManagerResponse) {};
rpc RTTaskManagerBatch(RTTaskManagerBatchRequest) returns (RTTaskManagerBatchResponse) {};
🔹 Request
message RTTaskManagerRequest {
RSI.RapidServer.RequestHeader header = 1;
optional int32 id = 2;
optional RTTaskManagerConfig config = 3;
optional RTTaskManagerAction action = 4;
}
🔹 Response
message RTTaskManagerResponse {
RSI.RapidServer.ResponseHeader header = 1;
optional int32 id = 2;
optional RTTaskManagerConfig config = 3;
optional RTTaskManagerAction action = 4;
optional RTTaskManagerInfo info = 5;
optional RTTaskManagerStatus status = 6;
}
🔹 Batch Request and Response
message RTTaskManagerBatchRequest {
RSI.RapidServer.RequestHeader header = 1;
repeated RTTaskManagerRequest requests = 2;
}
message RTTaskManagerBatchResponse {
RSI.RapidServer.ResponseHeader header = 1;
repeated RTTaskManagerResponse responses = 2;
}
🔹 Config
message RTTaskManagerConfig {}
🔹 Action
message RTTaskManagerAction {
optional Create create = 1;
optional Discover discover = 2;
optional TaskSubmit task_submit = 3;
repeated GlobalValueSet global_value_sets = 4;
optional Shutdown shutdown = 5;
message Create {
RTTaskManagerCreationParameters creation_parameters = 1;
int32 id = 2;
}
message Discover {
repeated int32 manager_ids = 1;
}
message TaskSubmit {
RTTaskCreationParameters task_creation_parameters = 1;
optional int32 task_id = 2;
}
message GlobalValueSet {
FirmwareValue value = 1;
string name = 2;
optional string library_name = 3;
optional string library_directory = 4;
}
message Shutdown {}
}
🔹 Info
message RTTaskManagerInfo {
int32 id = 1;
RTTaskManagerCreationParameters creation_parameters = 2;
Constants constants = 4;
message Constants {
int32 rt_task_manager_count_maximum = 1;
int32 rt_task_count_maximum = 2;
string rt_task_manager_executable_name = 3;
CreationParameterConstants creation_parameters = 4;
message CreationParameterConstants {
int32 directory_length_maximum = 1;
int32 name_length_maximum = 2;
}
}
}
🔹 Status
message RTTaskManagerStatus {
optional uint64 task_submission_count = 2;
optional int64 cycle_count = 3;
optional uint64 cycle_time_max = 4;
optional uint64 cycle_time_min = 5;
optional double cycle_time_mean = 6;
optional uint64 cycle_time_last = 7;
repeated int32 task_ids = 8;
map<string, FirmwareValue> global_values = 9;
}
🔹 Additional Messages
message RTTaskManagerCreationParameters {
optional string rt_task_directory = 1;
optional string node_name = 3;
optional int32 cpu_core = 4;
optional string user_label = 5;
optional bool no_rmp = 6;
}
PlatformTypeUNKNOWN = 0;
PlatformTypeNATIVE = 1;
PlatformTypeINTIME = 2;
PlatformTypeLINUX = 3;
PlatformTypeWINDOWS = 4;
}
RTTaskManagerStateUNKNOWN = 0;
RTTaskManagerStateDEAD = 1;
RTTaskManagerStateRUNNING = 2;
RTTaskManagerStateSTOPPED = 3;
}
message RTTaskCreationParameters {
string function_name = 1;
optional string library_name = 2;
optional string library_directory = 3;
optional string user_label = 4;
optional int32 repeats = 6;
optional int32 period = 7;
optional int32 phase = 8;
optional bool enable_timing = 9;
}
message FirmwareValue {
oneof value {
bool bool_value = 1;
int32 int8_value = 2;
uint32 uint8_value = 3;
int32 int16_value = 4;
uint32 uint16_value = 5;
int32 int32_value = 6;
uint32 uint32_value = 7;
float float_value = 8;
double double_value = 9;
int64 int64_value = 10;
uint64 uint64_value = 11;
}
}