CoreS3 read data via usb_uart
-
Hello. I’m trying to read data via usb_uart on an M5Stack CoreS3 from a CDC-ACM device, without success.
Here some config entries.
I moved the logger to a different interface. I have no idea whether this is necessary, but this way it definitely doesn’t occupy the USB interface.logger: baud_rate: 0 hardware_uart: UART0 level: VERBOSE initial_level: DEBUG logs: usb_uart: VERBOSE usb_host: VERBOSE uart_debug: VERBOSEOutputs
output: - platform: axp2101 type: range channel: DLDO1 id: lcd_backlight_output min_voltage: 2600 max_voltage: 3300 - platform: axp2101 channel: ALDO1 voltage: 1800 - platform: axp2101 channel: ALDO2 voltage: 3300 - platform: axp2101 channel: BLDO1 voltage: 2800 - platform: axp2101 channel: BLDO2 voltage: 1500Then I set these switches:
switch: - platform: gpio name: "bus_out_en_sw" internal: true pin: aw9523b: aw9523b_hub number: 1 restore_mode: ALWAYS_ON - platform: gpio name: "usb_otg_en_sw" internal: true pin: aw9523b: aw9523b_hub number: 5 restore_mode: ALWAYS_ON - platform: gpio name: "boost_en_sw" internal: true pin: aw9523b: aw9523b_hub number: 15 restore_mode: ALWAYS_ON - platform: gpio name: "AW RST P0_2" internal: true pin: aw9523b: aw9523b_hub number: 2 restore_mode: ALWAYS_ONAnd configure the
usb_uartusb_uart: - type: cdc_acm id: scanner_bus vid: 0x152A pid: 0x880F channels: - id: uch_1 debug: trueThe device is a barcode scanner Digitus DA-8002
DC 3.3 - 5V, 120 mA, idle 1uA
The scanner is set as "USB serial interface output".
Adapter USB-C to USB-A Greencell 2.4A 480 Mbps
Power supply CoreS3: Yingjiao YS35V-1203000, 12V, 3A, 36W
Baudrate scanner: 9600
The scanner is powered. When I plug it in, it beeps, and it also beeps when I scan.
It has a USB-A interface, and I’m using a USB-C to USB-A OTG adapter.
The scanner works without any problem with this exact adapter on a Windows PC and on an Android smartphone.
This is the log when I plug in the scanner.[18:14:15.614][D][usb_host:265]: Open device 1 [18:14:15.615][D][usb_host:272]: Get descriptor device 1 [18:14:15.615][D][usb_host:279]: Device descriptor: vid 152A pid 880F [18:14:15.616][D][usb_host:289]: Device connected: Manuf: MINJCODE; Prod: MINJCODE MJ2818A; Serial: 00000000050C [18:14:15.618][V][usb_host:089]: *** Device descriptor *** [18:14:15.618]bLength 18 [18:14:15.618]bDescriptorType 1 [18:14:15.618]bcdUSB 1.10 [18:14:15.618]bDeviceClass 0x2 [18:14:15.618]bDeviceSubClass 0x0 [18:14:15.618]bDeviceProtocol 0x0 [18:14:15.618]bMaxPacketSize0 64 [18:14:15.618]idVendor 0x152a [18:14:15.618]idProduct 0x880f [18:14:15.618]bcdDevice 1.00 [18:14:15.618]iManufacturer 1 [18:14:15.618]iProduct 2 [18:14:15.618]iSerialNumber 3 [18:14:15.618]bNumConfigurations 1 [18:14:15.627][V][usb_host:070]: *** Configuration descriptor *** [18:14:15.627]bLength 9 [18:14:15.627]bDescriptorType 2 [18:14:15.627]wTotalLength 67 [18:14:15.627]bNumInterfaces 2 [18:14:15.627]bConfigurationValue 1 [18:14:15.627]iConfiguration 0 [18:14:15.627]bmAttributes 0x80 [18:14:15.627]bMaxPower 500mA [18:14:15.652][V][usb_host:056]: *** Interface descriptor *** [18:14:15.652][V][usb_host:056]: bLength 9 [18:14:15.652][V][usb_host:056]: bDescriptorType 4 [18:14:15.652][V][usb_host:056]: bInterfaceNumber 0 [18:14:15.652][V][usb_host:056]: bAlternateSetting 0 [18:14:15.652][V][usb_host:056]: bNumEndpoints 1 [18:14:15.652][V][usb_host:056]: bInterfaceClass 0x2 [18:14:15.652][V][usb_host:056]: iInterface 0 [18:14:15.669][V][usb_host:042]: *** Endpoint descriptor *** [18:14:15.669][V][usb_host:042]: bLength 7 [18:14:15.669][V][usb_host:042]: bDescriptorType 5 [18:14:15.669][V][usb_host:042]: bEndpointAddress 0x82 EP 2 IN [18:14:15.669][V][usb_host:042]: bmAttributes 0x3 INT [18:14:15.669][V][usb_host:042]: wMaxPacketSize 8 [18:14:15.669][V][usb_host:042]: bInterval 10 [18:14:15.679][V][usb_host:056]: *** Interface descriptor *** [18:14:15.679][V][usb_host:056]: bLength 9 [18:14:15.679][V][usb_host:056]: bDescriptorType 4 [18:14:15.679][V][usb_host:056]: bInterfaceNumber 1 [18:14:15.679][V][usb_host:056]: bAlternateSetting 0 [18:14:15.679][V][usb_host:056]: bNumEndpoints 2 [18:14:15.679][V][usb_host:056]: bInterfaceClass 0xa [18:14:15.679][V][usb_host:056]: iInterface 0 [18:14:15.692][V][usb_host:042]: *** Endpoint descriptor *** [18:14:15.692][V][usb_host:042]: bLength 7 [18:14:15.692][V][usb_host:042]: bDescriptorType 5 [18:14:15.692][V][usb_host:042]: bEndpointAddress 0x1 EP 1 OUT [18:14:15.692][V][usb_host:042]: bmAttributes 0x2 BULK [18:14:15.692][V][usb_host:042]: wMaxPacketSize 64 [18:14:15.692][V][usb_host:042]: bInterval 0 [18:14:15.699][V][usb_host:042]: *** Endpoint descriptor *** [18:14:15.699][V][usb_host:042]: bLength 7 [18:14:15.699][V][usb_host:042]: bDescriptorType 5 [18:14:15.699][V][usb_host:042]: bEndpointAddress 0x81 EP 1 IN [18:14:15.699][V][usb_host:042]: bmAttributes 0x2 BULK [18:14:15.699][V][usb_host:042]: wMaxPacketSize 64 [18:14:15.699][V][usb_host:042]: bInterval 0 [18:14:15.719][D][usb_host:304]: Call on_connected [18:14:15.721][D][usb_uart:331]: device connected [18:14:15.730][D][usb_uart:031]: intf_desc: bInterfaceClass=02, bInterfaceSubClass=02, bInterfaceProtocol=01, bNumEndpoints=1 [18:14:15.740][D][usb_uart:041]: ep: bEndpointAddress=82, bmAttributes=03 [18:14:15.750][D][usb_uart:031]: intf_desc: bInterfaceClass=0A, bInterfaceSubClass=00, bInterfaceProtocol=00, bNumEndpoints=2 [18:14:15.760][D][usb_uart:041]: ep: bEndpointAddress=01, bmAttributes=02 [18:14:15.771][D][usb_uart:041]: ep: bEndpointAddress=81, bmAttributes=02 [18:14:15.771][V][usb_uart:081]: Found CDC-ACM device [18:14:15.781][D][usb_uart:338]: Found 1 CDC-ACM devices [18:14:15.783][D][usb_uart:390]: enter enable_channels [18:14:15.791][D][usb_uart:398]: start_input for channel [18:14:15.793][D][usb_uart:278]: call transfer_in epAddress: 0x81, MaxPacketSize: 64 [18:14:15.802][D][usb_uart:283]: transfer_in returns true [18:14:15.802][W][component:547]: usb_host took a long time for an operation (189 ms) [18:14:15.812][W][component:550]: Components should block for at most 30 ms [18:14:15.826][D][usb_host:174][usb_task]: New device 1As it looks, the transfer is submitted with usb_host_transfer_submit. There are absolutely no error messages and everything looks correct. The callback is just never called—no matter what, how much, or how fast I scan.
What did I forget? Is this even possible at all?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login