Forums - ISSUE IN DETECTING INTERRUPT IN THREAD

7 posts / 0 new
Last post
ISSUE IN DETECTING INTERRUPT IN THREAD
vaibhav.t
Join Date: 3 Aug 20
Posts: 14
Posted: Mon, 2020-08-03 08:50

Hello 

I am working with QCA4020 .

I have set GPIO4 as input interrupt. It is working fine in polling method .

But when i tried same on thread, i am facing problem in detecting input state of GPIO4 also it is not waiting for interrupt.

though the voltage on input pin shows 3.3v . Interrupt is not working with pullup . If supply of 3.3V is directly given to GPIO4 pin, interrupt happens to work fine in that case.

Any help would be appericiated. Thank you.

 

  • Up0
  • Down0
c_rpedad
Profile picture
Join Date: 18 Jun 18
Location: San Jose
Posts: 317
Posted: Tue, 2020-08-04 13:00

Kindly refer to @target\quartz\demo\QCLI_demo\src\gpio\gpio.c file for detailed information on interrput detetction.

  • Up0
  • Down0
vaibhav.t
Join Date: 3 Aug 20
Posts: 14
Posted: Tue, 2020-08-04 22:44

Hello 

Thank you for taking out time to reply to my issue.

I have followed the same example and done the code is similar way.

interrupt on other pins are working properly. I am only facing issue in detecting falling edge interrupt vai pull up on GPIO4 of QCA4020.

Please note on giving 3.3v directly to GPIO4 , GPIO4 stays out of interrupt state ie in HIGH state. on leaving it floating and turning on its internal pullup as well as for safe side giving it external pull up , still GPIO4 goes low in floating state.

As i have already initaited the procedure of PCB manufacturing, i need to resolve this issue ASAP.

also GPIO4 has WL_WAKEUP assign to it. is it possible that because of that it can not used as external interrupt in thread.?

  • Up0
  • Down0
vaibhav.t
Join Date: 3 Aug 20
Posts: 14
Posted: Tue, 2020-08-04 22:44

Hello 

Thank you for taking out time to reply to my issue.

I have followed the same example and done the code is similar way.

interrupt on other pins are working properly. I am only facing issue in detecting falling edge interrupt vai pull up on GPIO4 of QCA4020.

Please note on giving 3.3v directly to GPIO4 , GPIO4 stays out of interrupt state ie in HIGH state. on leaving it floating and turning on its internal pullup as well as for safe side giving it external pull up , still GPIO4 goes low in floating state.

As i have already initaited the procedure of PCB manufacturing, i need to resolve this issue ASAP.

also GPIO4 has WL_WAKEUP assign to it. is it possible that because of that it can not used as external interrupt in thread.?

  • Up0
  • Down0
c_rpedad
Profile picture
Join Date: 18 Jun 18
Location: San Jose
Posts: 317
Posted: Wed, 2020-08-05 10:26

Is it possible to use other GPIO instead of GPIO4 in your design.

Kindly refer to @target\build\tools\devcfg\threadx\DevCfg_master_fom_out_cdb.xml  for GPIO default configuration.
We recommend to configure the unused GPIO to pull up/pull down state accordingly for saving power.

  • Up0
  • Down0
vaibhav.t
Join Date: 3 Aug 20
Posts: 14
Posted: Thu, 2020-08-06 23:29

Hello 

Thank you for giving your time to look into my issue.

The design is too complicated, so it may not be possible to use other GPIO pin instead of GPIO4.

On going through @target\build\tools\devcfg\threadx\DevCfg_master_fom_out_cdb.xml, i  find out only pull_up are blocked on GPIO4 pin. but it can be programmed into interrupt. also it is working as interrupt in while(1). condition. i am facing problem in detecting it as interrupt in thread. the thread do not wait for qurt_signal to SET when GPIO4 is used as interrupt. where as using other pin as interrupt , the same thread waits for that signal to get SET. signals are set in call back of interrupt. is it possible to detect GPIO4 as interrupt in thread.? 

Any help would be helpful at my side.

Thank you.

  • Up0
  • Down0
vaibhav.t
Join Date: 3 Aug 20
Posts: 14
Posted: Fri, 2020-08-14 07:51

any update ? 

thank you.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.