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