# atsam3x
This crate provides an autogenerated API for access to ATSAM3X peripherals.
The API is generated using [svd2rust] with patched svd files containing
extensive type-safe support. For more information please see the [main repo].
Refer to the [documentation] for full details.
[svd2rust]: https://github.com/rust-embedded/svd2rust
[main repo]: https://github.com/emcrates-rs/atsam-PAC-rs
[documentation]: https://docs.rs/atsam3x/latest/atsam3x/
## Usage
Each device supported by this crate is behind a feature gate so that you only
compile the device(s) you want. To use, in your Cargo.toml:
```toml
[dependencies.atsam3x]
version = "0.1.0"
features = ["atsam3x4c"]
```
The `rt` feature is enabled by default and brings in support for `cortex-m-rt`.
To disable, specify `default-features = false` in `Cargo.toml`.
In your code:
```rust
use atsam3x::atsam3x4c;
let mut peripherals = atsam3x4c::Peripherals::take().unwrap();
let gpioa = &peripherals.GPIOA;