bounded-registers
atsamd
bounded-registers | atsamd | |
---|---|---|
3 | 10 | |
50 | 534 | |
- | 1.3% | |
0.0 | 6.6 | |
over 2 years ago | 14 days ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bounded-registers
-
What Is Type-Level Programming?
This sort of thing is something we abused about Rust quite some time ago to make safer interfaces to low-level hardware.
https://blog.auxon.io/2019/10/25/type-level-registers/
-
Type-level Bubble Sort in Rust: Part 2
A much more practically useful type-level programming in Rust A macro to define type-level logic with value-level syntax in Rust Type-level Brainfuck in Rust "Gentle Intro to Type-level Recursion in Rust" Type-level registers in Rust Type-level quicksort in Scala" Type-level sorting algorithms in Haskell A repo with functions and algorithms implemented purely on types in TypeScript
- Writing embedded firmware using Rust
atsamd
-
Rust in Automotive
It’s definitely used for “nonsafety” stuff like infotainment. The ATSAMD HAL/PACs are probably the most complete embedded microcontroller family as far as Rust support goes, and that’s a part with heavy intent toward automotive use.
-
Looking for a highly resource constrained target to run Rust on. Any ideas?
The Rust ATSAMD community has been very helpful getting me going. I've really become fond of RTIC as a way to get a little structure in my programs.
- Code Rust in Aurdino??
-
Are there any ways to use rust for the Arduino MKR WiFi 1010?
The atsamd-rs rust folks (https://github.com/atsamd-rs/atsamd) have made this way easier! Check out my top level comment!
-
Hello, Microcontroller! Intro to video codecs and the "hello, world" of microcontrollers implemented in ~100 lines of dependency-free Rust
I'm obviously biased, but as a starting point I would recommend getting an Arduino and following the process in the article. Once you have a blinking LED, try it again using a HAL like atsamd-rs/atsamd. Then try making it more complex: configure the clock and replace the delay implementation with something that takes a proper duration argument, add serial IO via the USB port so you can communicate with your program as it runs, connect some more LEDs or buttons and interact with them, or make some network requests.
-
Writing embedded firmware using Rust
The embedded-hal project supplies these for a wide variety of controllers, for SAMD specifically, https://github.com/atsamd-rs/atsamd .
-
First steps with Embedded Rust: Selecting a board
No love for Microchip nee Atmel? https://github.com/atsamd-rs/atsamd
-
Want to Learn Programming and Microcontrollers?
Am admittedly too inexperienced to properly weigh the pros and cons of various platforms, but I find the Rust support for certain embedded platforms to be particularly compelling.
https://github.com/atsamd-rs/atsamd
I have at least managed to get some literal blinkenlights doing what I want on various Adafruit boards with very little effort.
- I’d like to learn rust to make a USB device that enumerates as a mouse to the OS and shakes the pointer every once in a while. I’m a web developer by trade. How realistic is this project?
What are some alternatives?
hubris - A lightweight, memory-protected, message-passing kernel for deeply embedded systems.
avr-hal - embedded-hal abstractions for AVR microcontrollers
meta-typing - 📚 Functions and algorithms implemented purely with TypeScript's type system
SAMD21 - Library Helpers for the Atmel SAM21D
tyrade - A pure functional language for type-level programming in Rust
linux-embedded-hal - Implementation of the `embedded-hal` traits for Linux devices
humility - Debugger for Hubris
riscv-rust-quickstart - A template for building Rust applications for HiFive1 boards
BitBang_I2C - A software I2C implementation to run on any GPIO pins on any system
uf2-samdx1 - USB Mass Storage bootloader (based on UF2) for SAMD21 and SAMD51
esp32 - Peripheral access crate for the ESP32
OpenSK - OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.