148 lines
5.5 KiB
YAML
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
|