Skip to content

Commit 7f14b9c

Browse files
authored
Merge pull request #9679 from dhalbert/fix-ble-serial-check
Correct `ble_serial_connected()` when BLE workflow was never started
2 parents a693bd7 + d0dc144 commit 7f14b9c

File tree

5 files changed

+14
-1
lines changed

5 files changed

+14
-1
lines changed

devices/ble_hci/common-hal/_bleio/PacketBuffer.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,3 +247,7 @@ void common_hal_bleio_packet_buffer_deinit(bleio_packet_buffer_obj_t *self) {
247247
ringbuf_deinit(&self->ringbuf);
248248
}
249249
}
250+
251+
bool common_hal_bleio_packet_buffer_connected(bleio_packet_buffer_obj_t *self) {
252+
return !common_hal_bleio_packet_buffer_deinited(self) && self->conn_handle != BLE_CONN_HANDLE_INVALID;
253+
}

ports/espressif/common-hal/_bleio/PacketBuffer.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,3 +440,7 @@ void common_hal_bleio_packet_buffer_deinit(bleio_packet_buffer_obj_t *self) {
440440
ble_event_remove_handler(packet_buffer_on_ble_client_evt, self);
441441
ringbuf_deinit(&self->ringbuf);
442442
}
443+
444+
bool common_hal_bleio_packet_buffer_connected(bleio_packet_buffer_obj_t *self) {
445+
return !common_hal_bleio_packet_buffer_deinited(self) && self->conn_handle != BLEIO_HANDLE_INVALID;
446+
}

ports/nordic/common-hal/_bleio/PacketBuffer.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,3 +485,7 @@ void common_hal_bleio_packet_buffer_deinit(bleio_packet_buffer_obj_t *self) {
485485
ringbuf_deinit(&self->ringbuf);
486486
}
487487
}
488+
489+
bool common_hal_bleio_packet_buffer_connected(bleio_packet_buffer_obj_t *self) {
490+
return !common_hal_bleio_packet_buffer_deinited(self) && self->conn_handle != BLE_CONN_HANDLE_INVALID;
491+
}

shared-bindings/_bleio/PacketBuffer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@ mp_int_t common_hal_bleio_packet_buffer_get_outgoing_packet_length(bleio_packet_
3535
void common_hal_bleio_packet_buffer_flush(bleio_packet_buffer_obj_t *self);
3636
bool common_hal_bleio_packet_buffer_deinited(bleio_packet_buffer_obj_t *self);
3737
void common_hal_bleio_packet_buffer_deinit(bleio_packet_buffer_obj_t *self);
38+
bool common_hal_bleio_packet_buffer_connected(bleio_packet_buffer_obj_t *self);

supervisor/shared/bluetooth/serial.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ void supervisor_stop_bluetooth_serial(void) {
156156
}
157157

158158
bool ble_serial_connected(void) {
159-
return _tx_packet_buffer.conn_handle != BLEIO_HANDLE_INVALID;
159+
return common_hal_bleio_packet_buffer_connected(&_tx_packet_buffer);
160160
}
161161

162162
uint32_t ble_serial_available(void) {

0 commit comments

Comments
 (0)