Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-8487

GPIO callbacks cannot be disabled in GPIO Interrupt example

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • TIRTOS
    • TIRTOS-1214
    • 3.20.00
    • 3.40.00
    • Hide

      Configuring the interrupt edge detection of a pin using PIN_setConfig() also enables the interrupt as a side effect. Note that all 3 of these definitions also set bit 18 which is the enable interrupt bit in the IOCFGx register.

      When the GPIOCC26XX module's powerPostNotify() function is invoked upon wakeup, GPIO_setConfig() restores the pin's configuration, including its interrupt edge configuration, using Pin_setConfig(), This results in every pin that has been configured to support interrupts will also have that interrupt unilaterally enabled, regardless of whether the interrupt was disabled previously.

      Additionally, even though a particular pin interrupt is disabled, the event mask passed to the PIN_hwi callback function will contain events for that pin if an edge has been detected. This results in a registered GPIO_callback function being called even though an interrupt was not generated on that pin.

      The following changes were made:
      1) Disable auto-enable of interrupts by PIN_setConfig()
      2) Do not call callback for disabled GPIO pin interrupts
      Show
      Configuring the interrupt edge detection of a pin using PIN_setConfig() also enables the interrupt as a side effect. Note that all 3 of these definitions also set bit 18 which is the enable interrupt bit in the IOCFGx register. When the GPIOCC26XX module's powerPostNotify() function is invoked upon wakeup, GPIO_setConfig() restores the pin's configuration, including its interrupt edge configuration, using Pin_setConfig(), This results in every pin that has been configured to support interrupts will also have that interrupt unilaterally enabled, regardless of whether the interrupt was disabled previously. Additionally, even though a particular pin interrupt is disabled, the event mask passed to the PIN_hwi callback function will contain events for that pin if an edge has been detected. This results in a registered GPIO_callback function being called even though an interrupt was not generated on that pin. The following changes were made: 1) Disable auto-enable of interrupts by PIN_setConfig() 2) Do not call callback for disabled GPIO pin interrupts

      GPIO callbacks cannot be disabled in GPIO Interrupt example

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: