RPCs
rpc Recorder (RecorderRequest) returns (RecorderResponse) {};
rpc RecorderBatch(RecorderBatchRequest) returns (RecorderBatchResponse) {};
Request
message RecorderRequest {
RSI.RapidServer.RequestHeader header = 1;
int32 index = 2;
optional RecorderConfig config = 3;
optional RecorderAction action = 4;
}
Response
message RecorderResponse {
RSI.RapidServer.ResponseHeader header = 1;
int32 index = 2;
optional RecorderConfig config = 3;
optional RecorderAction action = 4;
optional RecorderInfo info = 5;
optional RecorderStatus status = 6;
}
Batch Request and Response
message RecorderBatchRequest {
RSI.RapidServer.RequestHeader header = 1;
repeated RecorderRequest requests = 2;
}
message RecorderBatchResponse {
RSI.RapidServer.ResponseHeader header = 1;
repeated RecorderResponse responses = 2;
}
Config
message RecorderConfig {
int32 period = 1;
bool circular_buffer = 2;
repeated AddressInfo addresses = 3;
RecorderTriggerOnMotion trigger = 4;
int32 buffer_high_count = 5;
int32 record_max_count = 6;
message RecorderTriggerOnMotion {
int32 motion_index = 1;
}
}
Action
message RecorderAction {
optional Reset reset = 1;
optional
Start start = 2;
optional Stop stop = 3;
message Reset {};
message Stop {};
}
Info
Status
message RecorderStatus {
bool is_recording = 1;
repeated Record records = 3;
message Record {
repeated RecordData data = 1;
message RecordData {
oneof data {
double d = 1;
int32 i32 = 2;
}
}
}
}