cancel
Showing results for 
Search instead for 
Did you mean: 

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

kps98
Associate III

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

1 REPLY 1
ABOUA
ST Employee

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,