Loading system/gd/hci/hci_packets.pdl +177 −4 Original line number Diff line number Diff line Loading @@ -1202,12 +1202,145 @@ packet IoCapabilityRequestNegativeReplyComplete : CommandComplete (command_op_co bd_addr : Address, } enum ScoCodingFormatValues : 8 { ULAW_LONG = 0x00, ALAW_LONG = 0x01, CVSD = 0x02, TRANSPARENT = 0x03, LINEAR_PCM = 0x04, MSBC = 0x05, LC3 = 0x06, VENDOR_SPECIFIC = 0xFF, } struct ScoCodingFormat { coding_format : ScoCodingFormatValues, company_id : 16, vendor_specific_codec_id : 16, } enum ScoPcmDataFormat : 8 { NOT_USED = 0x00, ONES_COMPLEMENT = 0X01, TWOS_COMPLEMENT = 0x02, SIGN_MAGNITUDE = 0x03, UNSIGNED = 0x04, } enum ScoDataPath : 8 { HCI = 0x00, // 0x01 to 0xFE are Logical_Channel_Number. // The meaning of the logical channels will be vendor specific. // In GD and legacy Android Bluetooth stack, we use channel 0x01 for hardware // offloaded SCO encoding GD_PCM = 0x01, AUDIO_TEST_MODE = 0xFF, } enum RetransmissionEffort : 8 { NO_RETRANSMISSION = 0x00, AT_LEAST_ONE_OPTIMIZED_FOR_POWER = 0x01, AT_LEAST_ONE_OPTIMIZED_FOR_LINK_QUALITY = 0x02, DO_NOT_CARE = 0xFF, } packet EnhancedSetupSynchronousConnection : ScoConnectionCommand (op_code = ENHANCED_SETUP_SYNCHRONOUS_CONNECTION) { _payload_, // placeholder (unimplemented) connection_handle: 12, _reserved_ : 4, // Next two items // [0x00000000, 0xFFFFFFFE] Bandwidth in octets per second. // [0xFFFFFFFF]: Don't care transmit_bandwidth : 16, receive_bandwidth : 16, transmit_coding_format : ScoCodingFormat, receive_coding_format : ScoCodingFormat, // Next two items // [0x0001, 0xFFFF]: the actual size of the over-the-air encoded frame in // octets. transmit_codec_frame_size : 16, receive_codec_frame_size : 16, // Next two items // Host to Controller nominal data rate in octets per second. input_bandwidth : 32, output_bandwidth : 32, input_coding_format : ScoCodingFormat, output_coding_format : ScoCodingFormat, // Next two items // Size, in bits, of the sample or framed data input_coded_data_size : 16, output_coded_data_size : 16, input_pcm_data_format : ScoPcmDataFormat, output_pcm_data_format : ScoPcmDataFormat, // Next two items // The number of bit positions within an audio sample that the MSB of the // sample is away from starting at the MSB of the data. input_pcm_sample_payload_msb_position : 8, output_pcm_sample_payload_msb_position : 8, input_data_path : ScoDataPath, output_data_path : ScoDataPath, // Next two items // [1, 255] The number of bits in each unit of data received from the Host // over the audio data transport. // [0] Not applicable (implied by the choice of audio data transport) input_transport_unit_size : 8, output_transport_unit_size : 8, // [0x0004, 0xFFFE]: in milliseconds // Upper limit represent the sum of the synchronous interval and the size // of the eSCO window, where the eSCO window is reserved slots plus the // retransmission window // [0xFFFF]: don't care max_latency : 16, packet_type : 16, retransmission_effort : RetransmissionEffort, } packet EnhancedAcceptSynchronousConnection : ScoConnectionCommand (op_code = ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION) { _payload_, // placeholder (unimplemented) bd_addr : Address, // Next two items // [0x00000000, 0xFFFFFFFE] Bandwidth in octets per second. // [0xFFFFFFFF]: Don't care transmit_bandwidth : 16, receive_bandwidth : 16, transmit_coding_format : ScoCodingFormat, receive_coding_format : ScoCodingFormat, // Next two items // [0x0001, 0xFFFF]: the actual size of the over-the-air encoded frame in // octets. transmit_codec_frame_size : 16, receive_codec_frame_size : 16, // Next two items // Host to Controller nominal data rate in octets per second. input_bandwidth : 32, output_bandwidth : 32, input_coding_format : ScoCodingFormat, output_coding_format : ScoCodingFormat, // Next two items // Size, in bits, of the sample or framed data input_coded_data_size : 16, output_coded_data_size : 16, input_pcm_data_format : ScoPcmDataFormat, output_pcm_data_format : ScoPcmDataFormat, // Next two items // The number of bit positions within an audio sample that the MSB of the // sample is away from starting at the MSB of the data. input_pcm_sample_payload_msb_position : 8, output_pcm_sample_payload_msb_position : 8, input_data_path : ScoDataPath, output_data_path : ScoDataPath, // Next two items // [1, 255] The number of bits in each unit of data received from the Host // over the audio data transport. // [0] Not applicable (implied by the choice of audio data transport) input_transport_unit_size : 8, output_transport_unit_size : 8, // [0x0004, 0xFFFE]: in milliseconds // Upper limit represent the sum of the synchronous interval and the size // of the eSCO window, where the eSCO window is reserved slots plus the // retransmission window // [0xFFFF]: don't care max_latency : 16, packet_type : 16, retransmission_effort : RetransmissionEffort, } packet RemoteOobExtendedDataRequestReply : SecurityCommand (op_code = REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY) { Loading Loading @@ -4137,12 +4270,52 @@ packet ReadRemoteExtendedFeaturesComplete : Event (event_code = READ_REMOTE_EXTE extended_lmp_features : 64, } enum ScoLinkType : 8 { SCO = 0x00, ESCO = 0x02, } enum ScoAirMode : 8 { ULAW_LONG = 0x00, ALAW_LONG = 0x01, CVSD = 0x02, TRANSPARENT = 0x03, } packet SynchronousConnectionComplete : Event (event_code = SYNCHRONOUS_CONNECTION_COMPLETE){ _payload_, // placeholder (unimplemented) status : ErrorCode, connection_handle : 12, _reserved_ : 4, bd_addr : Address, link_type : ScoLinkType, // Time between two consecutive eSCO instants measured in slots. // eSCO only, Shall be zero for SCO links. transmission_interval : 8, // The size of the retransmission window measured in slots. // eSCO only. Shall be zero for SCO links. retransmission_window : 8, // Length in bytes of the eSCO payload in the receive direction. // eSCO only. Shall be zero for SCO links. rx_packet_length : 16, // Length in bytes of the eSCO payload in the transmit direction. // eSCO only. Shall be zero for SCO links. tx_packet_length : 16, air_mode : ScoAirMode, } packet SynchronousConnectionChanged : Event (event_code = SYNCHRONOUS_CONNECTION_CHANGED){ _payload_, // placeholder (unimplemented) status : ErrorCode, connection_handle : 12, _reserved_ : 4, // Time between two consecutive eSCO instants measured in slots. // eSCO only, Shall be zero for SCO links. transmission_interval : 8, // Time between two consecutive SCO/eSCO instants measured in slots. retransmission_window : 8, // Length in bytes of the SCO/eSCO payload in the receive direction. rx_packet_length : 16, // Length in bytes of the SCO/eSCO payload in the transmit direction. tx_packet_length : 16, } packet SniffSubratingEvent : Event (event_code = SNIFF_SUBRATING){ Loading Loading
system/gd/hci/hci_packets.pdl +177 −4 Original line number Diff line number Diff line Loading @@ -1202,12 +1202,145 @@ packet IoCapabilityRequestNegativeReplyComplete : CommandComplete (command_op_co bd_addr : Address, } enum ScoCodingFormatValues : 8 { ULAW_LONG = 0x00, ALAW_LONG = 0x01, CVSD = 0x02, TRANSPARENT = 0x03, LINEAR_PCM = 0x04, MSBC = 0x05, LC3 = 0x06, VENDOR_SPECIFIC = 0xFF, } struct ScoCodingFormat { coding_format : ScoCodingFormatValues, company_id : 16, vendor_specific_codec_id : 16, } enum ScoPcmDataFormat : 8 { NOT_USED = 0x00, ONES_COMPLEMENT = 0X01, TWOS_COMPLEMENT = 0x02, SIGN_MAGNITUDE = 0x03, UNSIGNED = 0x04, } enum ScoDataPath : 8 { HCI = 0x00, // 0x01 to 0xFE are Logical_Channel_Number. // The meaning of the logical channels will be vendor specific. // In GD and legacy Android Bluetooth stack, we use channel 0x01 for hardware // offloaded SCO encoding GD_PCM = 0x01, AUDIO_TEST_MODE = 0xFF, } enum RetransmissionEffort : 8 { NO_RETRANSMISSION = 0x00, AT_LEAST_ONE_OPTIMIZED_FOR_POWER = 0x01, AT_LEAST_ONE_OPTIMIZED_FOR_LINK_QUALITY = 0x02, DO_NOT_CARE = 0xFF, } packet EnhancedSetupSynchronousConnection : ScoConnectionCommand (op_code = ENHANCED_SETUP_SYNCHRONOUS_CONNECTION) { _payload_, // placeholder (unimplemented) connection_handle: 12, _reserved_ : 4, // Next two items // [0x00000000, 0xFFFFFFFE] Bandwidth in octets per second. // [0xFFFFFFFF]: Don't care transmit_bandwidth : 16, receive_bandwidth : 16, transmit_coding_format : ScoCodingFormat, receive_coding_format : ScoCodingFormat, // Next two items // [0x0001, 0xFFFF]: the actual size of the over-the-air encoded frame in // octets. transmit_codec_frame_size : 16, receive_codec_frame_size : 16, // Next two items // Host to Controller nominal data rate in octets per second. input_bandwidth : 32, output_bandwidth : 32, input_coding_format : ScoCodingFormat, output_coding_format : ScoCodingFormat, // Next two items // Size, in bits, of the sample or framed data input_coded_data_size : 16, output_coded_data_size : 16, input_pcm_data_format : ScoPcmDataFormat, output_pcm_data_format : ScoPcmDataFormat, // Next two items // The number of bit positions within an audio sample that the MSB of the // sample is away from starting at the MSB of the data. input_pcm_sample_payload_msb_position : 8, output_pcm_sample_payload_msb_position : 8, input_data_path : ScoDataPath, output_data_path : ScoDataPath, // Next two items // [1, 255] The number of bits in each unit of data received from the Host // over the audio data transport. // [0] Not applicable (implied by the choice of audio data transport) input_transport_unit_size : 8, output_transport_unit_size : 8, // [0x0004, 0xFFFE]: in milliseconds // Upper limit represent the sum of the synchronous interval and the size // of the eSCO window, where the eSCO window is reserved slots plus the // retransmission window // [0xFFFF]: don't care max_latency : 16, packet_type : 16, retransmission_effort : RetransmissionEffort, } packet EnhancedAcceptSynchronousConnection : ScoConnectionCommand (op_code = ENHANCED_ACCEPT_SYNCHRONOUS_CONNECTION) { _payload_, // placeholder (unimplemented) bd_addr : Address, // Next two items // [0x00000000, 0xFFFFFFFE] Bandwidth in octets per second. // [0xFFFFFFFF]: Don't care transmit_bandwidth : 16, receive_bandwidth : 16, transmit_coding_format : ScoCodingFormat, receive_coding_format : ScoCodingFormat, // Next two items // [0x0001, 0xFFFF]: the actual size of the over-the-air encoded frame in // octets. transmit_codec_frame_size : 16, receive_codec_frame_size : 16, // Next two items // Host to Controller nominal data rate in octets per second. input_bandwidth : 32, output_bandwidth : 32, input_coding_format : ScoCodingFormat, output_coding_format : ScoCodingFormat, // Next two items // Size, in bits, of the sample or framed data input_coded_data_size : 16, output_coded_data_size : 16, input_pcm_data_format : ScoPcmDataFormat, output_pcm_data_format : ScoPcmDataFormat, // Next two items // The number of bit positions within an audio sample that the MSB of the // sample is away from starting at the MSB of the data. input_pcm_sample_payload_msb_position : 8, output_pcm_sample_payload_msb_position : 8, input_data_path : ScoDataPath, output_data_path : ScoDataPath, // Next two items // [1, 255] The number of bits in each unit of data received from the Host // over the audio data transport. // [0] Not applicable (implied by the choice of audio data transport) input_transport_unit_size : 8, output_transport_unit_size : 8, // [0x0004, 0xFFFE]: in milliseconds // Upper limit represent the sum of the synchronous interval and the size // of the eSCO window, where the eSCO window is reserved slots plus the // retransmission window // [0xFFFF]: don't care max_latency : 16, packet_type : 16, retransmission_effort : RetransmissionEffort, } packet RemoteOobExtendedDataRequestReply : SecurityCommand (op_code = REMOTE_OOB_EXTENDED_DATA_REQUEST_REPLY) { Loading Loading @@ -4137,12 +4270,52 @@ packet ReadRemoteExtendedFeaturesComplete : Event (event_code = READ_REMOTE_EXTE extended_lmp_features : 64, } enum ScoLinkType : 8 { SCO = 0x00, ESCO = 0x02, } enum ScoAirMode : 8 { ULAW_LONG = 0x00, ALAW_LONG = 0x01, CVSD = 0x02, TRANSPARENT = 0x03, } packet SynchronousConnectionComplete : Event (event_code = SYNCHRONOUS_CONNECTION_COMPLETE){ _payload_, // placeholder (unimplemented) status : ErrorCode, connection_handle : 12, _reserved_ : 4, bd_addr : Address, link_type : ScoLinkType, // Time between two consecutive eSCO instants measured in slots. // eSCO only, Shall be zero for SCO links. transmission_interval : 8, // The size of the retransmission window measured in slots. // eSCO only. Shall be zero for SCO links. retransmission_window : 8, // Length in bytes of the eSCO payload in the receive direction. // eSCO only. Shall be zero for SCO links. rx_packet_length : 16, // Length in bytes of the eSCO payload in the transmit direction. // eSCO only. Shall be zero for SCO links. tx_packet_length : 16, air_mode : ScoAirMode, } packet SynchronousConnectionChanged : Event (event_code = SYNCHRONOUS_CONNECTION_CHANGED){ _payload_, // placeholder (unimplemented) status : ErrorCode, connection_handle : 12, _reserved_ : 4, // Time between two consecutive eSCO instants measured in slots. // eSCO only, Shall be zero for SCO links. transmission_interval : 8, // Time between two consecutive SCO/eSCO instants measured in slots. retransmission_window : 8, // Length in bytes of the SCO/eSCO payload in the receive direction. rx_packet_length : 16, // Length in bytes of the SCO/eSCO payload in the transmit direction. tx_packet_length : 16, } packet SniffSubratingEvent : Event (event_code = SNIFF_SUBRATING){ Loading