pub trait PadSet: Sealed {
type Sercom: Sercom;
type IoSet: IoSet;
type DataIn: OptionalPad;
type DataOut: OptionalPad;
type Sclk: OptionalPad;
type SS: OptionalPad;
}
Expand description
Type-level function to recover the OptionalPad
types from a generic set
of Pads
This trait is used as an interface between the Pads
type and other
types in this module. It acts as a type-level function, returning the
corresponding Sercom
and OptionalPad
types. It serves to cut down on
the total number of type parameters needed in the Config
struct. The Config
struct doesn’t need access to the Pin
s directly.
Rather, it only needs to apply the SomePad
trait bound when a Pin
is
required. The PadSet
trait allows each Config
struct to store an
instance of Pads
without itself being generic over all six type parameters
of the Pads
type.
This trait is a simplified version of the AnyKind
trait pattern.