galmon/navmon.proto

249 lines
6.0 KiB
Protocol Buffer

syntax = "proto2";
message NavMonMessage {
enum Type {
ReceptionDataType = 1;
ObserverPositionType = 2;
GalileoInavType = 3;
RFDataType = 4;
GPSInavType = 5;
BeidouInavTypeD1 = 6;
GlonassInavType = 7;
BeidouInavTypeD2 = 8;
SARResponseType = 9;
DebuggingType = 10;
ObserverDetailsType = 11;
UbloxJammingStatsType = 12;
SBASMessageType = 13;
GPSCnavType = 14;
RTCMMessageType = 15;
TimeOffsetType = 16;
GalileoFnavType = 17;
GalileoCnavType = 18;
}
required uint64 sourceID = 1;
required Type type = 2;
required uint64 localUtcSeconds = 3;
required uint64 localUtcNanoseconds = 4;
message GalileoInav {
required uint32 gnssWN =1;
required uint32 gnssTOW =2; // INTEGERS!
required uint32 gnssID =3;
required uint32 gnssSV =4;
required bytes contents =5;
optional uint32 sigid = 6;
optional bytes reserved1 = 7;
optional bytes reserved2 = 8;
optional bytes sar = 9;
optional bytes spare = 10;
optional bytes crc = 11;
}
message GalileoFnav {
required uint32 gnssWN =1;
required uint32 gnssTOW =2; // INTEGERS!
required uint32 gnssID =3;
required uint32 gnssSV =4;
required bytes contents =5;
required uint32 sigid = 6;
}
message GalileoCnav {
required uint32 gnssWN =1;
required uint32 gnssTOW =2; // INTEGERS!
required uint32 gnssID =3;
required uint32 gnssSV =4;
required bytes contents =5;
required uint32 sigid = 6;
}
message GPSInav {
required uint32 gnssWN =1;
required uint32 gnssTOW =2; // INTEGERS!
required uint32 gnssID =3;
required uint32 gnssSV =4;
required bytes contents =5;
optional uint32 sigid = 6;
}
message BeidouInavD1 {
required uint32 gnssWN =1;
required uint32 gnssTOW =2; // INTEGERS!
required uint32 gnssID =3;
required uint32 gnssSV =4;
required bytes contents =5;
optional uint32 sigid = 6;
}
message BeidouInavD2 {
required uint32 gnssWN =1;
required uint32 gnssTOW =2; // INTEGERS!
required uint32 gnssID =3;
required uint32 gnssSV =4;
required bytes contents =5;
optional uint32 sigid = 6;
}
message GlonassInav {
required uint32 gnssID = 1;
required uint32 gnssSV = 2;
required uint32 freq = 3;
required bytes contents = 4;
optional uint32 sigid = 5;
}
message ReceptionData {
required uint32 gnssID =1;
required uint32 gnssSV =2;
optional uint32 sigid = 7;
required uint32 db =3;
required uint32 el =4;
required uint32 azi =5;
required double prRes =6;
optional uint32 qi = 8;
optional bool used = 9;
}
message RFData {
required double rcvTow = 1;
required uint32 rcvWn = 2;
required uint32 gnssID =3;
required uint32 gnssSV =4;
required double doppler =5;
required double carrierphase = 6;
required double pseudorange = 7;
required double locktimeMS = 8;
required double doStd = 9;
required double cpStd = 10;
required double prStd = 11;
optional uint32 sigid = 12;
optional uint32 cno = 13;
optional bool prvalid = 14;
optional bool cpvalid = 15;
optional bool halfcycvalid =16;
optional bool subhalfcyc = 17;
optional bool clkReset = 18;
}
message ObserverPosition {
required double x = 1;
required double y = 2;
required double z = 3;
required double acc = 4;
optional double groundSpeed = 5;
}
message SARResponse {
required uint32 gnssID =1;
required uint32 gnssSV =2;
required uint32 sigid =3;
required uint32 type =4;
required bytes identifier = 5;
required uint32 code= 6;
required bytes params =7;
}
message DebuggingMessage {
required uint32 type = 1;
required bytes payload = 2;
}
message ObserverDetails {
required string vendor = 1;
required string hwversion = 2;
required string modules = 3;
required string swversion = 4;
required string serialno = 5;
optional double clockOffsetNS = 6;
optional double clockOffsetDriftNS = 7;
optional double clockAccuracyNS = 8;
optional double freqAccuracyPS = 9;
optional string owner = 10;
optional string remark = 11;
optional string recvgithash = 12;
optional uint32 uptime = 13;
}
message UbloxJammingStats
{
required uint32 noisePerMS = 1;
required uint32 agcCnt = 2;
required uint32 flags = 3;
required uint32 jamInd = 4;
}
message SBASMessage {
required uint32 gnssID = 1;
required uint32 gnssSV = 2;
required bytes contents = 3;
}
message GPSCnav {
required uint32 gnssWN =1;
required uint32 gnssTOW =2; // INTEGERS!
required uint32 gnssID =3;
required uint32 gnssSV =4;
required bytes contents =5;
required uint32 sigid = 6;
}
message RTCMMessage {
required bytes contents =5;
}
message GNSSOffset
{
required uint32 gnssid = 1;
required int32 offsetNS = 2;
required uint32 tAcc = 3;
required bool valid = 4;
optional int32 leapS = 5;
required uint32 tow = 6;
optional uint32 wn = 7;
optional uint32 nT = 8;
optional uint32 n4 = 9;
}
message TimeOffsetMessage
{
required uint32 itow = 1;
repeated GNSSOffset offsets = 2;
}
optional GalileoInav gi=5;
optional ReceptionData rd=6;
optional RFData rfd=7;
optional ObserverPosition op=8;
optional GPSInav gpsi=9;
optional BeidouInavD1 bid1=10;
optional BeidouInavD2 bid2=11;
optional GlonassInav gloi=12;
optional SARResponse sr=13;
optional DebuggingMessage dm = 14;
optional ObserverDetails od = 15;
optional UbloxJammingStats ujs = 16;
optional SBASMessage sbm = 17;
optional GPSCnav gpsc = 18;
optional RTCMMessage rm = 19;
optional TimeOffsetMessage to = 20;
optional GalileoFnav gf=21;
optional GalileoCnav gc=22;
}