From afa7f2408b1cff11c4c2aba532fa1d9c569e090e Mon Sep 17 00:00:00 2001 From: Vehicle Researcher Date: Thu, 27 Feb 2020 14:59:47 -0800 Subject: [PATCH] Squashed 'cereal/' changes from eba4349b9..20c7fd608 20c7fd608 Add subaru pre-Global safety mode 522ff85d9 Merge pull request #31 from commaai/good_location_packet ab07f229d deprecate b03c2c52a already exists 166418c00 improvements 97373f9d2 or rigor in american 365abba2e rigour 25eaf9df5 add espDisabled to carState (#30) bb1312128 add honda ecus (#29) git-subtree-dir: cereal git-subtree-split: 20c7fd60846023adf1fb513df3f3c2af66a1c656 --- car.capnp | 13 +++++++++++++ log.capnp | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/car.capnp b/car.capnp index 58ff3fb42e95cb..8ed11a7606773d 100644 --- a/car.capnp +++ b/car.capnp @@ -127,6 +127,7 @@ struct CarState { steeringRateLimited @29 :Bool; # if the torque is limited by the rate limiter stockAeb @30 :Bool; stockFcw @31 :Bool; + espDisabled @32 :Bool; # cruise state cruiseState @10 :CruiseState; @@ -441,6 +442,7 @@ struct CarParams { noOutput @19; # like silent but without silent CAN TXs hondaBoschHarness @20; volkswagenPq @21; + subaruLegacy @22; # pre-Global platform } enum SteerControlType { @@ -468,10 +470,21 @@ struct CarParams { fwdCamera @3; engine @4; unknown @5; + transmission @8; # Transmission Control Module + srs @9; # airbag + gateway @10; # can gateway + hud @11; # heads up display + combinationMeter @12; # instrument cluster # Toyota only dsu @6; apgs @7; + + # Honda only + vsa @13; # Vehicle Stability Assist + programmedFuelInjection @14; + electricBrakeBooster @15; + shiftByWire @16; } enum FingerprintSource { diff --git a/log.capnp b/log.capnp index 46971d81a309e9..225085861022b6 100644 --- a/log.capnp +++ b/log.capnp @@ -790,6 +790,51 @@ struct PathPlan { } } +struct LiveLocationKalman { + + # More info on reference frames: + # https://github.com/commaai/openpilot/tree/master/common/transformations + + positionECEF @0 : Measurement; + positionGeodetic @1 : Measurement; + velocityECEF @2 : Measurement; + velocityNED @3 : Measurement; + velocityDevice @4 : Measurement; + accelerationDevice @5: Measurement; + + + # These angles are all eulers and roll, pitch, yaw + # orientationECEF transforms to rot matrix: ecef_from_device + orientationECEF @6 : Measurement; + orientationNED @7 : Measurement; + angularVelocityDevice @8 : Measurement; + + # orientationNEDCalibrated transforms to rot matrix: NED_from_calibrated + orientationNEDCalibrated @9 : Measurement; + + # Calibrated frame is simply device frame + # aligned with the vehicle + velocityCalibrated @10 : Measurement; + accelerationCalibrated @11 : Measurement; + angularVelocityCalibrated @12 : Measurement; + + gpsWeek @13 :Int32; + gpsTimeOfWeek @14 :Float64; + status @15 :Status; + + enum Status { + uninitialized @0; + uncalibrated @1; + valid @2; + } + + struct Measurement { + val @0 : List(Float64); + std @1 : List(Float64); + valid @2 : Bool; + } +} + struct LiveLocationData { status @0 :UInt8; @@ -1933,7 +1978,7 @@ struct Event { gpsLocationExternal @48 :GpsLocationData; location @49 :LiveLocationData; uiNavigationEvent @50 :UiNavigationEvent; - liveLocationKalman @51 :LiveLocationData; + liveLocationKalmanDEPRECATED @51 :LiveLocationData; testJoystick @52 :Joystick; orbOdometry @53 :OrbOdometry; orbFeatures @54 :OrbFeatures; @@ -1953,5 +1998,6 @@ struct Event { carParams @69: Car.CarParams; frontFrame @70: FrameData; dMonitoringState @71: DMonitoringState; + liveLocationKalman @72 :LiveLocationKalman; } }