@@ -696,6 +696,15 @@ message MovingObject
696696 //
697697 optional Identifier trailer_id = 4 ;
698698
699+ // What driver assistance is active.
700+ //
701+ // This can include:
702+ // - information presented to the driver, for example, parking sensors
703+ // - warnings raised by the vehicle, for example, forward collision warning
704+ // - corrective action taken by the vehicle, for example, auto emergency braking
705+ //
706+ optional DriverAssistState driver_assist_state = 5 ;
707+
699708 // Definition of vehicle types.
700709 //
701710 enum Type
@@ -917,5 +926,111 @@ message MovingObject
917926 BRAKE_LIGHT_STATE_STRONG = 4 ;
918927 }
919928 }
929+
930+ //
931+ // \brief The state of driver assistance features.
932+ //
933+ message DriverAssistState
934+ {
935+ // State of recognised ADAS features.
936+ //
937+ repeated ADASState adas_state = 1 ;
938+
939+ // Custom driver assist state.
940+ //
941+ repeated CustomAssistState custom_assist_state = 2 ;
942+
943+ //
944+ // The driver assist state specifically relating to recognised
945+ // Advanced Driver Assistance Systems.
946+ //
947+ message ADASState
948+ {
949+ // The particular feature being reported about.
950+ //
951+ optional ADASFeature adas_feature = 1 ;
952+
953+ // Whether this particular feature is enabled or not.
954+ //
955+ // For example, the Forward Collision Warning feature may
956+ // be enabled, even if it isn't active, because there are no
957+ // vehicles in front.
958+ //
959+ optional bool enabled = 2 ;
960+
961+ // The activation state of the feature.
962+ //
963+ // This is whether the feature has actually been triggered, for
964+ // example, a warning has been raised, or additional braking is
965+ // in effect.
966+ //
967+ optional ActivationState activation_state = 3 ;
968+
969+ // Custom detail.
970+ //
971+ // An opaque field to distinguish user-specific details, such as
972+ // whether the notification was raised via an audio warning, or
973+ // the dashboard.
974+ //
975+ optional string custom_detail = 4 ;
976+
977+ // ADAS feature that is raising the notification.
978+ //
979+ // \note The naming convention is taken from the SAE guidance on ADAS
980+ // nomenclature:
981+ // https://www.sae.org/binaries/content/assets/cm/content/miscellaneous/adas-nomenclature.pdf
982+ //
983+ enum ADASFeature
984+ {
985+ BLIND_SPOT_WARNING = 1 ;
986+ FORWARD_COLLISION_WARNING = 2 ;
987+ LANE_DEPARTURE_WARNING = 3 ;
988+ PARKING_COLLISION_WARNING = 4 ;
989+ REAR_CROSS_TRAFFIC_WARNING = 5 ;
990+ AUTOMATIC_EMERGENCY_BRAKING = 6 ;
991+ AUTOMATIC_EMERGENCY_STEERING = 7 ;
992+ REVERSE_AUTOMATIC_EMERGENCY_BRAKING = 8 ;
993+ ADAPTIVE_CRUISE_CONTROL = 9 ;
994+ LANE_KEEPING_ASSIST = 10 ;
995+ ACTIVE_DRIVING_ASSISTANCE = 11 ;
996+ BACKUP_CAMERA = 12 ;
997+ SURROUND_VIEW_CAMERA = 13 ;
998+ ACTIVE_PARKING_ASSISTANCE = 14 ;
999+ REMOTE_PARKING_ASSISTANCE = 15 ;
1000+ TRAILER_ASSISTANCE = 16 ;
1001+ AUTOMATIC_HIGH_BEAMS = 17 ;
1002+ DRIVER_MONITORING = 18 ;
1003+ HEAD_UP_DISPLAY = 19 ;
1004+ NIGHT_VISION = 20 ;
1005+ }
1006+
1007+ // The activation state of a feature.
1008+ //
1009+ // \note Not all of these will be applicable for all vehicles
1010+ // and features.
1011+ //
1012+ enum ActivationState
1013+ {
1014+ INACTIVE = 1 ;
1015+ ACTIVE = 2 ;
1016+ ACTIVE_DRIVER_OVERRIDE = 3 ;
1017+ }
1018+ }
1019+
1020+ //
1021+ // The driver assist state relating to anything not formally
1022+ // recognised. This could be proprietary assistance features
1023+ // that are available for a particular vehicle.
1024+ //
1025+ message CustomAssistState
1026+ {
1027+ // An identifier for the assistance feature.
1028+ //
1029+ optional string identifier = 1 ;
1030+
1031+ // A string indicating any relevant information about the feature.
1032+ optional string state = 2 ;
1033+ }
1034+ }
9201035 }
9211036}
0 commit comments