1"""Class for UWB ranging parameters for testing.""" 2 3import dataclasses 4from enum import IntEnum 5from typing import List, Optional 6 7 8class ConfigId(IntEnum): 9 UNICAST_DS_TWR = 1 10 MULTICAST_DS_TWR = 2 11 PROVISIONED_UNICAST_DS_TWR = 3 12 PROVISIONED_MULTICAST_DS_TWR = 4 13 PROVISIONED_INDIVIDUAL_MULTICAST_DS_TWR = 5 14 PROVISIONED_UNICAST_DS_TWR_VERY_FAST = 6 15 16 17class RangingUpdateRate(IntEnum): 18 AUTOMATIC = 1 19 INFREQUENT = 2 20 FREQUENT = 3 21 22 23class SlotDuration(IntEnum): 24 MILLIS_1 = 1 25 MILLIS_2 = 2 26 27 28@dataclasses.dataclass(kw_only=True) 29class UwbRangingParams: 30 """Class for Uwb ranging parameters.""" 31 32 session_id: int 33 sub_session_id: int = 0 34 config_id: ConfigId 35 device_address: List[int] 36 session_key_info: List[int] = dataclasses.field( 37 default_factory=lambda: [1, 2, 3, 4, 5, 6, 7, 8, 8, 7, 6, 5, 4, 3, 2, 1] 38 ) 39 sub_session_key_info: Optional[List[int]] = None 40 peer_address: List[int] 41 ranging_update_rate: RangingUpdateRate = RangingUpdateRate.AUTOMATIC 42 slot_duration_ms: SlotDuration = SlotDuration.MILLIS_2 43 is_aoa_disabled: bool = False 44