cinemaSundays has quit [Quit: Connection closed for inactivity]
Maebli[m] has joined #rust-embedded
<Maebli[m]>
Hey guys, I'm trying to convince people at my work to give rust embedded a go, and there has been an input that binary size is an issue. Is it an issue? If not, is there like a blog or some data you can reference for this? Im not interested in code size of ultimate optimized with unsafe code and max tweaks, just some sane settings for compilation that are commonplace.
<mchodzikiewicz[m>
oh, that's a cool blogpost, didn't see it, I have a talk scheduled where I want to compare RTIC and Embassy, I am surprised with results but I am not sure if they are representative for real world scenario - my exp so far is that embassy scales quite badly in regards of flash footprint and latency
<mchodzikiewicz[m>
I am comparing with RTIC v1, haven't tried RTIC v2 in anything bigger than a hello world yet
<dirbaio[m]>
so you're comparing async vs interrupt handlers. that's apples-to-oranges ;)
<dirbaio[m]>
it's expected interrupt handlers are faster, and fwiw you can also use raw interrupt handlers with Embassy (with the #[interupt] macro from cortex-m-rt, just like any other rust embedded project)
<dirbaio[m]>
that said, async shouldn't be that much slower. the executor overhead is ~80 clock cycles without integrated timers, 200-300 with.
<mchodzikiewicz[m>
yes I know - I decided to do a talk to have a motivation to finally measure stuff for real, for now the only thing I am pretty sure wasn't alright is that a FIDO over BLE app and fingerpint reader didn't fit into 512kb flash
<dirbaio[m]>
following all the optimization steps?
<mchodzikiewicz[m>
afair, I am not participating in the project anymore so can't check
<mchodzikiewicz[m>
the thing is I joined the project at the crunch stage but the team spent some time reading and applying everything they could find
<mchodzikiewicz[m>
second thing is that my work colleague started porting his micromouse robot from C to Embassy (this was pre-AFIT/RPITIT) and had problems with latency and resolved it using RTIC v1 - I guess this might have been resolved having multiple executors on different priorities
<mchodzikiewicz[m>
I guess RTIC is a good fit for event-centric apps just because of the mental model
<mchodzikiewicz[m>
anyway - for the talk, I am writing a simple IoT app (some sensors, actuators, quite slow paced PI regulator and MQTT) in both, Embassy and RTIC trying to make them the same as closely as possible, now I think I might write it for both, RTIC v1 and v2 for good measure
<dirbaio[m]>
will definitely be an interesting comparison 👀
<dirbaio[m]>
if you need help (for optimizing it for flash/ram, or for anything else) please just ask!
<mchodzikiewicz[m>
Thanks, I will for sure
<dirbaio[m]>
if anything for a quick spot check "I have a fw that does X and takes Y kb lf flash, is that reasonable y/n"
<dirbaio[m]>
sometimes there's low-hanging fruit for optimizing. like generics causing duplicating huge chunks of code 😬
<mchodzikiewicz[m>
As soon as I get it up and running I'll just publish it for anybody interested
<mchodzikiewicz[m>
Talk takes place in March and the app is something I need at least one of the impls in a month or so
Makarov has joined #rust-embedded
chrenderle[m] has quit [Quit: Idle timeout reached: 172800s]
Makarov has quit [Quit: Client closed]
cr1901_ has joined #rust-embedded
Makarov has joined #rust-embedded
rainingmessages2 has joined #rust-embedded
Makarov27 has joined #rust-embedded
Makarov has quit [Ping timeout: 256 seconds]
cr1901 has quit [*.net *.split]
rainingmessages has quit [*.net *.split]
dkm has quit [*.net *.split]
BentoMon has quit [*.net *.split]
HumanG33k has quit [*.net *.split]
Artea has quit [*.net *.split]
jiande2020 has quit [*.net *.split]
rainingmessages2 is now known as rainingmessages
dkm has joined #rust-embedded
HumanG33k has joined #rust-embedded
Artea has joined #rust-embedded
jiande2020 has joined #rust-embedded
BentoMon has joined #rust-embedded
Artea has quit [Max SendQ exceeded]
HumanG33k has quit [Max SendQ exceeded]
HumanG33k has joined #rust-embedded
Artea has joined #rust-embedded
dinkelhacker_ has joined #rust-embedded
Makarov27 has quit [Ping timeout: 256 seconds]
cinemaSundays has joined #rust-embedded
mdietrich[m] has quit [Quit: Idle timeout reached: 172800s]
Lumpio[m] has quit [Quit: Idle timeout reached: 172800s]
dngrs[m] has quit [Quit: Idle timeout reached: 172800s]
cinemaSundays has quit [Quit: Connection closed for inactivity]
<JamesMunns[m]>
The noisiest change of these is postcard v1.0.x to v1.1.x, where **the schema part of the `experimental-derive` feature has been removed**! This feature flag has items that are NOT subject to semver guarantees, though I did mark the change as a minor version bump.
<JamesMunns[m]>
All functionality for this lives in the `postcard-schema` crate now, and `postcard-rpc` has been using that for the past few weeks.
<JamesMunns[m]>
There are gh releases for all of these crates (everything but postcard-rpc is in the main postcard repo), if you run into any issues upgrading, feel free to open an issue and/or ping me here!
kenny has quit [Ping timeout: 265 seconds]
kenny has joined #rust-embedded
Makarov27 has joined #rust-embedded
JaminMartin[m] has joined #rust-embedded
<JaminMartin[m]>
Hi all, quick question. Has anyone had any experience porting the slint.ui pi pico/stm32 examples to a different touch LCD display?
Makarov72 has joined #rust-embedded
Makarov27 has quit [Ping timeout: 256 seconds]
Makarov72 has quit [Ping timeout: 256 seconds]
<thejpster[m]>
PSA: defmt-0.3.9 was released just now. You get extra symbols telling you which log level each log message is, and dirbaio submitted a change which reduces the number of CPU instructions required to transmit a log message.
<thejpster[m]>
we also released defmt-decoder 0.4.0, which has a lovely new oneline format
<thejpster[m]>
you'll have to talk to probe-rs about whether you want the oneline format to be the default they use. There's a PR updating them to this new version: https://github.com/probe-rs/probe-rs/pull/2809
<thejpster[m]>
this was my first defmt release, so hopefully I didn't break anything!
Makarov72 has joined #rust-embedded
Makarov72 has quit [Quit: Client closed]
Makarov72 has joined #rust-embedded
Makarov72 has quit [Ping timeout: 256 seconds]
igiona[m] has joined #rust-embedded
<igiona[m]>
<thejpster[m]> "we also released defmt-decoder 0..." <- I'm going to love the one-line!!
<igiona[m]>
* I'm going to love the oneline!! Thanks 👍
Makarov72 has joined #rust-embedded
Makarov72 has quit [Ping timeout: 256 seconds]
cinemaSundays has joined #rust-embedded
diondokter[m] has quit [Quit: Idle timeout reached: 172800s]
almindor[m] has quit [Quit: Idle timeout reached: 172800s]