Dialog Semiconductor customer support - rising https://support.dialog-semiconductor.com/resource-keywords/rising en external GPIO interrupt on rising edge https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/external-gpio-interrupt-rising-edge

Hello,
I am using DA14585 with SDK 6.0.4, I also enabled ext-sleep mode.
A g-sensor is connected to a DA14585 through i2c. There is a interrupt pin.
The interruption of the sensor is designed as initially high, once the data ready, the interrupt pin will be low and then be high.
I would like to detect the rising edge for the interrupt pin, and I configure it as followings:

in void set_pad_functions(void):
GPIO_ConfigurePin(I2C_INT1_PORT, I2C_INT1_PIN, INPUT_PULLUP, PID_GPIO, true); //G Sensor INT1
GPIO_RegisterCallback( GPIO0_IRQn, LIS3DH_Interrupt1_Handler);
GPIO_EnableIRQ( I2C_INT1_PORT, I2C_INT1_PIN, GPIO0_IRQn, false, true, 3 );

in static inline void arch_goto_sleep (sleep_mode_t current_sleep_mode):
ext_wakeup_enable(I2C_INT1_PORT, I2C_INT1_PIN, 0); //0 => active high

However, I find that my callback function will be called every wake-up time.
The reason may be that the GPIO_EnableIRQ(in set_pad_functions) is set again and the interrupt pin is high at that time.
As I know, the GPIO interruption of DA14585 is level triggered, right?
Do you guys have any idea to solve this problem?
Thanks.

Device: 
Mon, 10 Jul 2017 03:59:07 +0000 stanley_yeh 64525 at https://support.dialog-semiconductor.com https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/external-gpio-interrupt-rising-edge#comments