3 ms·
Why/when would one use Hubris over something like embassy_rs, or vice-versa?
by dralley 3y ago
Why/when would one use Hubris over something like embassy_rs, or vice-versa?
- steveklabnik 3y agoHubris has some particular design constraints that allow it to do interesting things, but also may disqualify it for certain projects. The main one is that everything is static, ahead of time: you set up tasks when you build the OS and the tasks, there's no "spawn new task" sort of APIs. Another difference is that Hubris does not use async Rust, and embassy does. That may be something you desire either way. We don't believe async Rust is bad (heck it's used further up the stack quite a bit) but it wasn't a fit for this project. The documentation explains the design goals: https://hubris.oxide.computer/reference/ https://hubris.oxide.computer/reference/ Doesn't mean embassy isn't good too, it's just different.
- StressedDev 3y agoThank you for the thoughtful reply. I really appreciated it.
- steveklabnik 3y agoYou're welcome!
- MrBuddyCasino 3y ago> Hubris does not use async Rust, and embassy does As much as I understand why you'd want async on an MCU for efficiency reasons, I'm very glad there is now a good option without it. I wonder what the Hubris team thinks of rtic and its design.
- steveklabnik 3y agoI can only speak for myself, but it’s sort of like “embassy without the HAL,” so closer to Hubris in some ways, and further away in others. I’m sure that other folks would say the same thing here though: also good, just different.