Multiple code space Wkup_enable_irq() function calls!

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.wsdof.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
8 posts / 0 new
Last post
rajucoolsuraj
Offline
Last seen:5 months 1 week ago
加入:2018-12-12 16:09
Multiple code space Wkup_enable_irq() function calls!

Hello dialog,
I have been setting up a common place wakeup interrupt registration for all GPIO pin events.

But, the BLE_APP_SLEEPMODE also makes use of the call to wakeup interrutpt registration.

The dual registration should not be an issue and allow for normal operation ?

I have a complex timer-isr and gpio-isr(using wakeup) generic setup coming into development.

Need help and inputs on software usage ASAP.

Thanks

Raju

Device:
PM_Dialog
Offline
Last seen:1 day 13 hours ago
Staff
加入:2018-02-08 11:03
Hi rajucoolsuraj,

Hi rajucoolsuraj,

Could you please clarify your question? Did you configure the firmware to wake up from different GPIOs? Can you kindly provide me some additional inputs and let me know what you are trying to accomplish?

Thanks, PM_Dialog

rajucoolsuraj
Offline
Last seen:5 months 1 week ago
加入:2018-12-12 16:09
Hello Dialog,

Hello Dialog,
Lets start with the simple requirement of

1. Having multiple GPIO interrupt sources.

2. BLE app with sleep mode enabled. Hence WakeUp controller is used to serve the interrupts.

3. How to know, among the multiple GPIO's used in WakeUp controller, the pin that triggred the interrupt ?

4. How to safely handle the re-initialization of WakeUp controller for all the configured GPIO interrupt sources?

Thanks

Regards

Raju

PM_Dialog
Offline
Last seen:1 day 13 hours ago
Staff
加入:2018-02-08 11:03
Hi rajucoolsuraj,

Hi rajucoolsuraj,

There is no register that will indicate the port/pin that the interrupt occurred, what you can do in order to check the source of the pulse is to read the status of the pin right after the device has been awaken. So, according to the pin status you will have to decide which callback function will be triggered. Regarding your last question, I am not completely sure if I understood correctly what you mean, but you can enable the wake-up controller where you want into your application.

Thanks, PM_Dialog

rajucoolsuraj
Offline
Last seen:5 months 1 week ago
加入:2018-12-12 16:09
#How to safely handle the re

#How to safely handle the re-initialization of WakeUp controller for all the configured GPIO interrupt sources?

Interrupt's status is reset once triggered on the input port pin.

I need to re-service the interrupt on the next period. To achieve this, WakeUp must be re-init with the interrupt's pin port for edge detection.

During, re-init there might be other interrupts that might get triggered, hence needs safe re-init of WakeUp controller for all the GPIO sources.

Thanks

Regards

Raju

PM_Dialog
Offline
Last seen:1 day 13 hours ago
Staff
加入:2018-02-08 11:03
Hi rajucoolsuraj,

Hi rajucoolsuraj,

Apologies, but I am not completely sure if I understood correctly what you would like to accomplish. Where to re-enable the wake up controller is related to your application. Are you using any of our BLE examples?

Thanks, PM_Dialog

rajucoolsuraj
Offline
Last seen:5 months 1 week ago
加入:2018-12-12 16:09
Hello Dialog,

Hello Dialog,

I have three interrupt sources on three gpios.

I want one of the gpio to be never missed from the wakeup controller.

So, I have other two gpio interrupts that are to be handled along with priority interrupt source.

Since the base reference project is sleepmode in the pillar example, I am using wakeup controller to service gpio's collectively.

May I get a suggestion as to how to never miss the priority gpio interrupt even when the other interrupts are activated.

Current implementation -

re-init wakeup controller as soon as any interrupt is raised so that priority interrupt is never missed from being handled.

Thanks

regards

RAju

PM_Dialog
Offline
Last seen:1 day 13 hours ago
Staff
加入:2018-02-08 11:03
Hi rajucoolsuraj,

Hi rajucoolsuraj,

Apologies, but I am little bit confused with your description. What do you mean with “want one of the gpio to be never missed from the wakeup controller.”? If you configure the wake up controller with the GPIO that you would like to catch the interrupt, you will never miss it. Regarding the priority, could you please clarify it? If I am able to understand correctly, you would like to configure 3 GPIOs in the wake up controller, and check which GPIO trigger it?

Thanks, PM_Dialog