GPIOTE breaking changes between 1.7.1 to 1.9.0

We upgrade our project from nrf-sdk 1.7.1 to 1.9.1 and it broke part of our project.

The part that broke counts the number of falling / rising edges and triggers different events on each count. We are using PPI to combine a timer(counter) with a GPIOE input monitoring a PWM outputs.

A basic version can be found at: https://gist.github.com/motters/f17a2043ee3fd42481ddf8d07b2d00f9 . However our production one expands this by adding in a loop

  • CC Count 1: samples ADC 1
  • CC Count 2: sample ADC 2; re-configure gpioe to rising edge
  • CC Count 3: samples ADC 3; reconfigure gpio to falling edge; reset timer

On the

  • Cycle 1,3,5,7...: everything works as expected
  • Cycle 2,4,6,8...: The gpioe triggers on the rising edge for "CC Count 1 & 2" and not the falling edge.

The gpioe hal driver in hal_nordic used in Zephyr/sdk-nrf does seem to have had a major update from 1.7.1 to 1.9.1

Does anything spring to mind as per what the problem would be?

Sam

Related