lulf | 1 year ago | on: Moving to a RTOS on the RP2040
lulf's comments
lulf | 1 year ago | on: Moving to a RTOS on the RP2040
lulf | 2 years ago | on: Investing in new vector database development vs enhancing existing databases
lulf | 2 years ago | on: Lilos: A wee async RTOS for Cortex-M
lulf | 4 years ago | on: Learning Rust for Embedded Systems
The other part is the stm32-metapac (not specific to async) that generates the PAC for any stm32 chip.
Read more about embassy here: https://github.com/embassy-rs/embassy
lulf | 4 years ago | on: Mosquitto: An open-source MQTT broker
lulf | 5 years ago | on: Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
lulf | 5 years ago | on: Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
For a generic led driver, it should not use these types, but instead the trait types from the embedded_hal crate, such as "OutputPin" that is implemented by the different chip-specific HALs. There is an example of a generic led driver that uses these traits at [1].
In general I recommend everyone who wants to try out Rust on embedded to read the embedded rust book, because it clarifies a lot of the reasons and advantages of its approach.
[0] https://docs.rust-embedded.org/book/static-guarantees/typest...
[1] https://github.com/drogue-iot/drogue-device/blob/main/rt/src...
lulf | 5 years ago | on: Pulsar – an open-source distributed pub-sub messaging platform
lulf | 5 years ago | on: An introduction to RabbitMQ
lulf | 6 years ago | on: RPC Olympics – The Search for the Perfect RPC Protocol
Example “blocking” client https://github.com/EnMasseProject/enmasse/blob/master/amqp-u... , but might give an idea of how to set “dynamic source” required for rpc.
In general though I think the Qpid python and c++ examples might be better.
lulf | 6 years ago | on: RPC Olympics – The Search for the Perfect RPC Protocol
* AMQP 1.0 - can also be used for RPC without a broker in between client and server. See https://qpid.apache.org/proton/
* Aeron - low latency, UDP based, see https://github.com/real-logic/aeron
lulf | 6 years ago | on: To Message Bus or Not: Distributed Systems Design (2017)
If you have a mix of pub-sub, work queues and request-response, it could simplify your dependencies perhaps.
Also AMQP 1.0 has some nice async capabilities and acknowledge modes that I believe goes beyond what http/2 and grpc supports today.
OTOH I don’t have any real world experience operating such a mix of different communication patterns, so it could be the advantage is insignificant.
lulf | 6 years ago | on: To Message Bus or Not: Distributed Systems Design (2017)
With the dispatch router, you can use pattern matching to specify if addresses should be routed to a broker or be routed directly to a particular service.
This is way you can get the semantics that best fits your use case.
lulf | 7 years ago | on: Toshi: An Elasticsearch competitor written in Rust
lulf | 7 years ago | on: WAMP – Web Application Messaging Protocol
It supports RPC and pub/sub semantics and has client libraries in many languages. It’s implemented by many messaging components as well as Azure Service Bus.
A lot of applications simply don't use the MPU. And then consider what you get from Rust memory safety and the reduction in overall complexity of the firmware without the RTOS.