syntax = "proto2"; package function_state_management; import "header.proto"; enum PilotDrivingFunctionState { PILOT_DRIVING_OFF = 0; PILOT_DRIVING_STANDBY = 1; PILOT_DRIVING_ACTIVE = 2; PILOT_DRIVING_LON_ACTIVE = 3; PILOT_DRIVING_LAT_ACTIVE = 4; PILOT_DRIVING_TAKEOVER = 5; PILOT_DRIVING_OVERRIDE = 6; PILOT_DRIVING_WARNING = 7; PILOT_DRIVING_DEGRADED_RUNNING = 8; PILOT_DRIVING_SAFTY_STOP = 9; PILOT_DRIVING_FUNCTION_ABORT = 10; } enum ParallelDrivingFunctionState { PARALLEL_DRIVING_OFF = 0; PARALLEL_DRIVING_STANDBY = 1; PARALLEL_DRIVING_ACTIVE = 2; PARALLEL_DRIVING_LON_ACTIVE = 3; PARALLEL_DRIVING_LAT_ACTIVE = 4; PARALLEL_DRIVING_TAKEOVER = 5; PARALLEL_DRIVING_OVERRIDE = 6; PARALLEL_DRIVING_WARNING = 7; PARALLEL_DRIVING_DEGRADED_RUNNING = 8; PARALLEL_DRIVING_SAFTY_STOP = 9; } enum TelecontrolDrivingFunctionState { TELECONTROL_DRIVING_OFF = 0; TELECONTROL_DRIVING_STANDBY = 1; TELECONTROL_DRIVING_ACTIVE = 2; TELECONTROL_DRIVING_LON_ACTIVE = 3; TELECONTROL_DRIVING_LAT_ACTIVE = 4; TELECONTROL_DRIVING_TAKEOVER = 5; TELECONTROL_DRIVING_OVERRIDE = 6; TELECONTROL_DRIVING_WARNING = 7; TELECONTROL_DRIVING_DEGRADED_RUNNING = 8; TELECONTROL_DRIVING_SAFTY_STOP = 9; } message FSMFunctionStates { optional common.Header header = 1; optional PilotDrivingFunctionState pilot_driving_function_state = 2; optional ParallelDrivingFunctionState parallel_driving_function_state = 3; optional TelecontrolDrivingFunctionState telecontrol_driving_function_state = 4; }