🔹 RPCs
rpc MathBlock (MathBlockRequest) returns (MathBlockResponse) {};
rpc MathBlockBatch(MathBlockBatchRequest) returns (MathBlockBatchResponse) {};
🔹 Request
message MathBlockRequest {
RSI.RapidServer.RequestHeader header = 1;
int32 index = 2;
optional MathBlockConfig config = 3;
optional MathBlockAction action = 4;
}
🔹 Response
message MathBlockResponse {
RSI.RapidServer.ResponseHeader header = 1;
int32 index = 2;
optional MathBlockConfig config = 3;
optional MathBlockAction action = 4;
optional MathBlockInfo info = 5;
optional MathBlockStatus status = 6;
}
🔹 Batch Request and Response
message MathBlockBatchRequest {
RSI.RapidServer.RequestHeader header = 1;
repeated MathBlockRequest requests = 2;
}
message MathBlockBatchResponse {
RSI.RapidServer.ResponseHeader header = 1;
repeated MathBlockResponse responses = 2;
}
🔹 Config
message MathBlockConfig {
optional uint64 input_address_0 = 1;
optional uint64 input_address_1 = 3;
optional uint64 output_address = 6;
}
🔹 Action
message MathBlockAction {
optional ProcessValueGet process_value_get = 1;
message ProcessValueGet {
optional FirmwareValue value = 1;
}
}
🔹 Info
message MathBlockInfo {
optional uint64 process_value_host_address = 1;
optional uint64 process_value_firmware_address = 2;
}
🔹 Status
message MathBlockStatus {
int32 index = 1;
optional FirmwareValue process_value = 2;
}