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
<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]>
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?
<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..