disconnect
Disconnects from the BLE device while keeping resources allocated.
This method gracefully terminates the active connection but retains the underlying BluetoothGatt object, allowing for potential reconnection without full reinitialization. Use close instead if you want to fully release all resources.
After calling this method, the connectionStateFlow will transition to ConnectionState.Disconnecting and eventually ConnectionState.Disconnected.