<spinfast[m]>
is anyone working on cranelift for various mcu targets by any chance?
<spinfast[m]>
seems pretty awesome
starblue has quit [Ping timeout: 256 seconds]
starblue has joined #rust-embedded
starblue has quit [Ping timeout: 260 seconds]
starblue has joined #rust-embedded
<f0rte[m]>
Anybody know how/if I can toss an embassy executor task inside a mod? I've got a pretty big project and I organize by having multiple separate files then doing mod $file and use, but I'd like to put tasks in these files and not just functions.
<f0rte[m]>
right now I am kinda "working around" but putting my tasks inside pub async functions then having "thin" tasks in main that just call that fn, but just curious if there is a better way
<f0rte[m]>
Ah figured it out. Spawner::for_current_executor() to the rescue.
IlPalazzo-ojiisa has quit [Quit: Leaving.]
dsmith has quit [Ping timeout: 246 seconds]
dsmith has joined #rust-embedded
<JamesMunns[m]>
<f0rte[m]> "right now I am kinda "working..." <- tbh this is what I usually do, or pass the spawner around, but what you said works too! I think it's mostly preference which one you choose.
<JamesMunns[m]>
keeping async fns in a mod (or a whole separate lib) can make testing a little easier too, tho that requires you to use generics e-h-async types at that boundary too, which I don't always do.
<diondokter[m]>
JamesMunns[m]: Depends. That lib could also just know about the HAL. But that makes testing worse again
<JamesMunns[m]>
yeah, sorry I meant "on host"/unit testing - where you can't really use the actual HAL, without a lot of trickery
<JamesMunns[m]>
having async fns in a mod/lib is also nice when you DO need generics, like if you want to spawn two tasks, each doing a serial port thing with separate serial ports
<JamesMunns[m]>
that being said, that doesn't actually occur very often either :D
<diondokter[m]>
Yep, true
<JamesMunns[m]>
(e.g. using the EXACT same logic with two ports inside of a single project)
<JamesMunns[m]>
tho, more often, it's "the same logic on two different chips", where generics and a separate lib helps again
<JamesMunns[m]>
basically, oh so many options :p
Darius has quit [Ping timeout: 256 seconds]
Darius has joined #rust-embedded
Foxyloxy_ has joined #rust-embedded
Foxyloxy has quit [Read error: Connection reset by peer]
TomB[m] has joined #rust-embedded
<TomB[m]>
anyone else ever see missing messages on matrix? like on one device I see messages, another I don't, from the same channel
<ryan-summers[m]>
Yeah I do all the time for the time periods that I have my laptop turned off
<diondokter[m]>
Hmmm never noticed that...
<diondokter[m]>
We all three have matrix.org accounts...
<JamesMunns[m]>
Yeah, I've seen it, tho often it is "fixed" if I close the app and reopen it
<diondokter[m]>
I'm using Element as my client everywhere
<JamesMunns[m]>
(using Beeper's clients across MacOS and Android)
<TomB[m]>
how do you "close" the web app?
<TomB[m]>
reloading the page doesn't do it
<JamesMunns[m]>
ah, that idk, I have desktop apps and android apps
<JamesMunns[m]>
I don't use the web interface. Logout login I'd guess?
<TomB[m]>
aren't they all basically web clients anyways, or is there actually a native client that is nice and doesn't use electron like things
<TomB[m]>
sometimes I just miss irc and weechat... really
<JamesMunns[m]>
beeper is also electron, tho their newest android app isn't based on element's clients, so maybe they'll port that over to desktop too? Idk.
jannic[m] has joined #rust-embedded
<jannic[m]>
<TomB[m]> "how do you "close" the web app?" <- The element web app has a "clear cache an reload" option hidden at the bottom of Settings / Help & About. Perhaps that could help?
IlPalazzo-ojiisa has joined #rust-embedded
<TomB[m]>
jannic[m]: doesn't seem to have
<TomB[m]>
confusing as heck
<TomB[m]>
I also tried leaving/rejoining the room without success
<TomB[m]>
could I somehow add the imxrt-rs channel to the rust community? how does that work or who can do that?
<TomB[m]>
adamgreig: could you please add imxrt-rs, looks like you are the admin
SimonJohansson[m has joined #rust-embedded
<SimonJohansson[m>
Hello! Is anyone aware if there are any performance difference between RTIC v1 and v2, or is that hard to quantify?
starblue has quit [Ping timeout: 264 seconds]
starblue has joined #rust-embedded
starblue has quit [Ping timeout: 268 seconds]
starblue has joined #rust-embedded
starblue has quit [Ping timeout: 268 seconds]
starblue has joined #rust-embedded
rustyboy[m] has quit [Quit: Idle timeout reached: 172800s]
bartmassey[m] has joined #rust-embedded
<bartmassey[m]>
Are we meeting today?
newam[m] has joined #rust-embedded
<newam[m]>
Might be an hour later, daylight savings things.
<bartmassey[m]>
Cool. Will check back then. Thanks.
<dirbaio[m]>
yeah it's at 8pm western europe time, so in 1h
thejpster[m] has quit [Quit: Idle timeout reached: 172800s]
adamgreig[m] has joined #rust-embedded
<adamgreig[m]>
hi @room, meeting time again! agenda is https://hackmd.io/-8LiTEfURtSlgoCwsBIFvg, please add anything you'd like to announce/discuss and we'll kick off in a few mins
mabez[m] has quit [Quit: Idle timeout reached: 172800s]
K900 has quit [Quit: Idle timeout reached: 172800s]
<adamgreig[m]>
I don't have any announcements for once, so if anyone has anything to announce please go ahead :)
<adamgreig[m]>
I guess we can wave posborne off for 6 months, have a good trip!
posborne[m] has joined #rust-embedded
<posborne[m]>
Thanks! It will be an adventure for sure.
<adamgreig[m]>
sounds like it!
<adamgreig[m]>
only point I noticed come in this week then is about having multiple operations on i2c that you wanted to have repeated starts, where currently they are merged, but I don't spot any hal team people here atm
<TomB[m]>
I believe nrf twim/twi enforces this sort of usage pattern?
therealprof[m] has joined #rust-embedded
<therealprof[m]>
I'm here but don't have anything to note.
<bartmassey[m]>
I just finished teaching my 10-week Rust Embedded course. I need to do a writeup of some kind covering stuff relevant here. tldr; went well.
<bartmassey[m]>
Teaching will be easier next time, when it does not cross the HAL 1.0 transition 😀
<adamgreig[m]>
nice!
<bartmassey[m]>
Oh, and I've been working on some PRs for the various Microbit stuff in preparation for working on Discovery Book and Embassy Discovery Book upgrades.
<bartmassey[m]>
Henk and I are planning to spend a week doing stuff in a couple of weeks.
<bartmassey[m]>
Unfortunately, because US Daylight Savings Time issues, if I'm going to get lunch today it's now. I'll check back later for further discussion.
<adamgreig[m]>
looks like a quiet meeting this week, does anyone have anything else they want to discuss?
<therealprof[m]>
I got nothing. 😅
<JamesMunns[m]>
Keep suggesting things for RustNL discussion!
<JamesMunns[m]>
Unique opportunity for collaboration and all that!
<dirbaio[m]>
o/
<adamgreig[m]>
<TomB[m]> "adamgreig: could you please..." <- I can't find the imxrt-rs room, could you send the link?
RoyBuitenhuis[m] has quit [Quit: Idle timeout reached: 172800s]
starblue has quit [Ping timeout: 268 seconds]
starblue has joined #rust-embedded
thejpster[m] has joined #rust-embedded
<thejpster[m]>
Sorry, was at the Rust Nation speaker reception, after two days of Rust Leaders summit. We talked a lot about working groups.
<adamgreig[m]>
Anything in particular to report (or want to save it for next meeting)? (I'm afk, bbl)
<wyager[m]>
What's the current state of compiling Rust position-independent code for ARM? I am wondering about the feasibility of creating "applets" that can e.g. be loaded into RAM from external flash.
<dirbaio[m]>
states is
<dirbaio[m]>
- "embedded PIC" (ROPI/RWPI) doesn't work at all
<dirbaio[m]>
- "regular PIC" works fine (I think?) but then you need to write your own loader that applies relocations, just like a desktop OS would do
<adamgreig[m]>
If you can always run from the same part of ram you could even skip PIC and just build for that one location
crabbedhaloablut has quit []
crabbedhaloablut has joined #rust-embedded
khionu[m] has quit [Quit: Idle timeout reached: 172800s]
starblue has quit [Ping timeout: 264 seconds]
starblue has joined #rust-embedded
M9names[m] has quit [Quit: Idle timeout reached: 172800s]
M9names[m] has joined #rust-embedded
<M9names[m]>
if you have a fixed number of applet locations, you can do the above but link the applet for each location.
<M9names[m]>
i would think there's a very good chance the firmware binary would be the same with just a few address changes - maybe you could store these as patches against the base image?
<M9names[m]>
not sure if this is less effort than building your own loader to handle relocations, but it certainly sounds simpler in my head.
<dirbaio[m]>
these "patches" is exactly what relocations are 🙃