Files
dragonpilot/cereal/custom.capnp
dragonpilot 2759f1a1a1 dragonpilot beta3
date: 2023-08-07T16:49:41
commit: 7a937ab993c53607a38e9eac040c91c0ffcb9e30
2023-08-07 16:49:44 +08:00

107 lines
3.0 KiB
Cap'n Proto

using Cxx = import "./include/c++.capnp";
$Cxx.namespace("cereal");
@0xb526ba661d550a59;
# custom.capnp: a home for empty structs reserved for custom forks
# These structs are guaranteed to remain reserved and empty in mainline
# cereal, so use these if you want custom events in your fork.
# you can rename the struct, but don't change the identifier
struct LiveMapData @0x81c2f05a394cf4af {
speedLimitValid @0 :Bool;
speedLimit @1 :Float32;
speedLimitAheadValid @2 :Bool;
speedLimitAhead @3 :Float32;
speedLimitAheadDistance @4 :Float32;
turnSpeedLimitValid @5 :Bool;
turnSpeedLimit @6 :Float32;
turnSpeedLimitEndDistance @7 :Float32;
turnSpeedLimitSign @8 :Int16;
turnSpeedLimitsAhead @9 :List(Float32);
turnSpeedLimitsAheadDistances @10 :List(Float32);
turnSpeedLimitsAheadSigns @11 :List(Int16);
lastGpsTimestamp @12 :Int64; # Milliseconds since January 1, 1970.
currentRoadName @13 :Text;
lastGpsLatitude @14 :Float64;
lastGpsLongitude @15 :Float64;
lastGpsSpeed @16 :Float32;
lastGpsBearingDeg @17 :Float32;
lastGpsAccuracy @18 :Float32;
lastGpsBearingAccuracyDeg @19 :Float32;
}
struct LongitudinalPlanExt @0xaedffd8f31e7b55d {
visionTurnControllerState @0 :VisionTurnControllerState;
visionTurnSpeed @1 :Float32;
speedLimitControlState @2 :SpeedLimitControlState;
speedLimit @3 :Float32;
speedLimitOffset @4 :Float32;
distToSpeedLimit @5 :Float32;
isMapSpeedLimit @6 :Bool;
speedLimitPercOffset @7 :Bool;
speedLimitValueOffset @8 :Float32;
distToTurn @9 :Float32;
turnSpeed @10 :Float32;
turnSpeedControlState @11 :SpeedLimitControlState;
turnSign @12 :Int16;
dpE2EIsBlended @13 :Bool;
longitudinalPlanExtSource @14 :LongitudinalPlanExtSource;
de2eIsEnabled @15 :Bool;
enum LongitudinalPlanExtSource {
cruise @0;
lead0 @1;
lead1 @2;
lead2 @3;
e2e @4;
turn @5;
limit @6;
turnlimit @7;
}
enum SpeedLimitControlState {
inactive @0; # No speed limit set or not enabled by parameter.
tempInactive @1; # User wants to ignore speed limit until it changes.
adapting @2; # Reducing speed to match new speed limit.
active @3; # Cruising at speed limit.
}
enum VisionTurnControllerState {
disabled @0; # No predicted substancial turn on vision range or feature disabled.
entering @1; # A subsantial turn is predicted ahead, adapting speed to turn confort levels.
turning @2; # Actively turning. Managing acceleration to provide a roll on turn feeling.
leaving @3; # Road ahead straightens. Start to allow positive acceleration.
}
}
struct LateralPlanExt @0xf35cc4560bbf6ec2 {
dPathWLinesX @0 :List(Float32);
dPathWLinesY @1 :List(Float32);
}
struct ControlsStateExt @0xda96579883444c35 {
alkaActive @0 :Bool;
alkaEnabled @1 :Bool;
}
struct CustomReserved4 @0x80ae746ee2596b11 {
}
struct CustomReserved5 @0xa5cd762cd951a455 {
}
struct CustomReserved6 @0xf98d843bfd7004a3 {
}
struct CustomReserved7 @0xb86e6369214c01c8 {
}
struct CustomReserved8 @0xf416ec09499d9d19 {
}
struct CustomReserved9 @0xa1680744031fdb2d {
}