ChanServ changed the topic of #rust-embedded to: Welcome to the Rust Embedded IRC channel! Bridged to #rust-embedded:matrix.org and logged at https://libera.irclog.whitequark.org/rust-embedded, code of conduct at https://www.rust-lang.org/conduct.html
M9names[m] has quit [Quit: Idle timeout reached: 172800s]
ian_rees[m] has quit [Quit: Idle timeout reached: 172800s]
KurtisDinelle[m] has quit [Quit: Idle timeout reached: 172800s]
cr1901 has quit [Ping timeout: 260 seconds]
cr1901 has joined #rust-embedded
cr1901_ has joined #rust-embedded
cr1901 has quit [Ping timeout: 260 seconds]
cr1901_ has quit [Ping timeout: 245 seconds]
cr1901 has joined #rust-embedded
bpye has quit [Quit: Ping timeout (120 seconds)]
bpye has joined #rust-embedded
GeorgesP[m] has quit [Quit: Idle timeout reached: 172800s]
<thejpster[m]> Today I am writing const functions and it’s hard. Can’t use &mut self. Can use a headless Vec because it has a Drop impl.
<JamesMunns[m]> whatcha trying to do?
SameerGupta[m] has joined #rust-embedded
<SameerGupta[m]> hi
<thejpster[m]> encode a complex data structure into an array of 32-bit words, at compile time.
<JamesMunns[m]> Nice! Yeah, i've done something sort of like that for postcard-rpc (hashing a schema at const time to turn it into a [u8; 8]), if you need an out, you can use a build-rs to generate a file and then include_bytes!() it (if a byte array works), or include it into a const and have your const fn just do that patch-up to turn it into an array of u32s
<JamesMunns[m]> lacking trait methods and mut and iteration is definitely a drag tho
Dherse[m] has joined #rust-embedded
<Dherse[m]> Hey everyone, any recommendation on good embedded GUI libraries for rust?
<Dherse[m]> I am thinking Slint but it seems that their licensing model is paid for embedded use?
<diondokter[m]> Dherse[m]: Yeah, use slint or build on top of embedded-graphics yourself
<Dherse[m]> Thanks for the advice :)
<Dherse[m]> Any way of telling slint to use DMA2D and these kinds of peripherals in my MCU?
<Dherse[m]> I don't care that I need to implement a "driver" manually, just that it uses those features
<diondokter[m]> I've only seen a demo of slint and talked to one of their engineers once on a conference, so I don't know any details. But I believe you can get a line buffer or full frame buffer from slint. How you get that to your display is up to you
<Dherse[m]> Awesome, thanks
vollbrecht[m] has joined #rust-embedded
<vollbrecht[m]> <Dherse[m]> "I am thinking Slint but it seems..." <- paid or gpl3 all the way down.
<Dherse[m]> vollbrecht[m]: I mean tbf I am doing a one off project to build a PH and chlorine dispenser for my spa since the commercial options are so ridiculously priced
<Dherse[m]> Just one final question: will it play nicely with embassy, I don't want it to have it own event loop, and I'd rather keep using the async/await since I have quite a few different tasks running on the one MCU
<diondokter[m]> Not sure! You can probably make the display driver async. But the rendering probably not if it's not already
<vollbrecht[m]> There also exist [lvgl bindings](https://github.com/lvgl/lv_binding_rust) for rust. So depending on what you are doing maybe also worth a look.
<Dherse[m]> Ok, thanks :)
<Dherse[m]> vollbrecht[m]: I initially tried since I have used LVGL extensively in the past, but I can't even get it to build and it's lacking some of the features I am interested in and i'd need to use the raw C-API
<vollbrecht[m]> for more info hunting you might also wanna checkout the https://matrix.to/#/#rust-embedded-graphics:matrix.org channel
madnirua[m] has joined #rust-embedded
<madnirua[m]> <Dherse[m]> "I mean tbf I am doing a one..." <- Slint employee here -
<madnirua[m]> The startup and individual license is 5€/month and 1 device royalty (MCU) is 0.90€
<madnirua[m]> <Dherse[m]> "Any way of telling slint to..." <- Not yet. So far customers have been pretty happy with performance of the software renderer. But this (supporting DMA2D) is in the roadmap.
<madnirua[m]> For example this demo is running on STM32H7 using only the software renderer. The application is built in Rust.
<madnirua[m]> <madnirua[m]> "Slint employee here -..." <- > <@aurindam:matrix.org> Slint employee here -... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/UHvHpvfLLHUFbtaeDBooMnWo>)
<Dherse[m]> <madnirua[m]> "> <@aurindam:matrix.org> Slint..." <- > <@aurindam:matrix.org> But in your case, I believe the GPL should be also OK.... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/oQIqQwHdGiNeLIUHfwCFGOcO>)
<madnirua[m]> The neoChrom? Yes, we plan to support that too
<Dherse[m]> Awesome!
<Dherse[m]> Looking forward to it, I'll likely take the individual license just to support you guys then :)
<Dherse[m]> madnirua: Since I have you here, do you know why (even with `alloc` and plenty of memory), it fails to `MainWindow::new` (just a hello world in slint), it doesn't return an error, it just hangs in it
<madnirua[m]> Dherse[m]: Ummm .. not sure why .. could you share the code .. did you start with the template?
<madnirua[m]> Maybe we take this discussion to DM? Or you can post on our Mattermost - https://chat.slint.dev/public/channels/town-square
<Dherse[m]> I based myself from this example: https://github.com/slint-ui/slint/tree/master/examples/plotter
<Dherse[m]> madnirua[m]: > <@aurindam:matrix.org> Ummm .. not sure why .. could you share the code .. did you start with the template?... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/FrruPNasgmCesiJQBafuVzDP>)
embassy-learner[ has joined #rust-embedded
<embassy-learner[> Hi guys...asking an opinion to experts here...
<embassy-learner[> With Ble ( i am using NUS of nordice ) there is no protocol level signal of last packet right? It's managed at application level ( terminators, byte count etc... ) right? Any advice on your experience?
<embassy-learner[> Thanks as always!
<Vicente[m]> Do you know any full no_std websocket crate? embedded-websocket (async) introduce tokio dependencies..
TomB[m] has quit [Quit: Idle timeout reached: 172800s]
<thejpster[m]> I got it working. I even found a sha256 const-fn crate, which is neat.
<thejpster[m]> * self. Can't use
okhsunrog[m] has joined #rust-embedded
<okhsunrog[m]> <Vicente[m]> "Do you know any full no_std..." <- take a look at this https://github.com/ivmarkov/edge-net/tree/master/edge-ws
whitequark[cis] has quit [Quit: Idle timeout reached: 172800s]
zeenix[m] has joined #rust-embedded
<zeenix[m]> <thejpster[m]> "I got it working. I even found a..." <- Which one is that? I actually need one at work right now 😊
GrantM11235[m] has quit [Quit: Idle timeout reached: 172800s]
firefrommoonligh has quit [Quit: Idle timeout reached: 172800s]