Module serpente::sercom::v1::pads[][src]

Expand description

Version 1 of the SERCOM pads module

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

To recreate the v1 API with v2 types, this module defines its own Pad type, which is just a wrapper around a Pin configured as a SERCOM pad. The SercomXPadY types of the original, v1 API are recreated as type aliases of the form

type SercomXPadY<Z> = Pad<SercomX, PadY, Z>

Use the PadPin trait to construct Pads. The corresponding Pin can be recovered using the free method.

use atsamd_hal::pac::Peripherals;
use atsamd_hal::gpio::v1::GpioExt;
use atsamd_hal::sercom::v1::{PadPin, Sercom0Pad0};

let peripherals = Peripherals::take().unwrap();
let mut parts = peripherals.PORT.split();
let pad: Sercom0Pad0<_> = parts.pa8.into_pad(&mut parts.port);
let pin = pad.free();

Structs

A GPIO Pin configured to act as a SERCOM Pad

Traits

Type class to improve compatibility between v1 and v2 SERCOM pad types

The PadPin trait makes it more ergonomic to convert a pin into a Sercom pad. You should not implement this trait for yourself; only the implementations in the sercom module make sense.

Type Definitions

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.

Represents a numbered pad for the associated sercom instance. The pad is generic over any pin, only the PadPin implementations in this the sercom module make sense.