mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-09 12:39:56 +00:00
libubs: fix compile without SCO
This commit is contained in:
parent
b2faedc9fa
commit
c9b5173dc5
@ -179,17 +179,21 @@ static int acl_out_addr;
|
|||||||
static int sco_in_addr;
|
static int sco_in_addr;
|
||||||
static int sco_out_addr;
|
static int sco_out_addr;
|
||||||
|
|
||||||
|
#ifdef HAVE_SCO
|
||||||
static void sco_ring_init(void){
|
static void sco_ring_init(void){
|
||||||
sco_ring_write = 0;
|
sco_ring_write = 0;
|
||||||
sco_ring_transfers_active = 0;
|
sco_ring_transfers_active = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int sco_ring_have_space(void){
|
static int sco_ring_have_space(void){
|
||||||
|
#ifdef HAVE_SCO
|
||||||
return sco_ring_transfers_active < SCO_RING_BUFFER_COUNT;
|
return sco_ring_transfers_active < SCO_RING_BUFFER_COUNT;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
static void queue_transfer(struct libusb_transfer *transfer){
|
static void queue_transfer(struct libusb_transfer *transfer){
|
||||||
|
|
||||||
@ -283,6 +287,7 @@ static int usb_send_sco_packet(uint8_t *packet, int size){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_SCO
|
||||||
static void sco_state_machine_init(void){
|
static void sco_state_machine_init(void){
|
||||||
sco_state = H2_W4_SCO_HEADER;
|
sco_state = H2_W4_SCO_HEADER;
|
||||||
sco_read_pos = 0;
|
sco_read_pos = 0;
|
||||||
@ -318,6 +323,7 @@ static void handle_isochronous_data(uint8_t * buffer, uint16_t size){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void handle_completed_transfer(struct libusb_transfer *transfer){
|
static void handle_completed_transfer(struct libusb_transfer *transfer){
|
||||||
|
|
||||||
@ -332,6 +338,7 @@ static void handle_completed_transfer(struct libusb_transfer *transfer){
|
|||||||
packet_handler(HCI_ACL_DATA_PACKET, transfer-> buffer, transfer->actual_length);
|
packet_handler(HCI_ACL_DATA_PACKET, transfer-> buffer, transfer->actual_length);
|
||||||
resubmit = 1;
|
resubmit = 1;
|
||||||
} else if (transfer->endpoint == sco_in_addr) {
|
} else if (transfer->endpoint == sco_in_addr) {
|
||||||
|
#ifdef HAVE_SCO
|
||||||
// log_info("handle_completed_transfer for SCO IN! num packets %u", transfer->NUM_ISO_PACKETS);
|
// log_info("handle_completed_transfer for SCO IN! num packets %u", transfer->NUM_ISO_PACKETS);
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < transfer->num_iso_packets; i++) {
|
for (i = 0; i < transfer->num_iso_packets; i++) {
|
||||||
@ -347,6 +354,7 @@ static void handle_completed_transfer(struct libusb_transfer *transfer){
|
|||||||
handle_isochronous_data(data, pack->actual_length);
|
handle_isochronous_data(data, pack->actual_length);
|
||||||
}
|
}
|
||||||
resubmit = 1;
|
resubmit = 1;
|
||||||
|
#endif
|
||||||
} else if (transfer->endpoint == 0){
|
} else if (transfer->endpoint == 0){
|
||||||
// log_info("command done, size %u", transfer->actual_length);
|
// log_info("command done, size %u", transfer->actual_length);
|
||||||
usb_command_active = 0;
|
usb_command_active = 0;
|
||||||
@ -356,6 +364,7 @@ static void handle_completed_transfer(struct libusb_transfer *transfer){
|
|||||||
usb_acl_out_active = 0;
|
usb_acl_out_active = 0;
|
||||||
signal_done = 1;
|
signal_done = 1;
|
||||||
} else if (transfer->endpoint == sco_out_addr){
|
} else if (transfer->endpoint == sco_out_addr){
|
||||||
|
#ifdef HAVE_SCO
|
||||||
log_info("sco out done, {{ %u/%u (%x)}, { %u/%u (%x)}, { %u/%u (%x)}}",
|
log_info("sco out done, {{ %u/%u (%x)}, { %u/%u (%x)}, { %u/%u (%x)}}",
|
||||||
transfer->iso_packet_desc[0].actual_length, transfer->iso_packet_desc[0].length, transfer->iso_packet_desc[0].status,
|
transfer->iso_packet_desc[0].actual_length, transfer->iso_packet_desc[0].length, transfer->iso_packet_desc[0].status,
|
||||||
transfer->iso_packet_desc[1].actual_length, transfer->iso_packet_desc[1].length, transfer->iso_packet_desc[1].status,
|
transfer->iso_packet_desc[1].actual_length, transfer->iso_packet_desc[1].length, transfer->iso_packet_desc[1].status,
|
||||||
@ -367,6 +376,7 @@ static void handle_completed_transfer(struct libusb_transfer *transfer){
|
|||||||
// decrease tab
|
// decrease tab
|
||||||
sco_ring_transfers_active--;
|
sco_ring_transfers_active--;
|
||||||
// log_info("H2: sco out complete, num active num active %u", sco_ring_transfers_active);
|
// log_info("H2: sco out complete, num active num active %u", sco_ring_transfers_active);
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
log_info("usb_process_ds endpoint unknown %x", transfer->endpoint);
|
log_info("usb_process_ds endpoint unknown %x", transfer->endpoint);
|
||||||
}
|
}
|
||||||
@ -634,8 +644,10 @@ static int prepare_device(libusb_device_handle * aHandle){
|
|||||||
static int usb_open(void *transport_config){
|
static int usb_open(void *transport_config){
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
|
#ifdef HAVE_SCO
|
||||||
sco_state_machine_init();
|
sco_state_machine_init();
|
||||||
sco_ring_init();
|
sco_ring_init();
|
||||||
|
#endif
|
||||||
handle_packet = NULL;
|
handle_packet = NULL;
|
||||||
|
|
||||||
// default endpoint addresses
|
// default endpoint addresses
|
||||||
|
Loading…
x
Reference in New Issue
Block a user