Right now, I am working on Intel Galileo Gen 2 board and developed one code to generate only interrupt on falling edge.
So, I have initialized MRAA library and set GPIO Direction as Input Direction. After that, I have initialized Interrupt Service Routine as MRAA_GPIO_EDGE_FALLING with interrupt handler.
We have created one RC based circuit and gave input GPIO as button on that circuit.
So, I am getting 2 times interrupt sometimes after pressing button which is not proper but at the same time I have looked into CRO and i got only single time Low to High signal at the time of button press event.
I have checked that there is no any De-bouncing issue as we have put proper RC components to solve that issue.
Does anyone has any idea to solve this type issue or any clue to solve it?
I will try to help you with this. Could you please send us a screenshot of the signal you are reading with the CRO? Also, it would be helpful if you could share the schematic of the circuit connected to the GPIO input.
Is it possible that you measure the signal sent to the GPIO before and after the RC circuit? If so, could you please share a screenshot of both measurements to compare them?
We will be waiting for your response.
Sorry for late reply.
One issues was of RC components which we have used in our button circuit. We have compared it with existing RC circuit of one button which is on Intel Gailleo Gen 2 board and changed it into our button circuit and it worked.
After that, I have checked each and every IO Lines and found that IO4, IO10 and IO11 are not working as per Falling Edge Trigger Interrupt means getting 2 interrupt on single time press button. So, we have update MRAA library and after that IO4 issue has been resolved.
Still, we are getting 2 times interrupt on IO10 and IO11 after using same code which is working fine with other IOs.
Please let me know if you have idea or clue for this type of issue.
I'm sorry, I'm not sure I understand what's happening. Could you please correct me if I'm wrong?
The modifications you made to your debouncing circuit combined with the latest version of mraa were able to eliminate most of the bouncing issues, right? And now what's happening is that only on pins 10 and 11 you are receiving 2 interrupts (when they are set as falling edge) every time you press the button, is that correct?
In that case, I've a couple of questions for you:
1. Did you measure the signal? They might be corrected by the circuit but I just want to make sure we can rule them out.
2. Does this only happen when the interrupt is set as falling edge? I mean, is the issue also replicable on rising edge or both?
I will be waiting for your reply.
Yes. De-bouncing issue has been resolved after changing RC Circuit for button which we are using by taking reference of one of Intel Galileo Gen 2 board's button circuit. Sorry, Actually, Total 4 IOs were not working after changing RC circuit of button.
IO2, IO4, IO10 and IO11.
We have updated MRAA Library and issue of IO2 has been resolved. But still, we are getting problem for IO4, IO10 and IO11 and also we have checked circuitry of that IOs which is similar and not shared with other interface.
I have also checked for RISING EDGE and BOTH EDGE in which all IOs are working fine without any issue.
Yes. I am getting 2 times interrupt every time after pressing button on IO4, IO10 and IO11.
We have also captured signal on falling edge and getting single event from high to low while pressing button and low to high while releasing button with some delay as RC component delay.
Please let me know if you need any more informations from my side.
Do you need any more informations from my side regarding running issue?
I have checked my application which is MRAA based and also checked GPIOLib based application in which i am getting same proble in falling edge interrupt. I have also put some debug statements into Intel GPIO driver and at that time i got 2 times interrupt handler called on falling edge while single time called on rising edge interrupt.
So, Now, its difficulty for me to debug and figure out exact issue with this particular IO4, IO10 and IO11.
Please try to contact any hardware experts to check those lines in details to get any conclusion for this issue.
While investigating on this issue we noticed that you also have this thread: https://communities.intel.com/thread/106113 https://communities.intel.com/thread/106113. We noticed that they both are about the same issue. We are currently reviewing this issue on that thread. As soon as we have any updates on this, we'll post them in that there.
Likewise, if you have updates on this issue please post them in that thread so we can have all information in one single thread and avoid confusions between threads.