syntax = "proto2"; enum Tof3dFunctional { SearchDevice = 1; ConnectDevice = 2; ConnectAllEtcDevices = 3; ConnectAllSearchDevices = 4; DisConnectDevice = 5; DisConnectAllEtcDevices = 6; DisConnectAllSearchDevices = 7; getDepthFrame = 8; getIrFrame = 9; getDepthAndIrPicture = 10; getDepthPointCloud = 11; DepthFrame2PointCloud = 12; Frame2Mat = 13; } enum Tof3dVzFrameType { Tof3dVzDepthFrame = 0; Tof3dVzIRFrame = 1; } enum Tof3dVzPixelFormat { Tof3dVzPixelFormatDepthMM16 = 0; Tof3dVzPixelFormatGray8 = 2; } message Tof3dVzFrame { required uint32 frameIndex = 1; required Tof3dVzFrameType frameType = 2; required Tof3dVzPixelFormat pixelFormat = 3; repeated uint32 pFrameData = 4; required uint32 dataLen = 5; required float exposureTime = 6; required uint32 depthRange = 7; required uint32 width = 8; required uint32 height = 9; required uint64 deviceTimestamp = 10; } message Tof3dVzVector3f { required int32 x = 1; required int32 y = 2; required int32 z = 3; } message Tof3dMat { repeated uint32 data = 1; required int32 size = 2; required int32 rows = 3; required int32 cols = 4; required uint32 type = 5; required uint64 stamp = 10; } message Tof3dFunctionalParams { optional int64 error_code = 1; optional int64 error_level = 2; optional string error_string = 3; optional string ip = 4; optional double search_time = 5; optional bool open_stream = 6; optional Tof3dVzFrame depthFrame = 7; optional Tof3dVzFrame irFrame = 8; repeated Tof3dVzVector3f depthCloud = 9; repeated Tof3dVzVector3f irCloud = 10; optional Tof3dMat depthMat = 11; optional Tof3dMat irMat = 12; } message Tof3dCommunicatonProtocol { required Tof3dFunctional func = 1; required Tof3dFunctionalParams func_params = 2; }