Module serpente::gpio::v1[][src]

👎 Deprecated since 0.13.0:

The gpio::v1 module is deprecated, and will be removed in a subsequent release. Please use the gpio::v2 module instead.

Expand description

Version 1 of the GPIO module

This module is a compatibility shim that allows existing code to use the new v2 module. This API will eventually be deprecated and removed.

Working with GPIO pins. The pins are associated with the PORT hardware. This module defines a split method on the PORT type that is used to safely reference the individual pin configuration. The IO pins can be switched into alternate function modes, which routes the pins to different peripherals depending on the mode for the pin. The pin configuration is reflected through the use of type states to make the interface (ideally, or at least practically) impossible to misuse.

Structs

PartsDeprecated

Holds the GPIO Port peripheral and broken out pin instances

PinDeprecated

Represents a GPIO pin with a corresponding PinId and PinMode

PortDeprecated

Opaque port reference

Traits

GpioExtDeprecated

The GpioExt trait allows splitting the PORT hardware into its constituent pin parts.

IntoFunctionDeprecated

A trait that makes it easier to generically manage converting a pin from its current state into some other functional mode. The configuration change requires exclusive access to the Port hardware, which is why this isn’t simply the standard Into trait.

Type-level enum for pin IDs

Type-level enum representing pin modes

Type Definitions

FloatingDeprecated

Floating Input

InputDeprecated

Represents a pin configured for input. The MODE type is typically one of Floating, PullDown or PullUp.

InterruptDeprecated

Represents a pin configured for interrupt. The MODE type is one of Floating, PullDown or PullUp.

OpenDrainDeprecated

Open drain output. The SAMD5x/E5x chips don’t actually have open drain outputs. This option was added by mistake. It is currently an alias of PushPull

OutputDeprecated

Represents a pin configured for output. The MODE type is typically one of PushPull, or OpenDrain.

Pa0Deprecated

Represents the IO pin with the matching name

Pa1Deprecated

Represents the IO pin with the matching name

Pa2Deprecated

Represents the IO pin with the matching name

Pa3Deprecated

Represents the IO pin with the matching name

Pa4Deprecated

Represents the IO pin with the matching name

Pa5Deprecated

Represents the IO pin with the matching name

Pa6Deprecated

Represents the IO pin with the matching name

Pa7Deprecated

Represents the IO pin with the matching name

Pa8Deprecated

Represents the IO pin with the matching name

Pa9Deprecated

Represents the IO pin with the matching name

Pa10Deprecated

Represents the IO pin with the matching name

Pa11Deprecated

Represents the IO pin with the matching name

Pa14Deprecated

Represents the IO pin with the matching name

Pa15Deprecated

Represents the IO pin with the matching name

Pa16Deprecated

Represents the IO pin with the matching name

Pa17Deprecated

Represents the IO pin with the matching name

Pa18Deprecated

Represents the IO pin with the matching name

Pa19Deprecated

Represents the IO pin with the matching name

Pa22Deprecated

Represents the IO pin with the matching name

Pa23Deprecated

Represents the IO pin with the matching name

Pa24Deprecated

Represents the IO pin with the matching name

Pa25Deprecated

Represents the IO pin with the matching name

Pa27Deprecated

Represents the IO pin with the matching name

Pa28Deprecated

Represents the IO pin with the matching name

Pa30Deprecated

Represents the IO pin with the matching name

Pa31Deprecated

Represents the IO pin with the matching name

PfBDeprecated

Peripheral Function B

PfCDeprecated

Peripheral Function C

PfDDeprecated

Peripheral Function D

PfEDeprecated

Peripheral Function E

PfFDeprecated

Peripheral Function F

PfGDeprecated

Peripheral Function G

PfHDeprecated

Peripheral Function H

PullDownDeprecated

Pulled down Input

PullUpDeprecated

Pulled up Input

PushPullDeprecated

Totem Pole aka Push-Pull

Open drain output, which can be read when not driven The SAMD5x/E5x chips don’t actually have open drain outputs. This option actually represents a readable PushPull output

SpecificPinDeprecated

Type alias to recover the specific v1 Pin type from an implementation of AnyPin