3838 set_pts_addr ,
3939)
4040from autopts .pybtp .btp .btp import get_iut_method as get_iut
41- from autopts .pybtp .types import Addr , AdDuration , AdType , BTPError , OwnAddrType , addr2btp_ba , gap_settings_btp2txt
41+ from autopts .pybtp .types import (
42+ Addr ,
43+ AdDuration ,
44+ AdType ,
45+ BTPError ,
46+ OwnAddrType ,
47+ addr2btp_ba ,
48+ gap_settings_btp2txt ,
49+ IsoChannelStatus ,
50+ )
4251
4352GAP = {
4453 "start_adv" : (defs .BTP_SERVICE_ID_GAP , defs .BTP_GAP_CMD_START_ADVERTISING ,
145154 "padv_sync_transfer_recv" : (defs .BTP_SERVICE_ID_GAP ,
146155 defs .BTP_GAP_CMD_PADV_SYNC_TRANSFER_RECV ,
147156 CONTROLLER_INDEX ),
157+ "iso_sync_big" : (defs .BTP_SERVICE_ID_GAP ,
158+ defs .BTP_GAP_CMD_ISO_SYNC_BIG , CONTROLLER_INDEX , "" ),
159+ "iso_create_big" : (defs .BTP_SERVICE_ID_GAP ,
160+ defs .BTP_GAP_CMD_ISO_CREATE_BIG , CONTROLLER_INDEX , "" ),
161+ "iso_send_pckt" : (defs .BTP_SERVICE_ID_GAP ,
162+ defs .BTP_GAP_CMD_ISO_SEND_PCKT , CONTROLLER_INDEX ),
148163}
149164
150165
@@ -406,6 +421,16 @@ def gap_encryption_change_ev_(gap, data, data_len):
406421 stack .gap .encryption_change_rcvd .data = (_addr_t , _addr , _encrypted , _key_size )
407422
408423
424+ def gap_iso_channel_changed_ev_ (gap , data , data_len ):
425+ logging .debug ("%s" , gap_iso_channel_changed_ev_ .__name__ )
426+
427+ fmt = '<B'
428+ status = struct .unpack (fmt , data )
429+
430+ stack = get_stack ()
431+ stack .gap .iso_channel_status .append (IsoChannelStatus (status [0 ]))
432+
433+
409434GAP_EV = {
410435 defs .BTP_GAP_EV_NEW_SETTINGS : gap_new_settings_ev_ ,
411436 defs .BTP_GAP_EV_DEVICE_FOUND : gap_device_found_ev_ ,
@@ -425,6 +450,7 @@ def gap_encryption_change_ev_(gap, data, data_len):
425450 defs .BTP_GAP_EV_PERIODIC_REPORT : gap_padv_report_ev_ ,
426451 defs .BTP_GAP_EV_PERIODIC_TRANSFER_RECEIVED : gap_padv_transfer_received_ev_ ,
427452 defs .BTP_GAP_EV_ENCRYPTION_CHANGE : gap_encryption_change_ev_ ,
453+ defs .BTP_GAP_EV_ISO_CHANNEL_CHANGED : gap_iso_channel_changed_ev_ ,
428454}
429455
430456
@@ -1475,3 +1501,32 @@ def gap_padv_sync_transfer_recv(skip, sync_timeout, flags, addr_type=None, addr=
14751501 iutctl .btp_socket .send (* GAP ['padv_sync_transfer_recv' ], data = data_ba )
14761502
14771503 gap_command_rsp_succ ()
1504+
1505+
1506+ def gap_iso_sync_big ():
1507+ logging .debug ("%s" , gap_iso_sync_big .__name__ )
1508+
1509+ iutctl = get_iut ()
1510+ iutctl .btp_socket .send (* GAP ['iso_sync_big' ])
1511+
1512+ gap_command_rsp_succ ()
1513+
1514+
1515+ def gap_iso_create_big ():
1516+ logging .debug ("%s" , gap_iso_create_big .__name__ )
1517+
1518+ iutctl = get_iut ()
1519+ iutctl .btp_socket .send (* GAP ['iso_create_big' ])
1520+
1521+ gap_command_rsp_succ ()
1522+
1523+
1524+ def gap_iso_send_pckt (pkt_cnt ):
1525+ logging .debug ("%s" , gap_iso_send_pckt .__name__ )
1526+
1527+ iutctl = get_iut ()
1528+
1529+ data_ba = bytearray (struct .pack ('<B' , pkt_cnt ))
1530+ iutctl .btp_socket .send (* GAP ['iso_send_pckt' ], data = data_ba )
1531+
1532+ gap_command_rsp_succ ()
0 commit comments