Describes the pin bias functions involved in implementing the GPIO interface class.
Many platforms will provide programmable bias capability. This
means programmable hardware to stabilize the state of a pin to its
high or low state. For input pins the mechanism is usually a resistor:
a pull-up resistor causes a pin to default to the high state and a
pull-down resistor to the low state. Output pins may also be stabilized
by resistors or sometimes by a weak drive. The GPIO class supports
three bias modes specified in the enumeration TGpioBias:
pull-up (EPullUp), a bias to the high state
pull-down (EPullDown), a bias to the low
state
no drive (ENoDrive), an absence of bias
Implement SetPinBias() for each
value of the enumeration TGpioBias.
Only implement this function to return
KErrNone if the pin has a programmable device
to stabilise its electric state. Otherwise just implement
it with return value KErrNotSupported.
Implement SetPinBias() with
aBias == ENoDrive and return value KErrNone.
Disable any resistor or weak drive forcing the pin to a default electrical state.
Implement SetPinBias() with
aBias == EPullDown and return value .KErrNone.
Cause the pin to default to its low electrical state by pull-down resistor, weak drive or other means.
Implement SetPinBias() with
aBias == EPullUp and return value .KErrNone.
Cause the pin to default to its high electrical state by pull-down resistor, weak drive or other means.
Implement SetPinBias() with
return value KErrNotSupported.
Return KErrNotSupported if the pin does not support setting the drive.
Implement GetPinBias() for each
value of the enumeration TGpioBias.
Only implement this function to return
KErrNone if the pin has a programmable device
to stabilise its electric state. Otherwise just implement
it with return value KErrNotSupported.
Implement GetPinBias() with
aBias containing ENoDrive and return value KErrNone.
Verify that any stabilising device
on the pin has been disabled. Set aBias to ENoDrive.
Implement GetPinBias() with
aBias containing EPullDown and return value KErrNone.
Verify that the pin has been set
to default to its low electric state. Set aBias to EPullDown.
Implement GetPinBias() with
aBias containing EPullUp and return value KErrNone.
Verify that the pin has been set
to default to its high electric state. Set aBias to EPullUp.
Implement GetPinBias() with
return value KErrNotSupported.
Return KErrNotSupported if the pin does not support reading the pin bias.