arduino-nRF5 icon indicating copy to clipboard operation
arduino-nRF5 copied to clipboard

Enables GPIO low accuracy interrupt

Open jeanmatthieud opened this issue 6 years ago • 11 comments

using the PORT event and the pin SENSE register Linked to issue sandeepmistry/arduino-nRF5#153

jeanmatthieud avatar Jun 27 '19 16:06 jeanmatthieud

With the NRF51822, it reduces the consumption of the chip of around 1mA compared to GPIO IN events.

jeanmatthieud avatar Jun 27 '19 16:06 jeanmatthieud

Did you test these changes with a SD on the chip?

dlabun avatar Jun 27 '19 16:06 dlabun

What do you mean by SD ? (Sorry I'm not an English native)

jeanmatthieud avatar Jun 27 '19 18:06 jeanmatthieud

Soft Device, the pre-compiled Bluetooth executable

dlabun avatar Jun 27 '19 18:06 dlabun

Yes, I only use soft device S130 with a rev 3 chip (nRF51822). I do not own nRF52 chips.

jeanmatthieud avatar Jun 27 '19 21:06 jeanmatthieud

Before this gets merged I would like to see it tested on a nRF52

dlabun avatar Jul 03 '19 11:07 dlabun

I bought a nRF52 board, but didn't find the time to do it yet.

jeanmatthieud avatar Jul 29 '19 08:07 jeanmatthieud

@dlabun @sandeepmistry @jeanmatthieud 2 years have since passed and wondered if the arduino-nRF5 has resolved the energy consumption issue?

See this pull request still not merged, guess the nRF51822 high current consumption issue during sleep was resolved somewhere else?

sullivanzheng avatar Mar 21 '21 15:03 sullivanzheng

Hi, Sadly, I never took the time to test it on the nRF52... But the branch was working for me on the nRF51822

jeanmatthieud avatar Mar 22 '21 11:03 jeanmatthieud

Hi, Sadly, I never took the time to test it on the nRF52... But the branch was working for me on the nRF51822

Yes I used your branch. Works for me too. Thanks a lot for implementing this highly needed feature. After all, BLE without proper low energy features is nothing.

sullivanzheng avatar Mar 24 '21 07:03 sullivanzheng

@jeanmatthieud Thanks for the blog post and this pull request. Worked for me as well, except for attachInterruptLowAccuracy() not clearing the SENSE field, so it did not work to switch between RISING and FALLING modes. I had to add this before the switch in attachInterruptLowAccuracy().

NRF_GPIO->PIN_CNF[pin] &= ~(GPIO_PIN_CNF_SENSE_Msk);

oryjkov avatar Apr 20 '21 22:04 oryjkov