Interrupt to avoid polling USBUART_IsConfigurationChanged()?

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

cross mob
euggersh
Level 5
Level 5
5 sign-ins First solution authored 50 replies posted

I'm using a USBUART component in my project and I'm wondering if there's an interrupt I can get a callback from that can tell me the configuration changed.  Or do I really have to continuously poll USBUART_IsConfigurationChanged()?

0 Likes
1 Solution
euggersh
Level 5
Level 5
5 sign-ins First solution authored 50 replies posted

Figured it out.  USBUART_EP_0_ISR_ExitCallback().

View solution in original post

2 Replies
euggersh
Level 5
Level 5
5 sign-ins First solution authored 50 replies posted

Figured it out.  USBUART_EP_0_ISR_ExitCallback().

Hi,

I'm having the same issue.

However, I noticed the following issues.

  • I setup my "cyapicallbacks.h" file with

#define USBUART_EP_0_ISR_EXIT_CALLBACK

void USBUART_EP_0_ISR_ExitCallback();

     and I have an ISR set up for executing code.  However the USBUART_drv.c file that has the original USBUART_EP_0_ISR does not allow the conditional compile unless I add the line #include "cyapicallbacks.h"  near the top of the file.  (This does not seem right).

  • Once I can compile the callback into USBUART_drv.c and execute the code, it never gets executed because the original ISR for USBUART_EP_0_ISR doesn't appear to get enabled.

I'm having a chicken_vs_egg dilemma.  I can't USBUART_CDC_Init() unless the Configuration is correct set (determined by USBUART_GetConfiguration()).  And I can't get the Configuration set until the enumeration is completed with the PC.

I know I'm missing something.  I'm not sure what it is.

Len

Len
"Engineering is an Art. The Art of Compromise."
0 Likes