Module grand_central_m4::gpio::v1 [−][src]
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
Holds the GPIO Port peripheral and broken out pin instances
Opaque port reference
Traits
The GpioExt trait allows splitting the PORT hardware into its constituent pin parts.
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
Floating Input
Represents a pin configured for input.
The MODE type is typically one of Floating
, PullDown
or
PullUp
.
Represents a pin configured for interrupt.
The MODE type is one of Floating
, PullDown
or PullUp
.
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
Represents a pin configured for output.
The MODE type is typically one of PushPull
, or
OpenDrain
.
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Represents the IO pin with the matching name
Peripheral Function B
Peripheral Function C
Peripheral Function D
Peripheral Function E
Peripheral Function F
Peripheral Function G
Peripheral Function H
Peripheral Function I
Peripheral Function J
Peripheral Function K
Peripheral Function L
Peripheral Function M
Peripheral Function N
Pulled down Input
Pulled up Input
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