@@ -669,7 +669,8 @@ bool BluetoothSerial::connect(String remoteName)
669
669
strncpy (_remote_name, remoteName.c_str (), ESP_BT_GAP_MAX_BDNAME_LEN);
670
670
_remote_name[ESP_BT_GAP_MAX_BDNAME_LEN] = 0 ;
671
671
log_i (" master : remoteName" );
672
- return (esp_bt_gap_start_discovery (inq_mode, inq_len, inq_num_rsps) == ESP_OK);
672
+ // will first resolve name to address
673
+ return (esp_bt_gap_start_discovery (inq_mode, inq_len, inq_num_rsps) == ESP_OK);
673
674
}
674
675
675
676
bool BluetoothSerial::connect (uint8_t remoteAddress[])
@@ -681,30 +682,32 @@ bool BluetoothSerial::connect(uint8_t remoteAddress[])
681
682
}
682
683
_remote_name[0 ] = 0 ;
683
684
_isRemoteAddressSet = true ;
684
- memcpy (_remote_address, remoteAddress, ESP_BD_ADDR_LEN);
685
- memcpy (_peer_bd_addr, _remote_address, ESP_BD_ADDR_LEN);
685
+ memcpy (_peer_bd_addr, remoteAddress, ESP_BD_ADDR_LEN);
686
686
log_i (" master : remoteAddress" );
687
687
return ( esp_spp_start_discovery (_peer_bd_addr) == ESP_OK);
688
688
}
689
689
690
690
bool BluetoothSerial::connect ()
691
691
{
692
692
if (!isReady (true )) return false ;
693
- if (_remote_name[0 ]) {
694
- log_i (" master : remoteName" );
695
- return (esp_bt_gap_start_discovery (inq_mode, inq_len, inq_num_rsps) == ESP_OK);
696
- } else if (_isRemoteAddressSet){
693
+ if (_isRemoteAddressSet){
694
+ // use resolved or set address first
697
695
log_i (" master : remoteAddress" );
698
- memcpy (_peer_bd_addr, _remote_address, ESP_BD_ADDR_LEN);
699
696
return (esp_spp_start_discovery (_peer_bd_addr) == ESP_OK);
700
- } else {
697
+ } else if (_remote_name[0 ]) {
698
+ log_i (" master : remoteName" );
699
+ // will resolve name to address first - it may take a while
700
+ return (esp_bt_gap_start_discovery (inq_mode, inq_len, inq_num_rsps) == ESP_OK);
701
+ } else {
701
702
log_e (" Neither Remote name nor address was provided" );
702
703
}
703
704
return false ;
704
705
}
705
706
706
707
bool BluetoothSerial::disconnect () {
707
708
if (_spp_client) {
709
+ flush ();
710
+ log_i (" disconnecting" );
708
711
return (esp_spp_disconnect (_spp_client) == ESP_OK);
709
712
}
710
713
return false ;
0 commit comments