mirror of
https://github.com/google/bumble.git
synced 2026-06-18 10:12:27 +00:00
add iso support to bench app
This commit is contained in:
+28
-16
@@ -20,7 +20,7 @@ import logging
|
||||
import sys
|
||||
import os
|
||||
from bumble import utils
|
||||
from bumble.device import Device, Connection
|
||||
from bumble.device import Device, CigParameters, CisLink, Connection
|
||||
from bumble.hci import (
|
||||
OwnAddressType,
|
||||
)
|
||||
@@ -61,27 +61,39 @@ async def main() -> None:
|
||||
devices[0].random_address, own_address_type=OwnAddressType.RANDOM
|
||||
)
|
||||
|
||||
cid_ids = [2, 3]
|
||||
cis_handles = await devices[1].setup_cig(
|
||||
cig_id=1,
|
||||
cis_id=cid_ids,
|
||||
sdu_interval=(10000, 255),
|
||||
framing=0,
|
||||
max_sdu=(120, 0),
|
||||
retransmission_number=13,
|
||||
max_transport_latency=(100, 5),
|
||||
CigParameters(
|
||||
cig_id=1,
|
||||
cis_parameters=[
|
||||
CigParameters.CisParameters(
|
||||
cis_id=2,
|
||||
max_sdu_c_to_p=120,
|
||||
max_sdu_p_to_c=0,
|
||||
rtn_c_to_p=13,
|
||||
rtn_p_to_c=13,
|
||||
),
|
||||
CigParameters.CisParameters(
|
||||
cis_id=3,
|
||||
max_sdu_c_to_p=120,
|
||||
max_sdu_p_to_c=0,
|
||||
rtn_c_to_p=13,
|
||||
rtn_p_to_c=13,
|
||||
),
|
||||
],
|
||||
sdu_interval_c_to_p=10000,
|
||||
sdu_interval_p_to_c=255,
|
||||
framing=CigParameters.Framing.UNFRAMED,
|
||||
max_transport_latency_c_to_p=100,
|
||||
max_transport_latency_p_to_c=5,
|
||||
),
|
||||
)
|
||||
|
||||
def on_cis_request(
|
||||
connection: Connection, cis_handle: int, _cig_id: int, _cis_id: int
|
||||
):
|
||||
connection.cancel_on_disconnection(devices[0].accept_cis_request(cis_handle))
|
||||
def on_cis_request(connection: Connection, cis_link: CisLink):
|
||||
connection.cancel_on_disconnection(devices[0].accept_cis_request(cis_link))
|
||||
|
||||
devices[0].on('cis_request', on_cis_request)
|
||||
|
||||
cis_links = await devices[1].create_cis(
|
||||
[(cis, connection.handle) for cis in cis_handles]
|
||||
)
|
||||
cis_links = await devices[1].create_cis([(cis, connection) for cis in cis_handles])
|
||||
|
||||
for cis_link in cis_links:
|
||||
await cis_link.disconnect()
|
||||
|
||||
@@ -77,7 +77,7 @@ file_outputs: dict[AseStateMachine, io.BufferedWriter] = {}
|
||||
# -----------------------------------------------------------------------------
|
||||
async def main() -> None:
|
||||
if len(sys.argv) < 3:
|
||||
print('Usage: run_cig_setup.py <config-file>' '<transport-spec-for-device>')
|
||||
print('Usage: run_cig_setup.py <config-file> <transport-spec-for-device>')
|
||||
return
|
||||
|
||||
print('<<< connecting to HCI...')
|
||||
@@ -149,12 +149,9 @@ async def main() -> None:
|
||||
sdu += pdu.iso_sdu_fragment
|
||||
file_outputs[ase].write(sdu)
|
||||
|
||||
def on_ase_state_change(
|
||||
state: AseStateMachine.State,
|
||||
ase: AseStateMachine,
|
||||
) -> None:
|
||||
if state != AseStateMachine.State.STREAMING:
|
||||
if file_output := file_outputs.pop(ase):
|
||||
def on_ase_state_change(ase: AseStateMachine) -> None:
|
||||
if ase.state != AseStateMachine.State.STREAMING:
|
||||
if file_output := file_outputs.pop(ase, None):
|
||||
file_output.close()
|
||||
else:
|
||||
file_output = open(f'{datetime.datetime.now().isoformat()}.lc3', 'wb')
|
||||
|
||||
Reference in New Issue
Block a user