drogue-device
dstep


drogue-device | dstep | |
---|---|---|
2 | 5 | |
188 | 207 | |
1.1% | 0.5% | |
3.0 | 6.1 | |
over 1 year ago | 9 months ago | |
Rust | C | |
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.
drogue-device
- I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
-
Async actor framework for embedded Rust
https://github.com/drogue-iot/drogue-device/blob/972e1806c25752d66f60b2a6755124ee8148f522/src/actor.rs#L411
dstep
-
C Macro Reflection in Zig – Zig Has Better C Interop Than C Itself
The C stdlib is exposed by D's stdlib as if it were a D library: https://dlang.org/phobos/core_stdc_assert_.html
C libraries (header files) can be compiled to D and then used as D modules as well, see https://github.com/jacob-carlborg/dstep
Is that as good as Rust?
-
I want to install a package globally
You might also be interested in dstep, a tool that can generate D bindings from C header files.
-
Maintain It with Zig
- C, Objective-C = https://github.com/jacob-carlborg/dstep
> its test blocks make unit testing trivial to integrate.
Again, D also has this:
https://tour.dlang.org/tour/en/gems/unittesting
void main() {
-
Raylib, a simple and easy-to-use library to enjoy videogames programming
It's a C lib, generating bindings is super easy https://github.com/jacob-carlborg/dstep
There is no need to maintain bindings that can be automatically generated, wich can easily get outdated if the C project is actively developped
Anyways, someone went a ahead and updated it: https://github.com/Soaku/raylib-d
-
I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
Not quite as seamless as Zig, but dstep is an external program that leverages libclang to do the same thing (and generates a D module for you), as well as e.g., smartly convert #define macros to inlineable templates functions :)
https://github.com/jacob-carlborg/dstep
What are some alternatives?
nrf-hal - A Rust HAL for the nRF family of devices
arocc - A modern fully featured C compiler.
rusty-password - Get the password of the Wi-Fi network you're connected to
dextool - Suite of C/C++ tooling built on LLVM/Clang
chirpstack - ChirpStack open-source LoRaWAN Network Server
jotai-benchmarks - Collection of executable benchmarks
quad - Firmware, hardware and documentation for my autonomous quad copter project
cc-rs - Rust library for build scripts to compile C/C++ code into a Rust library
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
RIIR - why not Rewrite It In Rust
act-zero
utfcpp - UTF-8 with C++ in a Portable Way

