123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574 |
- using Cxx = import "./include/c++.capnp";
- $Cxx.namespace("cereal");
- @0x80ef1ec4889c2a63;
- # legacy.capnp: a home for deprecated structs
- struct LogRotate @0x9811e1f38f62f2d1 {
- segmentNum @0 :Int32;
- path @1 :Text;
- }
- struct LiveUI @0xc08240f996aefced {
- rearViewCam @0 :Bool;
- alertText1 @1 :Text;
- alertText2 @2 :Text;
- awarenessStatus @3 :Float32;
- }
- struct UiLayoutState @0x88dcce08ad29dda0 {
- activeApp @0 :App;
- sidebarCollapsed @1 :Bool;
- mapEnabled @2 :Bool;
- mockEngaged @3 :Bool;
- enum App @0x9917470acf94d285 {
- home @0;
- music @1;
- nav @2;
- settings @3;
- none @4;
- }
- }
- struct OrbslamCorrection @0x8afd33dc9b35e1aa {
- correctionMonoTime @0 :UInt64;
- prePositionECEF @1 :List(Float64);
- postPositionECEF @2 :List(Float64);
- prePoseQuatECEF @3 :List(Float32);
- postPoseQuatECEF @4 :List(Float32);
- numInliers @5 :UInt32;
- }
- struct EthernetPacket @0xa99a9d5b33cf5859 {
- pkt @0 :Data;
- ts @1 :Float32;
- }
- struct CellInfo @0xcff7566681c277ce {
- timestamp @0 :UInt64;
- repr @1 :Text; # android toString() for now
- }
- struct WifiScan @0xd4df5a192382ba0b {
- bssid @0 :Text;
- ssid @1 :Text;
- capabilities @2 :Text;
- frequency @3 :Int32;
- level @4 :Int32;
- timestamp @5 :Int64;
- centerFreq0 @6 :Int32;
- centerFreq1 @7 :Int32;
- channelWidth @8 :ChannelWidth;
- operatorFriendlyName @9 :Text;
- venueName @10 :Text;
- is80211mcResponder @11 :Bool;
- passpoint @12 :Bool;
- distanceCm @13 :Int32;
- distanceSdCm @14 :Int32;
- enum ChannelWidth @0xcb6a279f015f6b51 {
- w20Mhz @0;
- w40Mhz @1;
- w80Mhz @2;
- w160Mhz @3;
- w80Plus80Mhz @4;
- }
- }
- struct LiveEventData @0x94b7baa90c5c321e {
- name @0 :Text;
- value @1 :Int32;
- }
- struct ModelData @0xb8aad62cffef28a9 {
- frameId @0 :UInt32;
- frameAge @12 :UInt32;
- frameDropPerc @13 :Float32;
- timestampEof @9 :UInt64;
- modelExecutionTime @14 :Float32;
- gpuExecutionTime @16 :Float32;
- rawPred @15 :Data;
- path @1 :PathData;
- leftLane @2 :PathData;
- rightLane @3 :PathData;
- lead @4 :LeadData;
- freePath @6 :List(Float32);
- settings @5 :ModelSettings;
- leadFuture @7 :LeadData;
- speed @8 :List(Float32);
- meta @10 :MetaData;
- longitudinal @11 :LongitudinalData;
- struct PathData @0x8817eeea389e9f08 {
- points @0 :List(Float32);
- prob @1 :Float32;
- std @2 :Float32;
- stds @3 :List(Float32);
- poly @4 :List(Float32);
- validLen @5 :Float32;
- }
- struct LeadData @0xd1c9bef96d26fa91 {
- dist @0 :Float32;
- prob @1 :Float32;
- std @2 :Float32;
- relVel @3 :Float32;
- relVelStd @4 :Float32;
- relY @5 :Float32;
- relYStd @6 :Float32;
- relA @7 :Float32;
- relAStd @8 :Float32;
- }
- struct ModelSettings @0xa26e3710efd3e914 {
- bigBoxX @0 :UInt16;
- bigBoxY @1 :UInt16;
- bigBoxWidth @2 :UInt16;
- bigBoxHeight @3 :UInt16;
- boxProjection @4 :List(Float32);
- yuvCorrection @5 :List(Float32);
- inputTransform @6 :List(Float32);
- }
- struct MetaData @0x9744f25fb60f2bf8 {
- engagedProb @0 :Float32;
- desirePrediction @1 :List(Float32);
- brakeDisengageProb @2 :Float32;
- gasDisengageProb @3 :Float32;
- steerOverrideProb @4 :Float32;
- desireState @5 :List(Float32);
- }
- struct LongitudinalData @0xf98f999c6a071122 {
- distances @2 :List(Float32);
- speeds @0 :List(Float32);
- accelerations @1 :List(Float32);
- }
- }
- struct ECEFPoint @0xc25bbbd524983447 {
- x @0 :Float64;
- y @1 :Float64;
- z @2 :Float64;
- }
- struct ECEFPointDEPRECATED @0xe10e21168db0c7f7 {
- x @0 :Float32;
- y @1 :Float32;
- z @2 :Float32;
- }
- struct GPSPlannerPoints @0xab54c59699f8f9f3 {
- curPosDEPRECATED @0 :ECEFPointDEPRECATED;
- pointsDEPRECATED @1 :List(ECEFPointDEPRECATED);
- curPos @6 :ECEFPoint;
- points @7 :List(ECEFPoint);
- valid @2 :Bool;
- trackName @3 :Text;
- speedLimit @4 :Float32;
- accelTarget @5 :Float32;
- }
- struct GPSPlannerPlan @0xf5ad1d90cdc1dd6b {
- valid @0 :Bool;
- poly @1 :List(Float32);
- trackName @2 :Text;
- speed @3 :Float32;
- acceleration @4 :Float32;
- pointsDEPRECATED @5 :List(ECEFPointDEPRECATED);
- points @6 :List(ECEFPoint);
- xLookahead @7 :Float32;
- }
- struct UiNavigationEvent @0x90c8426c3eaddd3b {
- type @0: Type;
- status @1: Status;
- distanceTo @2: Float32;
- endRoadPointDEPRECATED @3: ECEFPointDEPRECATED;
- endRoadPoint @4: ECEFPoint;
- enum Type @0xe8db07dcf8fcea05 {
- none @0;
- laneChangeLeft @1;
- laneChangeRight @2;
- mergeLeft @3;
- mergeRight @4;
- turnLeft @5;
- turnRight @6;
- }
- enum Status @0xb9aa88c75ef99a1f {
- none @0;
- passive @1;
- approaching @2;
- active @3;
- }
- }
- struct LiveLocationData @0xb99b2bc7a57e8128 {
- status @0 :UInt8;
- # 3D fix
- lat @1 :Float64;
- lon @2 :Float64;
- alt @3 :Float32; # m
- # speed
- speed @4 :Float32; # m/s
- # NED velocity components
- vNED @5 :List(Float32);
- # roll, pitch, heading (x,y,z)
- roll @6 :Float32; # WRT to center of earth?
- pitch @7 :Float32; # WRT to center of earth?
- heading @8 :Float32; # WRT to north?
- # what are these?
- wanderAngle @9 :Float32;
- trackAngle @10 :Float32;
- # car frame -- https://upload.wikimedia.org/wikipedia/commons/f/f5/RPY_angles_of_cars.png
- # gyro, in car frame, deg/s
- gyro @11 :List(Float32);
- # accel, in car frame, m/s^2
- accel @12 :List(Float32);
- accuracy @13 :Accuracy;
- source @14 :SensorSource;
- # if we are fixing a location in the past
- fixMonoTime @15 :UInt64;
- gpsWeek @16 :Int32;
- timeOfWeek @17 :Float64;
- positionECEF @18 :List(Float64);
- poseQuatECEF @19 :List(Float32);
- pitchCalibration @20 :Float32;
- yawCalibration @21 :Float32;
- imuFrame @22 :List(Float32);
- struct Accuracy @0x943dc4625473b03f {
- pNEDError @0 :List(Float32);
- vNEDError @1 :List(Float32);
- rollError @2 :Float32;
- pitchError @3 :Float32;
- headingError @4 :Float32;
- ellipsoidSemiMajorError @5 :Float32;
- ellipsoidSemiMinorError @6 :Float32;
- ellipsoidOrientationError @7 :Float32;
- }
- enum SensorSource @0xc871d3cc252af657 {
- applanix @0;
- kalman @1;
- orbslam @2;
- timing @3;
- dummy @4;
- }
- }
- struct OrbOdometry @0xd7700859ed1f5b76 {
- # timing first
- startMonoTime @0 :UInt64;
- endMonoTime @1 :UInt64;
- # fundamental matrix and error
- f @2: List(Float64);
- err @3: Float64;
- # number of inlier points
- inliers @4: Int32;
- # for debug only
- # indexed by endMonoTime features
- # value is startMonoTime feature match
- # -1 if no match
- matches @5: List(Int16);
- }
- struct OrbFeatures @0xcd60164a8a0159ef {
- timestampEof @0 :UInt64;
- # transposed arrays of normalized image coordinates
- # len(xs) == len(ys) == len(descriptors) * 32
- xs @1 :List(Float32);
- ys @2 :List(Float32);
- descriptors @3 :Data;
- octaves @4 :List(Int8);
- # match index to last OrbFeatures
- # -1 if no match
- timestampLastEof @5 :UInt64;
- matches @6: List(Int16);
- }
- struct OrbFeaturesSummary @0xd500d30c5803fa4f {
- timestampEof @0 :UInt64;
- timestampLastEof @1 :UInt64;
- featureCount @2 :UInt16;
- matchCount @3 :UInt16;
- computeNs @4 :UInt64;
- }
- struct OrbKeyFrame @0xc8233c0345e27e24 {
- # this is a globally unique id for the KeyFrame
- id @0: UInt64;
- # this is the location of the KeyFrame
- pos @1: ECEFPoint;
- # these are the features in the world
- # len(dpos) == len(descriptors) * 32
- dpos @2 :List(ECEFPoint);
- descriptors @3 :Data;
- }
- struct KalmanOdometry @0x92e21bb7ea38793a {
- trans @0 :List(Float32); # m/s in device frame
- rot @1 :List(Float32); # rad/s in device frame
- transStd @2 :List(Float32); # std m/s in device frame
- rotStd @3 :List(Float32); # std rad/s in device frame
- }
- struct OrbObservation @0x9b326d4e436afec7 {
- observationMonoTime @0 :UInt64;
- normalizedCoordinates @1 :List(Float32);
- locationECEF @2 :List(Float64);
- matchDistance @3: UInt32;
- }
- struct CalibrationFeatures @0x8fdfadb254ea867a {
- frameId @0 :UInt32;
- p0 @1 :List(Float32);
- p1 @2 :List(Float32);
- status @3 :List(Int8);
- }
- struct NavStatus @0xbd8822120928120c {
- isNavigating @0 :Bool;
- currentAddress @1 :Address;
- struct Address @0xce7cd672cacc7814 {
- title @0 :Text;
- lat @1 :Float64;
- lng @2 :Float64;
- house @3 :Text;
- address @4 :Text;
- street @5 :Text;
- city @6 :Text;
- state @7 :Text;
- country @8 :Text;
- }
- }
- struct NavUpdate @0xdb98be6565516acb {
- isNavigating @0 :Bool;
- curSegment @1 :Int32;
- segments @2 :List(Segment);
- struct LatLng @0x9eaef9187cadbb9b {
- lat @0 :Float64;
- lng @1 :Float64;
- }
- struct Segment @0xa5b39b4fc4d7da3f {
- from @0 :LatLng;
- to @1 :LatLng;
- updateTime @2 :Int32;
- distance @3 :Int32;
- crossTime @4 :Int32;
- exitNo @5 :Int32;
- instruction @6 :Instruction;
- parts @7 :List(LatLng);
- enum Instruction @0xc5417a637451246f {
- turnLeft @0;
- turnRight @1;
- keepLeft @2;
- keepRight @3;
- straight @4;
- roundaboutExitNumber @5;
- roundaboutExit @6;
- roundaboutTurnLeft @7;
- unkn8 @8;
- roundaboutStraight @9;
- unkn10 @10;
- roundaboutTurnRight @11;
- unkn12 @12;
- roundaboutUturn @13;
- unkn14 @14;
- arrive @15;
- exitLeft @16;
- exitRight @17;
- unkn18 @18;
- uturn @19;
- # ...
- }
- }
- }
- struct TrafficEvent @0xacfa74a094e62626 {
- type @0 :Type;
- distance @1 :Float32;
- action @2 :Action;
- resuming @3 :Bool;
- enum Type @0xd85d75253435bf4b {
- stopSign @0;
- lightRed @1;
- lightYellow @2;
- lightGreen @3;
- stopLight @4;
- }
- enum Action @0xa6f6ce72165ccb49 {
- none @0;
- yield @1;
- stop @2;
- resumeReady @3;
- }
- }
- struct AndroidGnss @0xdfdf30d03fc485bd {
- union {
- measurements @0 :Measurements;
- navigationMessage @1 :NavigationMessage;
- }
- struct Measurements @0xa20710d4f428d6cd {
- clock @0 :Clock;
- measurements @1 :List(Measurement);
- struct Clock @0xa0e27b453a38f450 {
- timeNanos @0 :Int64;
- hardwareClockDiscontinuityCount @1 :Int32;
- hasTimeUncertaintyNanos @2 :Bool;
- timeUncertaintyNanos @3 :Float64;
- hasLeapSecond @4 :Bool;
- leapSecond @5 :Int32;
- hasFullBiasNanos @6 :Bool;
- fullBiasNanos @7 :Int64;
- hasBiasNanos @8 :Bool;
- biasNanos @9 :Float64;
- hasBiasUncertaintyNanos @10 :Bool;
- biasUncertaintyNanos @11 :Float64;
- hasDriftNanosPerSecond @12 :Bool;
- driftNanosPerSecond @13 :Float64;
- hasDriftUncertaintyNanosPerSecond @14 :Bool;
- driftUncertaintyNanosPerSecond @15 :Float64;
- }
- struct Measurement @0xd949bf717d77614d {
- svId @0 :Int32;
- constellation @1 :Constellation;
- timeOffsetNanos @2 :Float64;
- state @3 :Int32;
- receivedSvTimeNanos @4 :Int64;
- receivedSvTimeUncertaintyNanos @5 :Int64;
- cn0DbHz @6 :Float64;
- pseudorangeRateMetersPerSecond @7 :Float64;
- pseudorangeRateUncertaintyMetersPerSecond @8 :Float64;
- accumulatedDeltaRangeState @9 :Int32;
- accumulatedDeltaRangeMeters @10 :Float64;
- accumulatedDeltaRangeUncertaintyMeters @11 :Float64;
- hasCarrierFrequencyHz @12 :Bool;
- carrierFrequencyHz @13 :Float32;
- hasCarrierCycles @14 :Bool;
- carrierCycles @15 :Int64;
- hasCarrierPhase @16 :Bool;
- carrierPhase @17 :Float64;
- hasCarrierPhaseUncertainty @18 :Bool;
- carrierPhaseUncertainty @19 :Float64;
- hasSnrInDb @20 :Bool;
- snrInDb @21 :Float64;
- multipathIndicator @22 :MultipathIndicator;
- enum Constellation @0x9ef1f3ff0deb5ffb {
- unknown @0;
- gps @1;
- sbas @2;
- glonass @3;
- qzss @4;
- beidou @5;
- galileo @6;
- }
- enum State @0xcbb9490adce12d72 {
- unknown @0;
- codeLock @1;
- bitSync @2;
- subframeSync @3;
- towDecoded @4;
- msecAmbiguous @5;
- symbolSync @6;
- gloStringSync @7;
- gloTodDecoded @8;
- bdsD2BitSync @9;
- bdsD2SubframeSync @10;
- galE1bcCodeLock @11;
- galE1c2ndCodeLock @12;
- galE1bPageSync @13;
- sbasSync @14;
- }
- enum MultipathIndicator @0xc04e7b6231d4caa8 {
- unknown @0;
- detected @1;
- notDetected @2;
- }
- }
- }
- struct NavigationMessage @0xe2517b083095fd4e {
- type @0 :Int32;
- svId @1 :Int32;
- messageId @2 :Int32;
- submessageId @3 :Int32;
- data @4 :Data;
- status @5 :Status;
- enum Status @0xec1ff7996b35366f {
- unknown @0;
- parityPassed @1;
- parityRebuilt @2;
- }
- }
- }
- struct LidarPts @0xe3d6685d4e9d8f7a {
- r @0 :List(UInt16); # uint16 m*500.0
- theta @1 :List(UInt16); # uint16 deg*100.0
- reflect @2 :List(UInt8); # uint8 0-255
- # For storing out of file.
- idx @3 :UInt64;
- # For storing in file
- pkt @4 :Data;
- }
|