Describes the trigger functions involved in implementing the GPIO interface class.
A trigger is the electrical waveform which signals an interrupt
and sometimes a wakeup. Triggers are detected either by their level
(high or low) or by their edge (rising, falling or both). When you
associate an interrupt with a trigger you must specify the type (level
or edge) and then the subtype. Some configurations of type and subtype
are incompatible, for instance level trigger with rising edge. The
GPIO interface class specifies the possible combinations in the enumeration TGpioDetectionTrigger
. It is for the implementation to
check that a given pin supports a consistent configuration.
Implement SetInterruptTrigger()
with return value KErrNone
.
Verify that the pin is being used as an interrupt source and that there is an ISR bound to it. Set the interrupt trigger on the specified pin.
Implement SetInterruptTrigger()
with return value KErrNotSupported
.
Return KErrNotSupported
if the pin does not support interrupts.
Implement SetWakeupTrigger()
with
return value KErrNone
.
Verify that the pin is being used as an interrupt source and that there is an ISR bound to it. Set the interrupt trigger on the specified pin. The trigger should probably be edge detected.
Implement SetWakeupTrigger()
with
return value KErrNotSupported
.
Return KErrNotSupported
if the
pin does not support wakeups.