Cargo Features

atsamd-hal has no features set by default.

[dependencies]
atsamd-hal = { version = "0.20.2", features = ["samd11c", "samd11d", "samd21e", "samd21g", "samd21j", "samd21el", "samd21gl", "samd51g", "samd51j", "samd51n", "samd51p", "same51g", "same51j", "same51n", "same53j", "same53n", "same54n", "same54p", "samd11c-rt", "samd11d-rt", "samd21e-rt", "samd21g-rt", "samd21j-rt", "samd21el-rt", "samd21gl-rt", "samd51g-rt", "samd51j-rt", "samd51n-rt", "samd51p-rt", "same51g-rt", "same51j-rt", "same51n-rt", "same53j-rt", "same53n-rt", "same54n-rt", "same54p-rt", "can", "dma", "defmt", "enable_unsafe_aes_newblock_cipher", "max-channels", "rtic", "sdmmc", "usb", "use_rtt", "async", "device"] }

===============================================================================
Features
===============================================================================

samd11c samd11c-rt? = device

-------------------------------------------------------------------------------
Variant features
-------------------------------------------------------------------------------

Each of the following features corresponds to a supported chip variant. Users should select one (and only one) feature corresponding to their target chip.
These features represent the public interface of the HAL and are not expected to change. But all implied features are considered implementation details and subject to change without notice.

Enables atsamd11c

===============================================================================
PACs
===============================================================================

The peripheral access crates (PAC) for each supported chip variant are listed here. Each is an optional dependency, which means each PAC name also appears as a Cargo feature. Users should not select PAC features manually. Instead,
users should specify a corresponding variant (see below). The variant features will select the correct PAC, as well as other configuration features.

samd11d samd11d-rt? = device

Enables atsamd11d

samd21e samd21e-rt? = device

Enables atsamd21e

samd21g samd21g-rt? = device

Enables atsamd21g

samd21j samd21j-rt? = device

Enables atsamd21j

samd21el samd21el-rt? = device

Enables atsamd21e

samd21gl samd21gl-rt? = device

Enables atsamd21g

samd51g samd51g-rt? = device

Enables atsamd51g

samd51j samd51j-rt? = device

Enables atsamd51j

samd51n samd51n-rt? = device

Enables atsamd51n

samd51p samd51p-rt? = device

Enables atsamd51p

same51g same51g-rt? = device

Enables atsame51g

same51j same51j-rt? = device

Enables atsame51j

same51n same51n-rt? = device

Enables atsame51n

same53j same53j-rt? = device

Enables atsame53j

same53n same53n-rt? = device

Enables atsame53n

same54n same54n-rt? = device

Enables atsame54n

same54p same54p-rt? = device

Enables atsame54p

samd11c-rt = samd11c

RT features

Instead of selecting a variant feature above, users can optionally select an -rt feature, which enables the rt feature of the corresponding PAC.

Enables rt of atsamd11c

samd11d-rt = samd11d

Enables rt of atsamd11d

samd21e-rt = samd21e

Enables rt of atsamd21e

samd21g-rt = samd21g

Enables rt of atsamd21g

samd21j-rt = samd21j

Enables rt of atsamd21j

samd21el-rt = samd21el

Enables rt of atsamd21e

samd21gl-rt = samd21gl

Enables rt of atsamd21g

samd51g-rt = samd51g

Enables rt of atsamd51g

samd51j-rt = samd51j

Enables rt of atsamd51j

samd51n-rt = samd51n

Enables rt of atsamd51n

samd51p-rt = samd51p

Enables rt of atsamd51p

same51g-rt = same51g

Enables rt of atsame51g

same51j-rt = same51j

Enables rt of atsame51j

same51n-rt = same51n

Enables rt of atsame51n

same53j-rt = same53j

Enables rt of atsame53j

same53n-rt = same53n

Enables rt of atsame53n

same54n-rt = same54n

Enables rt of atsame54n

same54p-rt = same54p

Enables rt of atsame54p

can = mcan-core

-------------------------------------------------------------------------------
User-selectable features
-------------------------------------------------------------------------------

These features are user-selectable and enable additional features within the HAL, like USB or DMA support.

Affects peripherals::can

dma max-channels?

Affects atsamd-hal::dmac, sercom::dma

defmt

Enables defmt

===============================================================================
Optional depdendencies
===============================================================================

enable_unsafe_aes_newblock_cipher

Affects aes::AesRustCrypto

max-channels = dma
rtic = rtic-monotonic

Affects rtc::Instant, rtc::Duration

sdmmc = embedded-sdmmc
usb = usb-device

Affects peripherals::usb

use_rtt = jlink_rtt
async = embassy-sync, embedded-hal-async, embedded-io-async, futures, portable-atomic

Affects channel::UninitializedFuture, channel::ReadyFuture, dmac::async_api, atsamd-hal::async_hal, eic::EicFuture, sercom::Sercom.rx_waker, sercom::Sercom.tx_waker

device samd11c? samd11d? samd21e? samd21el? samd21g? samd21gl? samd21j? samd51g? samd51j? samd51n? samd51p? same51g? same51j? same51n? same53j? same53n? same54n? same54p?

=============================================================================== Implementation-details

The remaining features are considered implementation details and subject to change without notice. Users should not specify any of these features manually.

The device feature tells the HAL that a device has been selected from the feature list. It exists mostly to provide better error messages.

Affects atsamd-hal::delay, atsamd-hal::gpio, atsamd-hal::prelude, atsamd-hal::rtc, atsamd-hal::sercom, peripherals::eic

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

===============================================================================
Required depdendencies
===============================================================================

portable-atomic async?
embassy-sync async?
embedded-hal-async async?
embedded-io-async async?
embedded-sdmmc sdmmc?

Enables embedded-sdmmc ^0.3

futures async?
mcan-core can?
rtic-monotonic rtic?
usb-device usb?