syntax = "proto3";

package autd3;

import "utils.proto";

message TxRawData {
  bytes data = 1;
  uint32 num_devices = 2;
}
message SendResponse { bool success = 1; }
message RxMessage { bytes data = 1; }
message ReadRequest {}

message CloseRequest {}
message CloseResponse { bool success = 1; }

message GeometryResponse {}

service Simulator {
  rpc ConfigGeomety(Geometry) returns (GeometryResponse) {}
  rpc UpdateGeomety(Geometry) returns (GeometryResponse) {}
  rpc SendData(TxRawData) returns (SendResponse) {}
  rpc ReadData(ReadRequest) returns (RxMessage) {}
  rpc Close(CloseRequest) returns (CloseResponse) {}
}

service ECAT {
  rpc SendData(TxRawData) returns (SendResponse) {}
  rpc ReadData(ReadRequest) returns (RxMessage) {}
  rpc Close(CloseRequest) returns (CloseResponse) {}
}
