Skip to main content
Graduate
April 29, 2024
Question

CDC channel 1 not working I-CUBE-USBD-Composite MIDI + CDC

  • April 29, 2024
  • 1 reply
  • 1156 views

Hi,

I'm using a nucleo board with stm32h755zi chip for prototyping a MIDI device. I am trying to get it working as both CDC and MIDI device via USB. I was able to achieve this using I-CUBE-USBD-Composite but there is a minor problem with the implementation. What i've done so far is, I created a HID + CDC composite class and i changed the HID descriptor to MIDI descriptors. So by using send report function i can send MIDI notes and by using CDC transmit function i can send serial data. Before i added MIDI descriptors i was able to transmit CDC data with just a single channel. That is i set _USBD_CDC_ACM_COUNT as 1. But when i added MIDI descriptors my CDC transmit stopped working even though i was able to detect a serial monitor. To solve this what i did is, i changed _USBD_CDC_ACM_COUNT to 2. Now i can see two serial ports and the second port works fine whereas the first channel is still not working. When i look at the code second channel has different end points 

in_ep += 2;
cmd_ep = in_ep + 1;
out_ep++;
str_idx++;

I tried changing my default end points to this such that i will only have one VCP, but it didn't work. What can cause such an issue?

 

Thanks,

Kiran

    This topic has been closed for replies.

    1 reply

    ST Employee
    May 2, 2024

    Hello Kiran,

    I-CUBE-USBD-Composite is not part  of ST software offer, seems that package uses a customized middleware based on ST USB device library and the issue you faced seems not be linked to ST software

    Regards,