blink
A blinking LED program written in Rust for the AVR (by v1nsai)
delay
arduino-like delay routines based on busy-wait loops (by avr-rust)
Our great sponsors
blink | delay | |
---|---|---|
1 | 3 | |
0 | 15 | |
- | - | |
0.0 | 0.0 | |
almost 3 years ago | almost 2 years ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
blink
Posts with mentions or reviews of blink.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-05-04.
-
Code works fine copy/pasted into my main.rs, but is ignored when run from its own external crate
I've ensured I'm doing a 1:1 test by importing the crate locally in my Cargo.toml, and I've tried hardcoding the CPU frequency on this line in my local copy of avr-delay just in case it was a problem with reading the env var that I'm setting or something.
delay
Posts with mentions or reviews of delay.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-17.
-
AVR-GCC Compiler Makes Questionable Code
Took a while but this issue was fixed this year. Until then, you could compile a patched version of LLVM, or use an older nightly.
And the code generation was quite broken indeed. Most importantly the saving of registers within interrupt handlers. Hard to understand the bug, but I had documented a simple ask inline solution on the issue. It has been fixed since then.
My last experience was quite good. And I didn't notice wrong codegen.
As an aside, the inline asm combines pretty well with generics to produce custom machine code during compilation. For example I was able to reproduce the gcc-avr built-in for delays: https://github.com/avr-rust/delay/blob/cycacc/src/delay_cycl...
-
Embedded Rust Development
I recently got an Arduino Uno to blink without much hassle, very excited about the 328p having built-in support. Will be even easier when a new release of a couple libraries gets released to crates.io, hopefully soon? (https://github.com/avr-rust/delay/issues/19)
-
Code works fine copy/pasted into my main.rs, but is ignored when run from its own external crate
tl;dr I'm trying to figure out why the avr-delay::delay function doesn't seem to do anything when imported as an external crate, but when copy/pasting the code into my main.rs, it all works. Source code here https://github.com/avr-rust/delay
What are some alternatives?
When comparing blink and delay you can also consider the following projects:
esp-wifi - A WiFi, Bluetooth and ESP-NOW driver for use with Espressif chips and bare-metal Rust