Hello,
I am developing a mesh solution when the nrf52840 USB dongle will act as an observer.
I am using the mesh sensor observer sample. I am able to build and flash it to the device.
But I am unable to make the USB connection stable.
I am adding this to the prj.conf (otherwise I am using the default prj.conf in the sample - and I am using SDK2.9)
CONFIG_GPIO=y CONFIG_USB_DEVICE_STACK=y CONFIG_USB_DEVICE_PRODUCT="My USB Stick" CONFIG_USB_DEVICE_MANUFACTURER="My company" CONFIG_USB_DEVICE_SN="0001" CONFIG_USB_CDC_ACM=y CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=y CONFIG_SERIAL=y CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y CONFIG_CJSON_LIB=y
and needed to add this to main file in order for the usb stick to show up at all.
int main(void) { usb_enable(NULL); printk("USB enabled\n"); uint32_t start = k_uptime_get(); while (k_uptime_get() - start < 20000) { // 20 seconds = 20000 ms k_sleep(K_SECONDS(1)); printk("Printing before enabling BLE! %d\n", k_uptime_get_32()); } printk("Starting...\n"); int err; printk("Initializing...\n"); err = bt_enable(bt_ready); if (err) { printk("Bluetooth init failed (err %d)\n", err); } return 0; }
The output (I use python to read out from the USB port - pyserial) is:
📡 Connected to COM17 at 115200 baud 🔹 *** Booting Mesh Sensor Observer v2.9.0-54e858a1d142 *** 🔹 *** Using nRF Connect SDK v2.9.0-7787b2649840 *** 🔹 *** Using Zephyr OS v3.7.99-1f8f3dc29142 *** 🔹 USB enabled 🔹 🔹 uart:~$ Printing before enabling BLE! 1003 🔹 Printing before enabling BLE! 2004 🔹 Printing before enabling BLE! 3004 🔹 Printing before enabling BLE! 4004 🔹 Printing before enabling BLE! 5005 🔹 Printing before enabling BLE! 6005 🔹 Printing before enabling BLE! 7005 🔹 Printing before enabling BLE! 8006 🔹 Printing before enabling BLE! 9006 🔹 Printing before enabling BLE! 10006 🔹 Printing before enabling BLE! 11007 🔹 Printing before enabling BLE! 12007 🔹 Printing before enabling BLE! 13007 🔹 Printing before enabling BLE! 14008 🔹 Printing before enabling BLE! 15008 🔹 Printing before enabling BLE! 16009 🔹 Printing before enabling BLE! 17009 🔹 Printing before enabling BLE! 18009 🔹 Printing before enabling BLE! 19010 🔹 Printing before enabling BLE! 20010 🔹 Starting... ⚠️ Serial error: ClearCommError failed (PermissionError(13, 'The device does not recognize the command.', None, 22))
So BLE conflicts with the USB - but how to fix this?