mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-23 18:39:52 +00:00
example/spp_streamer_client: use state to decide on next action on inquiry complete
This commit is contained in:
parent
287c758dd4
commit
7c03fe59ad
@ -189,25 +189,35 @@ static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *pack
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case GAP_EVENT_INQUIRY_RESULT:
|
case GAP_EVENT_INQUIRY_RESULT:
|
||||||
|
if (state != W4_PEER_COD) break;
|
||||||
class_of_device = gap_event_inquiry_result_get_class_of_device(packet);
|
class_of_device = gap_event_inquiry_result_get_class_of_device(packet);
|
||||||
gap_event_inquiry_result_get_bd_addr(packet, event_addr);
|
gap_event_inquiry_result_get_bd_addr(packet, event_addr);
|
||||||
if (class_of_device == TEST_COD){
|
if (class_of_device == TEST_COD){
|
||||||
memcpy(peer_addr, event_addr, 6);
|
memcpy(peer_addr, event_addr, 6);
|
||||||
printf("Peer found: %s\n", bd_addr_to_str(peer_addr));
|
printf("Peer found: %s\n", bd_addr_to_str(peer_addr));
|
||||||
stop_scan();
|
stop_scan();
|
||||||
|
|
||||||
printf("Start to connect\n");
|
|
||||||
state = W4_RFCOMM_CHANNEL;
|
|
||||||
rfcomm_create_channel(packet_handler, peer_addr, RFCOMM_SERVER_CHANNEL, NULL);
|
|
||||||
} else {
|
} else {
|
||||||
printf("Device found: %s with COD: 0x%06x\n", bd_addr_to_str(event_addr), (int) class_of_device);
|
printf("Device found: %s with COD: 0x%06x\n", bd_addr_to_str(event_addr), (int) class_of_device);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAP_EVENT_INQUIRY_COMPLETE:
|
case GAP_EVENT_INQUIRY_COMPLETE:
|
||||||
printf("Inquiry complete\n");
|
switch (state){
|
||||||
printf("Peer not found, starting scan again\n");
|
case W4_PEER_COD:
|
||||||
start_scan();
|
printf("Inquiry complete\n");
|
||||||
|
printf("Peer not found, starting scan again\n");
|
||||||
|
start_scan();
|
||||||
|
break;
|
||||||
|
case W4_SCAN_COMPLETE:
|
||||||
|
printf("Start to connect\n");
|
||||||
|
state = W4_RFCOMM_CHANNEL;
|
||||||
|
rfcomm_create_channel(packet_handler, peer_addr, RFCOMM_SERVER_CHANNEL, NULL);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (state == W4_PEER_COD){
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -217,6 +227,7 @@ static void packet_handler (uint8_t packet_type, uint16_t channel, uint8_t *pack
|
|||||||
|
|
||||||
case RFCOMM_DATA_PACKET:
|
case RFCOMM_DATA_PACKET:
|
||||||
test_track_transferred(size);
|
test_track_transferred(size);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
printf("RCV: '");
|
printf("RCV: '");
|
||||||
for (i=0;i<size;i++){
|
for (i=0;i<size;i++){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user