1 /* 2 * Copyright (C) 2021 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.server.uwb.config; 18 19 import android.hardware.uwb.fira_android.UwbVendorCapabilityTlvTypes; 20 import android.hardware.uwb.fira_android.UwbVendorCapabilityTlvValues; 21 22 public class CapabilityParam { 23 /** 24 * CR 287 params 25 */ 26 public static final int SUPPORTED_FIRA_PHY_VERSION_RANGE = 0x0; 27 public static final int SUPPORTED_FIRA_MAC_VERSION_RANGE = 0x1; 28 public static final int SUPPORTED_DEVICE_ROLES = 0x2; 29 public static final int SUPPORTED_RANGING_METHOD = 0x3; 30 public static final int SUPPORTED_STS_CONFIG = 0x4; 31 public static final int SUPPORTED_MULTI_NODE_MODES = 0x5; 32 public static final int SUPPORTED_RANGING_TIME_STRUCT = 0x6; 33 public static final int SUPPORTED_SCHEDULED_MODE = 0x7; 34 public static final int SUPPORTED_HOPPING_MODE = 0x8; 35 public static final int SUPPORTED_BLOCK_STRIDING = 0x9; 36 public static final int SUPPORTED_UWB_INITIATION_TIME = 0x0A; 37 public static final int SUPPORTED_CHANNELS = 0x0B; 38 public static final int SUPPORTED_RFRAME_CONFIG = 0x0C; 39 public static final int SUPPORTED_CC_CONSTRAINT_LENGTH = 0x0D; 40 public static final int SUPPORTED_BPRF_PARAMETER_SETS = 0x0E; 41 public static final int SUPPORTED_HPRF_PARAMETER_SETS = 0x0F; 42 public static final int SUPPORTED_AOA = 0x10; 43 public static final int SUPPORTED_EXTENDED_MAC_ADDRESS = 0x11; 44 public static final int SUPPORTED_AOA_RESULT_REQ_INTERLEAVING = 45 UwbVendorCapabilityTlvTypes.SUPPORTED_AOA_RESULT_REQ_ANTENNA_INTERLEAVING; 46 47 // CCC specific 48 public static final int CCC_SUPPORTED_VERSIONS = 49 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_VERSIONS; 50 public static final int CCC_SUPPORTED_UWB_CONFIGS = 51 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_UWB_CONFIGS; 52 public static final int CCC_SUPPORTED_PULSE_SHAPE_COMBOS = 53 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_PULSE_SHAPE_COMBOS; 54 public static final int CCC_SUPPORTED_RAN_MULTIPLIER = 55 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_RAN_MULTIPLIER; 56 public static final int CCC_SUPPORTED_CHAPS_PER_SLOT = 57 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_CHAPS_PER_SLOT; 58 public static final int CCC_SUPPORTED_SYNC_CODES = 59 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_SYNC_CODES; 60 public static final int CCC_SUPPORTED_CHANNELS = 61 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_CHANNELS; 62 public static final int CCC_SUPPORTED_HOPPING_CONFIG_MODES_AND_SEQUENCES = 63 UwbVendorCapabilityTlvTypes.CCC_SUPPORTED_HOPPING_CONFIG_MODES_AND_SEQUENCES; 64 65 public static final int RESPONDER = 0x01; 66 public static final int INITIATOR = 0x02; 67 68 public static final int OWR = 0x01; 69 public static final int SS_TWR_DEFERRED = 0x02; 70 public static final int DS_TWR_DEFERRED = 0x04; 71 public static final int SS_TWR_NON_DEFERRED = 0x08; 72 public static final int DS_TWR_NON_DEFERRED = 0x10; 73 74 public static final int STATIC_STS = 0x1; 75 public static final int DYNAMIC_STS = 0x2; 76 public static final int DYNAMIC_STS_RESPONDER_SPECIFIC_SUBSESSION_KEY = 0x4; 77 78 public static final int UNICAST = 0x1; 79 public static final int ONE_TO_MANY = 0x2; 80 public static final int MANY_TO_MANY = 0x4; 81 82 public static final int NO_BLOCK_STRIDING = 0x0; 83 public static final int BLOCK_STRIDING = 0x1; 84 85 public static final int NO_UWB_INITIATION_TIME = 0x0; 86 public static final int UWB_INITIATION_TIME = 0x1; 87 88 public static final int CHANNEL_5 = 0x1; 89 public static final int CHANNEL_6 = 0x2; 90 public static final int CHANNEL_8 = 0x4; 91 public static final int CHANNEL_9 = 0x8; 92 public static final int CHANNEL_10 = 0x10; 93 public static final int CHANNEL_12 = 0x20; 94 public static final int CHANNEL_13 = 0x40; 95 public static final int CHANNEL_14 = 0x80; 96 97 public static final int SP0 = 0x1; 98 public static final int SP1 = 0x2; 99 public static final int SP2 = 0x4; 100 public static final int SP3 = 0x8; 101 102 public static final int CC_CONSTRAINT_LENGTH_K3 = 0x1; 103 public static final int CC_CONSTRAINT_LENGTH_K7 = 0x2; 104 105 public static final int AOA_AZIMUTH_90 = 0x1; 106 public static final int AOA_AZIMUTH_180 = 0x2; 107 public static final int AOA_ELEVATION = 0x4; 108 public static final int AOA_FOM = 0x4; 109 110 public static final int NO_EXTENDED_MAC = 0x0; 111 public static final int EXTENDED_MAC = 0x1; 112 113 public static final int NO_AOA_RESULT_REQ_INTERLEAVING = 0x0; 114 public static final int AOA_RESULT_REQ_INTERLEAVING = 0x1; 115 116 public static final int CCC_CHANNEL_5 = (int) UwbVendorCapabilityTlvValues.CCC_CHANNEL_5; 117 public static final int CCC_CHANNEL_9 = (int) UwbVendorCapabilityTlvValues.CCC_CHANNEL_9; 118 119 public static final int CCC_CHAPS_PER_SLOT_3 = 120 (int) UwbVendorCapabilityTlvValues.CHAPS_PER_SLOT_3; 121 public static final int CCC_CHAPS_PER_SLOT_4 = 122 (int) UwbVendorCapabilityTlvValues.CHAPS_PER_SLOT_4; 123 public static final int CCC_CHAPS_PER_SLOT_6 = 124 (int) UwbVendorCapabilityTlvValues.CHAPS_PER_SLOT_6; 125 public static final int CCC_CHAPS_PER_SLOT_8 = 126 (int) UwbVendorCapabilityTlvValues.CHAPS_PER_SLOT_8; 127 public static final int CCC_CHAPS_PER_SLOT_9 = 128 (int) UwbVendorCapabilityTlvValues.CHAPS_PER_SLOT_9; 129 public static final int CCC_CHAPS_PER_SLOT_12 = 130 (int) UwbVendorCapabilityTlvValues.CHAPS_PER_SLOT_12; 131 public static final int CCC_CHAPS_PER_SLOT_24 = 132 (int) UwbVendorCapabilityTlvValues.CHAPS_PER_SLOT_24; 133 134 public static final int CCC_HOPPING_CONFIG_MODE_NONE = 135 (int) UwbVendorCapabilityTlvValues.HOPPING_CONFIG_MODE_NONE; 136 public static final int CCC_HOPPING_CONFIG_MODE_CONTINUOUS = 137 (int) UwbVendorCapabilityTlvValues.HOPPING_CONFIG_MODE_CONTINUOUS; 138 public static final int CCC_HOPPING_CONFIG_MODE_ADAPTIVE = 139 (int) UwbVendorCapabilityTlvValues.HOPPING_CONFIG_MODE_ADAPTIVE; 140 141 public static final int CCC_HOPPING_SEQUENCE_AES = 142 (int) UwbVendorCapabilityTlvValues.HOPPING_SEQUENCE_AES; 143 public static final int CCC_HOPPING_SEQUENCE_DEFAULT = 144 (int) UwbVendorCapabilityTlvValues.HOPPING_SEQUENCE_DEFAULT; 145 146 public static final int SUPPORTED_POWER_STATS_QUERY = 147 UwbVendorCapabilityTlvTypes.SUPPORTED_POWER_STATS_QUERY; 148 } 149