syntax = "proto3"; package JetStream; message RequestCmd { int32 Id=1; // 对于获取对应id的相机数据。1,2,3,4,其他表示所有 //对于打开视频流 } message Response{ string info=2; } message Image{ int32 width=1; int32 height=2; int32 channel=3; bytes data=4; } message PointCloud{ int32 size=1; bytes data=2; } message ResImage{ Image img1=1; Image img2=2; Image img3=3; Image img4=4; } message ResCloud{ PointCloud cloud1=1; PointCloud cloud2=2; PointCloud cloud3=3; PointCloud cloud4=4; } message MeasureInfo { optional float x=1; optional float y=2; optional float trans_x=3; optional float trans_y=4; optional float theta=5; optional float width=6; optional float wheelbase=7; optional float ftheta=8; // 超界说明,此参数没有表示正常。 // 1:超宽,2:轴距超长, // 3:前超界,4:后超界,5:左,6:右,7:左倾角过大,8:右倾角过大,9:前轮角过大 optional int32 border_plc=9; optional int32 border_display=10; optional string error=11; } message ResFrame{ ResImage images=1; ResCloud clouds=2; MeasureInfo measure_info=3; } service StreamServer{ rpc OpenImageStream(RequestCmd) returns(stream ResImage){} rpc OpenMeasureDataStream(RequestCmd) returns(stream MeasureInfo){} rpc CloseImageStream(RequestCmd) returns(Response){} rpc CloseMeasureDataStream(RequestCmd) returns(Response){} rpc GetCloud(RequestCmd) returns(ResCloud){} rpc GetImage(RequestCmd) returns(ResImage){} } message Boundary{ float radius=1; //转台半径 float left=2; float right=3; float buttom=4; float minAngle=5; float maxAngle=6; float fwheelAngle=7; } message Limit{ Boundary plc_limit=1; Boundary display_limit=2; float maxWidth=3; float maxWheelBase=4; }