Wakeup Functions

Describes the wakeup functions involved in implementing the GPIO interface class.

One important use of GPIO input pins is to signal a wakeup request to the CPU. Wakeup requests will usually take place when the system is idling and clocks are switched off. This means that the kind of trigger used to signal wakeups must be detected asynchronously (not on a clock edge) and hence that a wakeup trigger should probably be configured for edge detection and not level detection. Since a wakeup is generic to the whole CPU regardless of its origin, wakeups are usually combined into a single signal by a logical OR operation.

Implement the wakeup functions

  • Implement EnableWakeup() with return value KErrNone.

    Enable wakeup on the pin.

  • Implement DisableWakeup() with return value KErrNone.

    Disable wakeup on the pin.

  • Implement IsWakeupEnabled() with return value KErrNone.

    Verify that the pin supports wakeup and determine the wakeup state. If is enabled set aEnable to True and if it is disabled set aEnable to False.

  • Implement these functions with return value KErrNotSupported:

    • EnableWakeup()

    • DisableWakeup()

    • IsWakeupEnabled()

    Return KErrNotSupported if the pin does not support wakeups.