102 lines
1.7 KiB
Protocol Buffer
102 lines
1.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
import "google/rpc/status.proto";
|
|
import "vme.proto";
|
|
|
|
option cc_generic_services = true;
|
|
|
|
package mesytec.mnode.proto.mvlc;
|
|
|
|
message ReadRegisterRequest
|
|
{
|
|
uint32 address = 1;
|
|
}
|
|
|
|
message WriteRegisterRequest
|
|
{
|
|
uint32 address = 1;
|
|
uint32 value = 2;
|
|
}
|
|
|
|
message WriteRegisterResponse
|
|
{
|
|
optional google.rpc.Status status = 1;
|
|
}
|
|
|
|
message ReadRegisterResponse
|
|
{
|
|
optional uint32 value = 1;
|
|
optional google.rpc.Status status = 2;
|
|
}
|
|
|
|
message Buffer
|
|
{
|
|
repeated uint32 data = 1;
|
|
}
|
|
|
|
message LowLevelRequest
|
|
{
|
|
Buffer contents = 1;
|
|
}
|
|
|
|
message LowLevelResponse
|
|
{
|
|
Buffer contents = 1;
|
|
}
|
|
|
|
message CommandRequest
|
|
{
|
|
Buffer contents = 1;
|
|
};
|
|
|
|
message CommandResponse
|
|
{
|
|
Buffer contents = 1;
|
|
};
|
|
|
|
enum Pipe
|
|
{
|
|
Command = 0;
|
|
Data = 1;
|
|
}
|
|
|
|
message WriteRequest
|
|
{
|
|
Pipe pipe = 1;
|
|
bytes data = 2;
|
|
}
|
|
|
|
message WriteResponse
|
|
{
|
|
google.rpc.Status status = 1;
|
|
uint32 bytes_written = 2;
|
|
}
|
|
|
|
message ReadRequest
|
|
{
|
|
Pipe pipe = 1;
|
|
uint32 bytes_to_read = 2;
|
|
}
|
|
|
|
message ReadResponse
|
|
{
|
|
google.rpc.Status status = 1;
|
|
bytes data = 2;
|
|
}
|
|
|
|
service MvlcCoreService
|
|
{
|
|
rpc Write(WriteRequest) returns (WriteResponse);
|
|
rpc Read(ReadRequest) returns (ReadResponse);
|
|
}
|
|
|
|
service MVLCService
|
|
{
|
|
rpc LowLevelTransaction(LowLevelRequest) returns (LowLevelResponse);
|
|
rpc CommandTransaction(CommandRequest) returns (CommandResponse);
|
|
|
|
rpc ReadRegister(ReadRegisterRequest) returns (ReadRegisterResponse);
|
|
rpc WriteRegister(WriteRegisterRequest) returns (WriteRegisterResponse);
|
|
rpc VMERead(mesytec.mnode.proto.vme.ReadRequest) returns (mesytec.mnode.proto.vme.ReadResponse);
|
|
rpc VMEWrite(mesytec.mnode.proto.vme.WriteRequest) returns (mesytec.mnode.proto.vme.WriteResponse);
|
|
}
|