No Bulk interrupts LPC54628

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

No Bulk interrupts LPC54628

跳至解决方案
1,316 次查看
whinis
Contributor I

I am unsure if I just have something misconfigured or truly just don't understand how it works.

I am using the LPC54628 on the OM13098 board and my goal is to send graphics to the screen using bulk transports on usb1. My plan was to use the composite device example and replace one of the HID classes with a simpler consumer device report with 6 buttons and  and the other with a modified CDC ACM example that would directly draw to the frame buffer. Modifying the HID was no issue and and on both linux and windows I had a 1 byte report that could show the value of buttons pressed. However I have been unable to get the CDC ACM example working in the composite class.

Endpoint setup appears to go fine such that I have 5 endpoints in total not including control. Bulk in/out on endpoint 1, Interrupt In/Out on 2, and Interrupt In for Hid on 3. I see no errors reported on endpoint init however I never get an interrupt for any bulk transfers. To initiate the bulk transfers I am using libusb

libusb_bulk_transfer(
            lcdhandle_,
            endpoint_out_,
            lcd_buffer,
            sizeof(lcd_buffer),
            &len,
            250
            );

 that you can see here. I get a timeout every time without any interrupt even on USB1_IRQHandler.  From what I can see interrupts are enabled on INTEN for all endpoints. Is there some configuration I am missing ?

标签 (3)
0 项奖励
回复
1 解答
1,295 次查看
belmontbob59
Contributor IV

You should put a USB com analyzer to see the traffic and pinpoint which side the issue is. Either the host request does not come down the wire or the device side's EP is not primed.

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,296 次查看
belmontbob59
Contributor IV

You should put a USB com analyzer to see the traffic and pinpoint which side the issue is. Either the host request does not come down the wire or the device side's EP is not primed.

0 项奖励
回复
1,292 次查看
whinis
Contributor I

It ended up being the priming, I didn't realize I needed todo that so while the endpoint was configured it was never primed.

0 项奖励
回复