This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

What is the difference between High-accuracy and SIGNAL mode in GPIOTE

Hello,

 

I am using nRF52832, SDK_15.3.0, S132 SoftDevice and Segger for flash the image. I am using ‘ble_app_blinky’.

1) What is the difference between High-accuracy and SIGNAL mode. “Product specification” nowhere mentioned about high accuracy.

a)  In GPIOTE mode, if I configure high accuracy when whether IN in “Figure 21: GPIO Port and the GPIO pin details” is used for sensing the level where as in normal mode SENSE/DETECT is use to generate PORT Event.

2) Under nrfx_gpiote_in_init() in below link I am seeing the description mentioned below.

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Fgroup__nrf__drv__gpiote.html&anchor=ga00970227fc2c393fbbc71b3d362b58c2

If high-accuracy mode is used, the driver attempts to allocate one of the available GPIOTE channels. If no channel is available, an error is returned. In low accuracy mode SENSE feature is used. In this case only one active pin can be detected at a time. It can be worked around by setting all of the used low accuracy pins to toggle mode.

a) If 'high accuracy' mode is not selected, whether SENSE feature is same as normal GPIO sense. In this case whether GPIOTE will not come into picture ?

b) I have a scenario where two buttons to be pressed for 1 sec at a time. In this case whether GPIOTE cannot be used. ?

c) In high accuracy mode, GPIOTE_CONFIG_IN_SENSE_TOGGLE(true) I am seeing few interrupts getting missed. Any thoughts on this.

Thanks & Regards

Vishnu Beema

Parents
  • Hi Vishnu

    1

    a)  GPIOTE_CONFIG_IN_SENSE_LOTOHI(true) is an IN_EVENT.

    GPIOTE_CONFIG_IN_SENSE_LOTOHI(false) is a PORT event.

    2.

    a) You are correct. More info on that in this post

    b) Thanks for clarifying. Yes, you will only be able to detect one pin at a time in low accuracy mode. The reason you are missing some events is likely due to the GPIOTE channels being busy, although I'm not completely sure. Anyway, low accuracy toggle mode is the best solution.

    c) You are correct.

    Best regards,

    Simon

  • Sorry, I have last query.

    Based on DETECT, PORT event will be generated. Based on your statement

    "You will be able to create a PORT event in normal mode of GPIOTE as well as high acc"

    even in case of for IN_EVNET, whether DETECT is used ?

    Is high accuracy mean, more sampling of input pin using High frequency clock (HFXO).

    Thanks & Regards

    Vishnu Beema

Reply Children
No Data
Related