🔹 RPCs
rpc Network(NetworkRequest) returns (NetworkResponse) {};
🔹 Request
message NetworkRequest {
RSI.RapidServer.RequestHeader header = 1;
optional NetworkConfig config = 2;
optional NetworkAction action = 3;
}
🔹 Response
message NetworkResponse {
RSI.RapidServer.ResponseHeader header = 1;
optional NetworkConfig config = 2;
optional NetworkAction action = 3;
optional NetworkInfo info = 4;
optional NetworkStatus status = 5;
}
🔹 Config
🔹 Action
message NetworkAction {
optional Shutdown shutdown = 1;
optional Discover discover = 2;
optional Start start = 3;
optional DiscoverAndStart discover_and_start = 4;
optional TimingMetricsEnable timing_metrics_enable = 5;
optional TimingMetricsDisable timing_metrics_disable = 6;
optional TimingMetricsClear timing_metrics_clear = 7;
repeated OutputOverride output_override = 8;
message Shutdown { }
message Discover {
optional uint32 timeout_milliseconds = 3;
}
message Start {
optional uint32 timeout_milliseconds = 2;
}
message DiscoverAndStart {
optional uint32 timeout_milliseconds = 2;
}
message TimingMetricsEnable {
optional uint32 low_threshold = 1;
optional uint32 high_threshold = 2;
}
message TimingMetricsDisable {}
message TimingMetricsClear {}
message OutputOverride {
int32 index = 1;
optional bool override = 2;
optional int64 override_value = 3;
}
}
🔹 Info
message NetworkInfo {
int32 pdo_input_count = 4;
int32 pdo_output_count = 5;
repeated PdoInputInfo pdo_inputs = 6;
repeated PdoOutputInfo pdo_outputs = 7;
message PdoInputInfo {
string name = 1;
AddressInfo address_info = 2;
int32 bit_size = 3;
int32 bit_offset = 4;
}
message PdoOutputInfo {
string name = 1;
AddressInfo sent_value_address = 2;
AddressInfo override_value_address = 3;
AddressInfo firmware_value_address = 4;
int32 bit_size = 5;
int32 bit_offset = 6;
}
}
🔹 Status
message NetworkStatus {
int32 node_count = 2;
int32 counter = 3;
bool synchronized = 4;
string log_message = 6;
TimingMetricsStatus timing_metrics = 7;
repeated PdoInputStatus pdo_inputs = 8;
repeated PdoOutputStatus pdo_outputs = 9;
message TimingMetricsStatus {
uint32 delta = 1;
uint32 min_recorded = 2;
uint32 max_recorded = 3;
uint32 low_count = 4;
uint32 high_count = 5;
}
message PdoInputStatus {
int32 index = 1;
int64 value = 2;
}
message PdoOutputStatus {
int32 index = 1;
int64 sent_value = 2;
int64 override_value = 3;
int64 firmware_value = 4;
bool override_enabled = 5;
}
}