[][src]Crate metro_m4

Re-exports

pub use cortex_m_rt::entry;

Modules

ac

Analog Comparators

adc0

Analog Digital Converter 0

aes

Advanced Encryption Standard

ccl

Configurable Custom Logic

clock

Configuring the system clock sources. You will typically need to create an instance of GenericClockController before you can set up most of the peripherals on the atsamd51 device. The other types in this module are used to enforce at compile time that the peripherals have been correctly configured.

cmcc

Cortex M Cache Controller

dac

Digital-to-Analog Converter

delay

Delays

dmac

Direct Memory Access Controller

dsu

Device Service Unit

eic

External Interrupt Controller

evsys

Event System Interface

freqm

Frequency Meter

gclk

Generic Clock Generator

gpio

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.

hal

A Hardware Abstraction Layer (HAL) for embedded systems

hmatrix

HSB Matrix

i2s

Inter-IC Sound Interface

icm

Integrity Check Monitor

mclk

Main Clock

nvmctrl

Non-Volatile Memory Controller

osc32kctrl

32kHz Oscillators Control

oscctrl

Oscillators Control

pac

Peripheral Access Controller

paste

The nightly-only concat_idents! macro in the Rust standard library is notoriously underpowered in that its concatenated identifiers can only refer to existing items, they can never be used to define something new.

pcc

Parallel Capture Controller

pdec

Quadrature Decodeur

pm

Power Manager

port

Port Module

prelude

Import the prelude to gain convenient access to helper traits

qspi

Quad SPI interface

ramecc

RAM ECC

rstc

Reset Controller

rtc

Real-Time Counter

sdhc0

SD/MMC Host Controller

sercom

Working with the SERCOM peripherals.

sercom0

Serial Communication Interface 0

supc

Supply Controller

target_device

Peripheral access API for ATSAMD51J19A microcontrollers (generated using svd2rust v0.13.1)

tc0

Basic Timer Counter 0

tcc0

Timer Counter Control 0

time

Time units

timer

Working with timer counter hardware

trng

True Random Generator

usb

Universal Serial Bus

wdt

Watchdog Timer

Macros

dbgprint
define_pins

This macro is a helper for defining a Pins type in a board support crate. This type is used to provide more meaningful aliases for the various GPIO pins for a given board.

Structs

AC

Analog Comparators

ADC0

Analog Digital Converter 0

ADC1

Analog Digital Converter 1

AES

Advanced Encryption Standard

CBP

Cache and branch predictor maintenance operations

CCL

Configurable Custom Logic

CMCC

Cortex M Cache Controller

CPUID

CPUID

CorePeripherals

Core peripherals

DAC

Digital-to-Analog Converter

DCB

Debug Control Block

DMAC

Direct Memory Access Controller

DSU

Device Service Unit

DWT

Data Watchpoint and Trace unit

EIC

External Interrupt Controller

EVSYS

Event System Interface

FPB

Flash Patch and Breakpoint unit

FPU

Floating Point Unit

FREQM

Frequency Meter

GCLK

Generic Clock Generator

HMATRIX

HSB Matrix

I2S

Inter-IC Sound Interface

ICM

Integrity Check Monitor

ITM

Instrumentation Trace Macrocell

MCLK

Main Clock

MPU

Memory Protection Unit

NVIC

Nested Vector Interrupt Controller

NVMCTRL

Non-Volatile Memory Controller

OSC32KCTRL

32kHz Oscillators Control

OSCCTRL

Oscillators Control

PAC

Peripheral Access Controller

PCC

Parallel Capture Controller

PDEC

Quadrature Decodeur

PM

Power Manager

PORT

Port Module

Peripherals

All the peripherals

Pins

Maps the pins to their arduino names and the numbers printed on the board.

QSPI

Quad SPI interface

RAMECC

RAM ECC

RSTC

Reset Controller

RTC

Real-Time Counter

SCB

System Control Block

SDHC0

SD/MMC Host Controller

SERCOM0

Serial Communication Interface 0

SERCOM1

Serial Communication Interface 1

SERCOM2

Serial Communication Interface 2

SERCOM3

Serial Communication Interface 3

SERCOM4

Serial Communication Interface 4

SERCOM5

Serial Communication Interface 5

SUPC

Supply Controller

SYST

SysTick: System Timer

TC0

Basic Timer Counter 0

TC1

Basic Timer Counter 1

TC2

Basic Timer Counter 2

TC3

Basic Timer Counter 3

TC4

Basic Timer Counter 4

TC5

Basic Timer Counter 5

TCC0

Timer Counter Control 0

TCC1

Timer Counter Control 1

TCC2

Timer Counter Control 2

TCC3

Timer Counter Control 3

TCC4

Timer Counter Control 4

TPIU

Trace Port Interface Unit

TRNG

True Random Generator

USB

Universal Serial Bus

WDT

Watchdog Timer

Enums

Interrupt

Enumeration of all the interrupts

Constants

NVIC_PRIO_BITS

Number available in the NVIC for configuring priority

Functions

i2c_master

Convenience for setting up the labelled SDA, SCL pins to operate as an I2C master running at the specified frequency.

spi_master

Convenience for setting up the 2x3 header block for SPI. This powers up SERCOM2 and configures it for use as an SPI Master in SPI Mode 0. Unlike the flash_spi_master function, this one does not accept a CS pin; configuring a pin for CS is the responsibility of the caller, because it could be any OutputPin, or even a pulled up line on the slave.