Input and Output Functions

Describes the input and output functions involved in implementing the GPIO interface class.

There is no general reason why a pin which is available for use for GPIO should not also be available for some other function, and the GPIO interface specification allows for this. There are certain circumstances where pin sharing should be prevented, for instance when a pin is in use as an interrupt source, and these cases are specified individually.

Implement the Input/output functions

  • Implement SetOutputState() for each value of TGpioState.

    • Implement SetOutputState() with aState == ELow and return value KErrNone.

      Verify that the pin is being used as a binary output. Set it to its low electric state.

    • Implement SetOutputState() with aState == EHigh and return value KErrNone.

      Verify that the pin is being used as a binary output. Set it to its high electric state.

    • Implement SetOutputState() with aState == EDefaultIdleState and return value KErrNone.

      Verify that the pin is being used as a binary output. Set its electric state to its default idle state.

    • Implement SetOutputState() with return value KErrNotSupported.

      If the specified electric state is not supported return KErrNotSupported.

  • Implement GetOutputState() with return value KErrNone.

    Verify that the pin is being used as a binary output. Determine its electric state and set aState to the appropriate value of TGpioState.

  • Implement GetInputState() with return value KErrNone.

    Verify that the pin is being used as a binary input. Determine its electric state and set aState to the appropriate value of TGpioState.