Schema
The schema that's used in the Centipede communication is the following:
syntax = "proto3";
syntax = "proto3";
message Command {
int32 command = 1;
optional int32 parameter = 2;
optional string filter = 3;
}
message Project {
UID project_id = 10;
optional string client_code = 12;
optional string site_code = 13;
optional int32 last_update = 14;
optional string project_name = 15;
}
message TestPlan {
UID testplan_id = 20;
string testplan_code = 21;
string testplan_name = 22;
bool locked = 23;
repeated ResultSetting settings = 24;
optional string description = 25;
int32 lockPin = 26;
}
message Step {
UID step_id = 30;
UID parent_id = 31;
int32 seq_num = 32;
repeated ResultSetting results = 33;
repeated Measurement measurements = 34;
repeated ResultSetting settings = 35;
optional string instruction = 36;
}
message Measurement {
int32 measurement_number = 40;
repeated ResultSetting results = 41;
repeated ResultSetting settings = 42;
optional int32 text_id = 43;
}
message DUT {
UID dut_id = 50;
string dut_code_or_serial = 51;
optional UID project_id = 52;
optional UID testplan_id = 53;
repeated ResultSetting results = 54;
optional int32 last_update = 55;
optional string model_or_vin = 56;
optional string plate_number = 57;
optional string manufacturer = 58;
repeated ResultSetting settings = 59;
optional int32 ampacity_override = 60;
optional int32 cable_length = 61;
optional int32 phases_override = 62;
}
message ResultSetting {
int32 name_enum = 60;
optional ResultSettingValue value = 61;
optional LimitValue limit = 62;
}
message ResultSettingValue {
optional float numeric_value = 70;
optional int32 descriptive_value = 71;
}
message LimitValue {
optional float limit_low = 80;
optional float limit_high = 81;
}
message Ota {
int32 seq_num = 90;
int32 address = 91;
bytes byte_array = 92;
}
message UID {
uint32 serial_counter = 100;
uint32 timestamp = 101;
}
message TesterInfo {
string fw_ver = 110;
string hw_ver = 111;
int32 protocol_version = 112;
string ag_version = 113;
int32 serial_number = 114;
string model = 115;
int32 last_calibration_date = 116;
int32 communication_line = 117;
}
message OtaInfo {
int32 number_of_packets = 120;
int32 overall_crc32 = 121;
string firmware_version = 122;
}
message UpdatePacket {
OtaInfo info = 130;
repeated Ota packets = 131;
}
message ImportExportCommand {
optional int32 parameter = 140;
repeated UID path_sections = 141;
optional int32 seq_num = 142;
optional bytes query = 143;
}
message DateTimeZoneCommand {
int32 timezone = 150;
int64 epoch = 151;
}
message CommandEnums {
int32 Ota = 100;
int32 Ok = 101;
int32 Nok = 102;
int32 TesterInfo = 103;
int32 Import = 104;
int32 Export = 105;
int32 End = 106;
}
message ParameterOtaEnums {
int32 Start = 108;
int32 OtaErase = 109;
int32 ShowUpdatePopup = 110;
int32 CreateBridge = 111;
int32 DestroyBridge = 112;
int32 GoToBootloader = 113;
int32 GoToApp = 114;
}
message ParameterEntityEnums {
int32 Project = 111;
int32 DUT = 112;
int32 DUTStep = 113;
int32 TestPlan = 114;
int32 TestPlanStep = 115;
int32 Root = 116;
int32 TestPlanRoot = 117;
int32 Manufacturer = 118;
int32 VisualText = 119;
}
message StructureIDs {
int32 Command = 10;
int32 Project = 11;
int32 DUT = 12;
int32 DutStep = 13;
int32 TestPlan = 14;
int32 TestPlanStep = 15;
int32 Result = 16;
int32 Setting = 17;
int32 Ota = 18;
int32 TesterInfo = 19;
int32 OtaInfo = 20;
int32 ImportCommand = 21;
int32 ExportCommand = 22;
int32 DateTimeZoneCommand = 23;
int32 Manufacturer = 24;
int32 VisualText = 25;
}