@@ -293,29 +293,33 @@ message HostVehicleData
293293 //
294294 message VehicleAutomatedDrivingFunction
295295 {
296- // The particular function being reported about.
296+ // The particular driving function being reported about.
297297 //
298- optional FunctionName function_name = 1 ;
298+ optional Name name = 1 ;
299299
300- // Custom function name.
300+ // Custom driving function name.
301301 //
302- // Only used if function_name is set to FUNCTION_NAME_OTHER .
302+ // Only used if name is set to NAME_OTHER .
303303 //
304304 optional string custom_name = 2 ;
305305
306- // The activation state of the function.
306+ // The state of the function.
307307 //
308308 // This is whether the function has actually been triggered, for
309309 // example, a warning has been raised, or additional braking is
310310 // in effect.
311311 //
312- optional ActivationState activation_state = 3 ;
312+ optional State state = 3 ;
313313
314- // Custom activation state.
314+ // Custom state.
315315 //
316- // Only used if the activation_state is set to ACTIVATION_STATE_OTHER .
316+ // Only used if the state is set to STATE_OTHER .
317317 //
318- optional string custom_activation_state = 4 ;
318+ optional string custom_state = 4 ;
319+
320+ // Whether, and how, the driver has overridden this function.
321+ //
322+ optional DriverOverride driver_override = 5 ;
319323
320324 // Custom detail.
321325 //
@@ -325,7 +329,7 @@ message HostVehicleData
325329 // be about settings which would influence evaluation, such as
326330 // sensitivity settings.
327331 //
328- repeated KeyValuePair custom_detail = 5 ;
332+ repeated KeyValuePair custom_detail = 6 ;
329333
330334 // A list of possible automated driving features.
331335 //
@@ -335,157 +339,182 @@ message HostVehicleData
335339 // - https://www.sae.org/binaries/content/assets/cm/content/miscellaneous/adas-nomenclature.pdf
336340 // - https://www.vda.de/en/topics/innovation-and-technology/automated-driving/automated-driving
337341 //
338- enum FunctionName
342+ enum Name
339343 {
340344 // Unknown feature, should not be used.
341345 //
342- FUNCTION_NAME_UNKNOWN = 0 ;
346+ NAME_UNKNOWN = 0 ;
343347
344348 // Custom feature, see custom_name.
345349 //
346- FUNCTION_NAME_OTHER = 1 ;
350+ NAME_OTHER = 1 ;
347351
348352 // Blind spot warning.
349353 //
350- FUNCTION_NAME_BLIND_SPOT_WARNING = 2 ;
354+ NAME_BLIND_SPOT_WARNING = 2 ;
351355
352356 // Forward collision warning.
353357 //
354- FUNCTION_NAME_FORWARD_COLLISION_WARNING = 3 ;
358+ NAME_FORWARD_COLLISION_WARNING = 3 ;
355359
356360 // Lane departure warning.
357361 //
358- FUNCTION_NAME_LANE_DEPARTURE_WARNING = 4 ;
362+ NAME_LANE_DEPARTURE_WARNING = 4 ;
359363
360364 // Parking collision warning.
361365 //
362- FUNCTION_NAME_PARKING_COLLISION_WARNING = 5 ;
366+ NAME_PARKING_COLLISION_WARNING = 5 ;
363367
364368 // Rear cross-traffic warning
365369 //
366- FUNCTION_NAME_REAR_CROSS_TRAFFIC_WARNING = 6 ;
370+ NAME_REAR_CROSS_TRAFFIC_WARNING = 6 ;
367371
368372 // Automatic emergency braking
369373 //
370- FUNCTION_NAME_AUTOMATIC_EMERGENCY_BRAKING = 7 ;
374+ NAME_AUTOMATIC_EMERGENCY_BRAKING = 7 ;
371375
372376 // Emergency steering
373377 //
374- FUNCTION_NAME_AUTOMATIC_EMERGENCY_STEERING = 8 ;
378+ NAME_AUTOMATIC_EMERGENCY_STEERING = 8 ;
375379
376380 // Reverse automatic emergency braking
377381 //
378- FUNCTION_NAME_REVERSE_AUTOMATIC_EMERGENCY_BRAKING = 9 ;
382+ NAME_REVERSE_AUTOMATIC_EMERGENCY_BRAKING = 9 ;
379383
380384 // Adaptive cruise control
381385 //
382- FUNCTION_NAME_ADAPTIVE_CRUISE_CONTROL = 10 ;
386+ NAME_ADAPTIVE_CRUISE_CONTROL = 10 ;
383387
384388 // Lane keeping assist
385389 //
386- FUNCTION_NAME_LANE_KEEPING_ASSIST = 11 ;
390+ NAME_LANE_KEEPING_ASSIST = 11 ;
387391
388392 // Active driving assistance
389393 //
390- FUNCTION_NAME_ACTIVE_DRIVING_ASSISTANCE = 12 ;
394+ NAME_ACTIVE_DRIVING_ASSISTANCE = 12 ;
391395
392396 // Backup camera
393397 //
394- FUNCTION_NAME_BACKUP_CAMERA = 13 ;
398+ NAME_BACKUP_CAMERA = 13 ;
395399
396400 // Surround view camera
397401 //
398- FUNCTION_NAME_SURROUND_VIEW_CAMERA = 14 ;
402+ NAME_SURROUND_VIEW_CAMERA = 14 ;
399403
400404 // Active parking assistance
401405 //
402- FUNCTION_NAME_ACTIVE_PARKING_ASSISTANCE = 15 ;
406+ NAME_ACTIVE_PARKING_ASSISTANCE = 15 ;
403407
404408 // Remote parking assistance
405409 //
406- FUNCTION_NAME_REMOTE_PARKING_ASSISTANCE = 16 ;
410+ NAME_REMOTE_PARKING_ASSISTANCE = 16 ;
407411
408412 // Trailer assistance
409413 //
410- FUNCTION_NAME_TRAILER_ASSISTANCE = 17 ;
414+ NAME_TRAILER_ASSISTANCE = 17 ;
411415
412416 // Automatic high beams
413417 //
414- FUNCTION_NAME_AUTOMATIC_HIGH_BEAMS = 18 ;
418+ NAME_AUTOMATIC_HIGH_BEAMS = 18 ;
415419
416420 // Driver monitoring
417421 //
418- FUNCTION_NAME_DRIVER_MONITORING = 19 ;
422+ NAME_DRIVER_MONITORING = 19 ;
419423
420424 // Head up display
421425 //
422- FUNCTION_NAME_HEAD_UP_DISPLAY = 20 ;
426+ NAME_HEAD_UP_DISPLAY = 20 ;
423427
424428 // Night vision
425429 //
426- FUNCTION_NAME_NIGHT_VISION = 21 ;
430+ NAME_NIGHT_VISION = 21 ;
427431
428432 // Urban driving
429433 //
430- FUNCTION_NAME_URBAN_DRIVING = 22 ;
434+ NAME_URBAN_DRIVING = 22 ;
431435
432436 // Highway autopilot.
433437 //
434- FUNCTION_NAME_HIGHWAY_AUTOPILOT = 23 ;
438+ NAME_HIGHWAY_AUTOPILOT = 23 ;
435439
436440 // Cruise control.
437441 //
438- FUNCTION_NAME_CRUISE_CONTROL = 24 ;
442+ NAME_CRUISE_CONTROL = 24 ;
439443
440444 // Speed limit control
441445 //
442- FUNCTION_NAME_SPEED_LIMIT_CONTROL = 25 ;
446+ NAME_SPEED_LIMIT_CONTROL = 25 ;
443447 }
444448
445- // The activation state of a feature.
449+ // The state that the feature is in .
446450 //
447451 // \note Not all of these will be applicable for all vehicles
448452 // and features.
449453 //
450- enum ActivationState
454+ enum State
451455 {
452- // An unknown activation state, this should not be used.
456+ // An unknown state, this should not be used.
453457 //
454- ACTIVATION_STATE_UNKNOWN = 0 ;
458+ STATE_UNKNOWN = 0 ;
455459
456460 // Used for custom states not covered by the definitions below.
457461 //
458- // A string state can be specified in custom_activation_state .
462+ // A string state can be specified in custom_state .
459463 //
460- ACTIVATION_STATE_OTHER = 1 ;
464+ STATE_OTHER = 1 ;
461465
462- // The function has been disabled .
466+ // The function has errored in some way that renders it ineffective .
463467 //
464- ACTIVATION_STATE_TURNED_OFF = 2 ;
468+ STATE_ERRORED = 2 ;
465469
466- // The function has errored in some way that renders it ineffective.
470+ // The function cannot be used due to unfulfilled preconditions,
471+ // for example it is a highway only feature and the vehicle is in
472+ // an urban environment.
467473 //
468- ACTIVATION_STATE_ERRORED = 3 ;
474+ STATE_UNAVAILABLE = 3 ;
469475
470- // The function is initialized but not ready to start.
476+ // The function can be used as all preconditions are satisfied, but
477+ // it hasn't been enabled.
471478 //
472- ACTIVATION_STATE_UNAVAILABLE = 4 ;
479+ STATE_AVAILABLE = 4 ;
473480
474- // The function is enabled but conditions have not caused it to be
481+ // The function is available but conditions have not caused it to be
475482 // triggered, for example, no vehicles in front to trigger a FCW.
476483 //
477- ACTIVATION_STATE_STANDBY = 5 ;
484+ STATE_STANDBY = 5 ;
478485
479486 // The function is currently active, for example, a warning is being
480487 // shown to the driver, or emergency braking is being applied/
481488 //
482- ACTIVATION_STATE_ACTIVE = 6 ;
489+ STATE_ACTIVE = 6 ;
490+ }
491+
492+ // Information about whether and how and driver may have overridden
493+ // an automated driving function.
494+ //
495+ message DriverOverride
496+ {
497+ // The feature has been overridden by a driver action.
498+ //
499+ // \note If false, the rest of this message should be ignored.
500+ optional bool active = 1 ;
501+
502+ // What driver inputs have caused the override.
503+ //
504+ repeated Reason override_reason = 2 ;
483505
484- // The function would be ACTIVE, but the user has show sufficient
485- // input to override, for example, by applying throttle or steering
486- // input.
506+ // Ways in which a driver could override a driving function.
487507 //
488- ACTIVATION_STATE_ACTIVE_DRIVER_OVERRIDE = 7 ;
508+ enum Reason
509+ {
510+ // The driver has applied sufficient input via the break pedal.
511+ //
512+ REASON_BRAKE_PEDAL = 0 ;
513+
514+ // The driver has applied sufficient steering input.
515+ //
516+ REASON_STEERING_INPUT = 1 ;
517+ }
489518 }
490519 }
491520}
0 commit comments