crates.io
embassy
crates.io | embassy | |
---|---|---|
663 | 74 | |
2,908 | 5,158 | |
1.1% | 4.7% | |
10.0 | 9.9 | |
4 days ago | 2 days ago | |
Rust | Rust | |
Apache License 2.0 | 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.
crates.io
-
Tech Transfer from Old Languages to GO and Rust
Rust: crates.io
-
Create a Custom GitHub Action in Rust
Rust has a rich ecosystem of frameworks and libraries that let you read, parse, and manipulate text files, interact with cloud services and databases, and perform any other job that your project's development workflow may require. And because of its strong typing and tight memory management, you are much less likely to write programs that behave unexpectedly in production.
-
Rust Keyword Extraction: Creating the YAKE! algorithm from scratch
All the code discussed in this article can be accessed through this repository. For integration with existing projects consider using keyword_extraction crate available on crates.io.
-
Migrating a JavaScript frontend to Leptos, a Rust framework
So, be sure to double-check your critical libraries and be sure their alternatives exist in the Rust ecosystem. Thereโs a good chance the crates you need are available in Rust's crates.io repository.
-
Learning Rust: A clean start
The previous section was very simple, this section is also very simple but introduces us to cargo which is Rust's package manager, as a JS dev my mind goes straight to NPM.
-
#2 Rust - Cargo Package Manager
Now, there has to be a place where all these packages come from. Similar to npmjs registry, where all node packages are registered, stored and retrieved, Rust also has something called crates.io where many helpful packages and dependencies are registered.
-
Rust ๐ฆ Installation + Hello World
Before proceeding, let's check https://crates.io/, the official Rust package registry.
-
Underestimating rust for my Project.
The most thrilling aspect has been the joy of writing the backend. It's like every struct, enum, and method in Rust forms this interconnected Multiverse of code , which you can see in crates.io which is best Documentation experience I Ever Had.
-
Top 10 Rusty Repositories for you to start your Open Source Journey
5. Crates.io
-
Project Structure Clarification Coming From Python - With Example
When using crates from eg. crates.io, and also things like std and core
embassy
- Building a GATT Server on Pi Pico W
- Embassy-rs/embassy: Modern embedded framework, using Rust and async
- Embedded Swift [video]
-
I like the RP2040
If I get your question right, you still need some host software (like a rust compiler)! It's not exactly micropython experience.
The bare minimum would be one of the examples [1] compiled with a Rust compiler and then transformed into a .uf2 file with elf2uf2 [2]. You can then just drag and drop the .uf2 file into the "mass storage device" presented by the bootloader. To get the bootloader to mount, you press a button on a Raspberry Pico (or short two outputs if you're using bare RP2040) while plugging it in.
You'll probably want a debug probe [3] driven by probe-rs [4] at some point, it's just much more convenient to flash and debug with it.
[1]: https://github.com/embassy-rs/embassy/tree/main/examples/rp/...
[2]: https://github.com/JoNil/elf2uf2-rs
[3]: https://www.raspberrypi.com/documentation/microcontrollers/d...
[4]: https://probe.rs/
- Embassy ๅจ Blue Pill ไธ็็น็ฏๆกไพ
-
Why choose async/await over threads?
thanks. looked that up. for the curious: https://embassy.dev/
-
Accessing the Pinecil UART with Picoprobe
Running the Embassy RP2040 USB CDC ACM serial example takes about 5 seconds on a Pico.
https://github.com/embassy-rs/embassy/blob/main/examples/rp/...
-
Avoid Async Rust at All Cost
Async solves different problems, you can, for instance, have just a single-threaded CPU and still have a nice API if you have async-await. It might not be so cool at a higher level as Go's approach of channels and threads, but it's cool in embedded, read this:
https://github.com/embassy-rs/embassy?tab=readme-ov-file#rus...
"Rust's async/await allows for unprecedently easy and efficient multitasking in embedded systems. Tasks get transformed at compile time into state machines that get run cooperatively. It requires no dynamic memory allocation, and runs on a single stack, so no per-task stack size tuning is required. It obsoletes the need for a traditional RTOS with kernel context switching, and is faster and smaller than one!"
I'm just toying with Raspberry Pi Pico and it's pretty nice.
Go and Rust have different use cases, the async-await is nice at a low level.
-
Is anyone using coroutines seriously?
I have not yet dipped by toes in the Rust waters, but reading about the embassy project is actually what piqued my curiosity about using C++ coroutines in embedded. Are you familiar with the project or have you found it lacking?
-
The state of BLE and Rust (no_std)
I think I get the basics (shoutout to the Rust Embedded Working Group!), and I've started looking for the stack I'd be using. I think Embassy is really amazing, as well as the work of the ESP team -- hats off.
What are some alternatives?
docs.rs - crates.io documentation generator
rtic - Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely ๐ฆ ๐๐
rusty-clock - An alarm clock with environment stats in pure bare metal embedded rust
Cargo - The Rust package manager
smoltcp - a smol tcp/ip stack
trunk - Build, bundle & ship your Rust WASM application to the web.
rust-mos - Empowering everyone to build reliable and efficient software.
gtk4-rs - Rust bindings of GTK 4
nrf-hal - A Rust HAL for the nRF family of devices
cargo-crev - A cryptographically verifiable code review system for the cargo (Rust) package manager.
async-std - Async version of the Rust standard library