created_at2019-03-04 04:44:28.396622
updated_at2022-01-11 17:25:38.802244
descriptionBoard Support crate for the Adafruit NeoTrellis M4 Express
owners (github:atsamd-rs:owners)



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


Uploading an example

Check out the repository for 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:

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: 758

cargo fmt