You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, we're a bunch of developers playing with Industrial IoT over at Drogue IoT, and I'm looking into writing an OPC-UA server that can run on embedded devices, preferably in pure Rust :)
To run a Rust crate on bare metal embedded devices, it must be able to compile without the standard library (i.e. have the no_std flag enabled in the crate lib).
Obviously, this is not feasible with the full set of features turned on, but I'm wondering if you'd be open to extract a subset of the lib, specifically the type system (types module?), into a separate crate with the aim of making that crate consumable by both std and no_std environments. The easiest way to do this is by creating a separate crate with all the stuff that can compile to bare metal and std environments like and expose features for enabling 'std' support.
I'm willing to give this a try, but I'd like to know if it's something this project would be interested in if I submitted it.
The text was updated successfully, but these errors were encountered:
Most of types part is out generated, so the code could be reused to generate a embedded version for an embedded opc ua crate. But the amount of generated structs which bloats the binary. So for the embedded part only a subset is needed.
The server and client code uses tokio which doesn't work with no_std. So there isn't much code to reuse.
The rest is just the crypto part, which depends on openssl, which isn't available for all embedded targets.
Hi, we're a bunch of developers playing with Industrial IoT over at Drogue IoT, and I'm looking into writing an OPC-UA server that can run on embedded devices, preferably in pure Rust :)
To run a Rust crate on bare metal embedded devices, it must be able to compile without the standard library (i.e. have the
no_std
flag enabled in the crate lib).Obviously, this is not feasible with the full set of features turned on, but I'm wondering if you'd be open to extract a subset of the lib, specifically the type system (types module?), into a separate crate with the aim of making that crate consumable by both std and no_std environments. The easiest way to do this is by creating a separate crate with all the stuff that can compile to bare metal and std environments like and expose features for enabling 'std' support.
I'm willing to give this a try, but I'd like to know if it's something this project would be interested in if I submitted it.
The text was updated successfully, but these errors were encountered: