The ble_wifi_provisioner pico-example calls hci_power_control HCI_POWER_ON and HCI_POWER_OFF but I don't think we have tested multiple init / deinit cycles of BT while WiFi is working. The driver expects to be able to call cyw43_bluetooth_hci_process which checks hci_transport_ready. But that relies on the run loop staying valid. It doesn't look like btstack_cyw43_init / btstack_cyw43_deinit can be called outside of cyw43_arch_init / cyw43_arch_deinit. Write some test code to see if we can support this somehow.
The ble_wifi_provisioner pico-example calls hci_power_control HCI_POWER_ON and HCI_POWER_OFF but I don't think we have tested multiple init / deinit cycles of BT while WiFi is working. The driver expects to be able to call cyw43_bluetooth_hci_process which checks hci_transport_ready. But that relies on the run loop staying valid. It doesn't look like btstack_cyw43_init / btstack_cyw43_deinit can be called outside of cyw43_arch_init / cyw43_arch_deinit. Write some test code to see if we can support this somehow.