Files
Cognitive_Agent/config/native_can_capabilities/driver_seat.yaml
T

148 lines
5.5 KiB
YAML

apiVersion: cognitive-agent/v1alpha1
kind: CapabilityCatalog
metadata:
id: driver-seat-native-can-capabilities
name: Driver seat native CAN capabilities
version: 1.1.0
spec:
domain: seat
capabilities:
- name: seat.set_driver_ventilation_native
description: >-
Control only the physical driver/front-left seat ventilation through the verified
CH1 body-CAN command on CAN FD ID 0x431. A fresh 0x4FA status frame is required
before execution is reported as successful.
target_devices: [driver_seat_ventilation]
target_scopes: [driver, front_left]
parameters:
- name: state
type: string
required: true
allowed_values: [on, off]
description: Absolute ventilation state.
- name: level
type: integer
required: false
minimum: 1
maximum: 2
allowed_values: [1, 2]
description: 1 is high and 2 is low; omitted on requests use the safer low level.
risk_level: high
confirmation_policy: on_ambiguity
- name: seat.set_driver_heating_native
description: >-
Control only the physical driver/front-left seat heating through the verified
CH1 body-CAN command on CAN FD ID 0x431. A fresh 0x4FA status frame is required
before execution is reported as successful.
target_devices: [driver_seat_heating]
target_scopes: [driver, front_left]
parameters:
- name: state
type: string
required: true
allowed_values: [on, off]
description: Absolute heating state.
- name: level
type: integer
required: false
minimum: 1
maximum: 2
allowed_values: [1, 2]
description: 1 is high and 2 is low; omitted on requests use the safer low level.
risk_level: high
confirmation_policy: on_ambiguity
- name: seat.set_driver_massage_native
description: >-
Control only the physical driver/front-left seat massage through the verified
CH1 body-CAN command on CAN FD ID 0x4C1, sub-ID 0x12. A fresh 0x4FA status
frame must match the requested mode or strength.
target_devices: [driver_seat_massage]
target_scopes: [driver, front_left]
parameters:
- name: action
type: string
required: true
allowed_values: [off, strength, mode]
description: Explicit massage operation; a generic on request is not accepted.
- name: strength
type: integer
required: false
minimum: 1
maximum: 3
allowed_values: [1, 2, 3]
description: Massage strength from weak to strong.
- name: mode
type: string
required: false
allowed_values: [wave, pulse, stretch, slack, relax]
description: Verified massage mode.
risk_level: high
confirmation_policy: on_ambiguity
- name: seat.set_driver_axis_native
description: >-
Move one physical driver/front-left seat axis through the verified CH1 body-CAN
command on CAN FD ID 0x4C1, sub-ID 0x05. Motion is limited to 100-2000 ms and
is always followed by three explicit stop frames. The 0x494 feedback reports a
fresh seat status frame but does not contain an absolute motor position.
target_devices: [driver_seat_axis]
target_scopes: [driver, front_left]
parameters:
- name: axis
type: string
required: true
allowed_values: [horizontal, height, backrest, basin]
description: Verified driver-seat adjustment axis.
- name: direction
type: string
required: true
allowed_values: [forward, backward, up, down, stop]
description: Axis-compatible direction or an explicit stop request.
- name: duration_ms
type: integer
required: false
minimum: 100
maximum: 2000
description: Bounded motion duration; omitted values default to 500 ms.
risk_level: high
confirmation_policy: on_ambiguity
- name: seat.set_driver_position_native
description: >-
Alias for recalling one of the three physical driver/front-left seat memory
slots. The complete 0x4C1/0x15 and /0x16 payloads must have been learned from
the PAD and a fresh 0x494 must prove all four axes initialized before replay.
target_devices: [driver_seat_memory]
target_scopes: [driver, front_left]
parameters:
- name: slot
type: integer
required: true
minimum: 1
maximum: 3
allowed_values: [1, 2, 3]
description: Previously learned PAD memory slot.
risk_level: high
confirmation_policy: on_ambiguity
- name: seat.recall_driver_memory_native
description: >-
Recall one of the three physical driver/front-left seat memory slots by
alternating that slot's learned 0x4C1/0x16 and /0x15 payloads for ten cycles.
0x494 does not expose final absolute motor positions, so delivery is not
represented as proof that the seat reached its final position.
target_devices: [driver_seat_memory]
target_scopes: [driver, front_left]
parameters:
- name: slot
type: integer
required: true
minimum: 1
maximum: 3
allowed_values: [1, 2, 3]
description: Previously learned PAD memory slot.
risk_level: high
confirmation_policy: on_ambiguity