trellis_m4

Crates.iotrellis_m4
lib.rstrellis_m4
version0.10.1
sourcesrc
created_at2019-03-04 04:44:28.396622
updated_at2024-10-18 20:26:56.209598
descriptionBoard Support crate for the Adafruit NeoTrellis M4 Express
homepage
repositoryhttps://github.com/atsamd-rs/atsamd
max_upload_size
id118571
size41,801
owners (github:atsamd-rs:owners)

documentation

README

Adafruit NeoTrellis M4 Express Board Support Crate

This crate provides a type-safe Rust API for working with the Adafruit NeoTrellis M4 board.

Adafruit NeoTrellis M4

Board Features

  • Microchip ATSAMD51G Cortex-M4 microcontroller @ 120 MHz (32-bit, 3.3V logic and power)
    • 512kB Flash
    • 192kB SRAM
  • 8 MB SPI Flash chip
  • USB device controller (for e.g. MIDI)
  • 4-JST hacking port with 3.3V power, ground, and two GPIO (can be I2C/ADC/UART)
  • Analog Devices ADXL343 triple-axis accelerometer

Prerequisites

Uploading an example

Check out the repository for examples:

https://github.com/atsamd-rs/atsamd/tree/master/boards/trellis_m4/examples

  • Be in this directory cd boards/trellis_m4
  • Put your device in bootloader mode usually by hitting the reset button twice.
  • Build and upload in one step
$ cargo hf2 --release --example neopixel_rainbow
    Finished release [optimized + debuginfo] target(s) in 0.19s
    Searching for a connected device with known vid/pid pair.
    Trying  Ok(Some("Adafruit Industries")) Ok(Some("PyBadge"))
    Flashing "/Users/User/atsamd/boards/trellis_m4/target/thumbv7em-none-eabihf/release/examples/neopixel_rainbow"
    Finished in 0.079s
$

Optional trellis_m4 Cargo Features

The following optional hardware drivers can be enabled as cargo features:

  • adxl343: ADXL343 accelerometer support
  • keypad-unproven: (alpha) support for button input via the keypad crate

To enable them, use the features option when adding a crate dependency to your Cargo.toml:

[dependencies]
trellis_m4 = { version = "~0.1", features = ["adxl343", "keypad-unproven"] }

Or when running an example:

$ cargo hf2 --release --example neopixel_keypad
error: target `neopixel_keypad` in package `trellis_m4` requires the features: `keypad-unproven`
Consider enabling them by passing, e.g., `--features="keypad-unproven"`

Just follow the instructions to add --features like

cargo hf2 --release --example neopixel_keypad --features="keypad-unproven"
    Finished release [optimized + debuginfo] target(s) in 0.09s
    Searching for a connected device with known vid/pid pair.
    Trying  Ok(Some("Adafruit Industries")) Ok(Some("PyGamer"))
    Flashing "/Users/User/atsamd/boards/trellis_m4/target/thumbv7em-none-eabihf/release/examples/neopixel_keypad"
    Finished in 0.167s
$

More Examples

Commit count: 827

cargo fmt