# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License.
import hci_packets as hci import link_layer_packets as ll import llcp_packets as llcp import random import unittest from hci_packets import ErrorCode from py.bluetooth import Address from py.controller import ControllerTest
# Prelude: Establish ACL connections as central with the IUT.
acl_connection_handle_1 = await self.establish_le_connection_central(peer_address_1)
acl_connection_handle_2 = await self.establish_le_connection_central(peer_address_2)
# 1. The Upper Tester orders the IUT to send a payload of the specified length to the Lower Testers.
iso_sdu = [random.randint(1, 251) for n in range(self.Max_SDU_C_TO_P)]
# 2. Lower Tester 1 receives the payload PDU in the first subevent on CIS(1). # 3. Lower Tester 1 sends an Ack T_IFS after receiving the payload PDU.
controller.send_iso(
hci.IsoWithoutTimestamp(
connection_handle=cis_connection_handle_1,
pb_flag=hci.IsoPacketBoundaryFlag.COMPLETE_SDU,
packet_sequence_number=42,
payload=iso_sdu,
))
# 4. Lower Tester 2 receives the payload PDU in the first subevent on CIS(2). # 5. Lower Tester 2 sends an Ack T_IFS after receiving the payload PDU.
controller.send_iso(
hci.IsoWithoutTimestamp(
connection_handle=cis_connection_handle_2,
pb_flag=hci.IsoPacketBoundaryFlag.COMPLETE_SDU,
packet_sequence_number=42,
payload=iso_sdu,
))
# 6. If Table 4.139 specifies a BN of 2 or 3, when CIS(1) subevent interval ends, repeat steps 1–3 in # the next subevent. # 7. If Table 4.139 specifies a BN of 2 or 3, when CIS(2) subevent interval ends, repeat steps 4 and 5 # in the next subevent. # 8. If Table 4.139 specifies a BN of 3, when CIS(1) subevent interval ends, repeat steps 1–3 in the # next subevent. # 9. If Table 4.139 specifies a BN of 3, when CIS(2) subevent interval ends, repeat steps 4 and 5 in # the next subevent. # 10. The time between the ACL connection event for the first received CIS and the start of the first # subevent on the same CIS is the observed CIS_Offset(a). The Lower Tester validates that # CIS_Offset(a) = CIS_Offset in the LL_CIS_IND associated with CIS sent during setup of the # CISes. # 11. The time between the ACL connection event for the second received CIS and the start of the first # subevent on the same CIS is the observed CIS_Offset(b). The Lower Tester validates that the # CIS_Offset(b) = CIS_Offset in the LL_CIS_IND associated with CIS sent during setup of the # CISes.
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-27)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.