What is done by the low/medium/high interrupts in the USB HID Generic Example

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
benjaminpaik
Level 2
Level 2
10 questions asked 10 sign-ins 5 questions asked

I want to port one of my existing projects from an STM32 to a PSOC 6 MCU which implements an HID USB interface that communicates with a desktop application I've developed. I've imported the "USB_HID_Generic" example for the CY8CKIT-062-WIFI-BT target to familiarize myself with how to adapt my existing USB code. Everything in this example seems pretty straightforward except for the ISRs. There are three of them (low/medium/high), and I am not sure how they are used. Are these meant to be adapted for the application, or do they perform the necessary low level USB operations. If it is the former, are there examples of this?

Also, I've noticed that the README.md file for this application throws an error when trying to open it with the default WikiText Editor.

0 Likes
1 Solution
Aashita_R
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @benjaminpaik ,

USB block in PSoC 6 devices supports 14 interrupts. However, there are only three interrupt lines - USB Interrupt high, medium and low . The interrupts are generated on these lines when different event take place such as SOF, Bus Reset and many more. These interrupt lines can be given different priority values based on the user's choice. As you can read through the section "Configure Interrupts " in the USBFS PDL here : PSoC 6 Peripheral Driver Library: USBFS (USB Full-Speed Device) (cypresssemiconductorco.github.io) , these interrupts are mandatory for the USBFS driver operation. Hence, the low/medium/high ISRs mentioned in the code example are serviced based on different events, that take place during USB operations. 

Also, I have filed an internal ticket to get rid of the issue you are facing while fetching README.md file. I would suggest you to kindly follow the GitHub link for README.md file of USB HID Generic code example provided here : GitHub - cypresssemiconductorco/mtb-example-psoc6-usb-hid-generic: This example demonstrates how to ...

Please let us know if this helps or in case of further queries.

Best Regards,

Aashita

 

 

View solution in original post

0 Likes
1 Reply
Aashita_R
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 250 replies posted

Hi @benjaminpaik ,

USB block in PSoC 6 devices supports 14 interrupts. However, there are only three interrupt lines - USB Interrupt high, medium and low . The interrupts are generated on these lines when different event take place such as SOF, Bus Reset and many more. These interrupt lines can be given different priority values based on the user's choice. As you can read through the section "Configure Interrupts " in the USBFS PDL here : PSoC 6 Peripheral Driver Library: USBFS (USB Full-Speed Device) (cypresssemiconductorco.github.io) , these interrupts are mandatory for the USBFS driver operation. Hence, the low/medium/high ISRs mentioned in the code example are serviced based on different events, that take place during USB operations. 

Also, I have filed an internal ticket to get rid of the issue you are facing while fetching README.md file. I would suggest you to kindly follow the GitHub link for README.md file of USB HID Generic code example provided here : GitHub - cypresssemiconductorco/mtb-example-psoc6-usb-hid-generic: This example demonstrates how to ...

Please let us know if this helps or in case of further queries.

Best Regards,

Aashita

 

 

0 Likes