IlPalazzo-ojiisa has quit [Remote host closed the connection]
gienah has joined #rust-embedded
starblue has quit [Ping timeout: 246 seconds]
starblue has joined #rust-embedded
Guest7282 has joined #rust-embedded
Guest7282 has left #rust-embedded [Error from remote client]
starblue has quit [Ping timeout: 255 seconds]
starblue has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
Guest7282 has joined #rust-embedded
IlPalazzo-ojiisa has quit [Remote host closed the connection]
d3zd3z[m] has quit [Quit: Idle timeout reached: 172800s]
IlPalazzo-ojiisa has joined #rust-embedded
Guest7282 has left #rust-embedded [Error from remote client]
IlPalazzo-ojiisa has quit [Quit: Leaving.]
IlPalazzo-ojiis1 has joined #rust-embedded
Guest7282 has joined #rust-embedded
IlPalazzo-ojiis1 has quit [Quit: Leaving.]
IlPalazzo-ojiisa has joined #rust-embedded
IlPalazzo-ojiisa has quit [Quit: Leaving.]
IlPalazzo-ojiisa has joined #rust-embedded
jbaczuk has joined #rust-embedded
IlPalazzo-ojiisa has quit [Ping timeout: 268 seconds]
IlPalazzo-ojiisa has joined #rust-embedded
<Socke>
hmm somehow my neovim setup partially stopped working with my esp projects. I still see code actions when I press the mapped keys, but I don't see diagnostics anymore. it still works for non-esp projects. not sure if this is an issue of rust analyzer or my nvim config. how would I go and debug this?
<Socke>
well... nvim rust-tools is deprecated, time to switch again...
IlPalazzo-ojiisa has quit [Ping timeout: 264 seconds]
IlPalazzo-ojiisa has joined #rust-embedded
swaits[m] has joined #rust-embedded
<swaits[m]>
Socke: I use LazyVim with the rust lang enabled. It automatically switched away from rust-tools for me. Not everyone's cup of team, but very convenient.
<Socke>
might be worth a try
<Socke>
my vim config grew exponentially over the last 10 years
<vollbrecht[m]>
upgrading to the latest nightly compiler also can sometimes break your rust-analyzer diagnostics. So if your plugin doesn't work, you can check if its related to you using the latest compiler version
IlPalazzo-ojiisa has quit [Ping timeout: 252 seconds]
<dirbaio[m]>
maybe it's possible to annotate the asm with metadata so that probe-rs can unwind through it?
<vollbrecht[m]>
the archenemy of stack-frame unwinding, external code alla asm macros or othere externally linked stuff just breaks everything. Time to add eh_frames and ditch stack-frames. Though doing so will also lead to loosing your sanity by learning the DWARF spec π
<vollbrecht[m]>
but at least it worksβ’
IlPalazzo-ojiisa has quit [Ping timeout: 272 seconds]
IlPalazzo-ojiisa has joined #rust-embedded
IlPalazzo-ojiisa has quit [Client Quit]
IlPalazzo-ojiisa has joined #rust-embedded
IlPalazzo-ojiisa has quit [Client Quit]
IlPalazzo-ojiis1 has joined #rust-embedded
IlPalazzo-ojiis1 has quit [Client Quit]
IlPalazzo-ojiisa has joined #rust-embedded
IlPalazzo-ojiisa has quit [Client Quit]
IlPalazzo-ojiis1 has joined #rust-embedded
IlPalazzo-ojiis1 has quit [Ping timeout: 252 seconds]
IlPalazzo-ojiisa has joined #rust-embedded
adamgreig[m] has joined #rust-embedded
<adamgreig[m]>
hi @room , meeting time again! agenda is (going to be) https://hackmd.io/dA39X_TRQD2PE7k-DFbZfQ, please add anything you want to announce/discuss and we'll start in a couple of mins
calisti[m] has joined #rust-embedded
<calisti[m]>
Are these meetings Working Group members only, or can folks drop in for a passive listen if just interested in embedded Rust? (and where would I join?)
<adamgreig[m]>
anyone is very welcome, it's just text chat here though so you're already in it :)
<adamgreig[m]>
feel free to interject and discuss
<adamgreig[m]>
(well, try to stay on-topic during the meeting, though...)
<calisti[m]>
adamgreig[m]: thanks!
<calisti[m]>
> <@adamgreig:matrix.org> feel free to interject and discuss
<calisti[m]>
* thanks! I guess I'm gonna read along quietly β€οΈ
<adamgreig[m]>
ok, let's begin, I don't have a lot on the agenda today, only announcement from me is to remind anyone planning to come to the RustNL embedded unconf to confirm by ticking your name on the table in the hackmd in the other channel, and that if you're interested in booking the conf hotel, the block-booking for it expires in a few days (on the 15th)
<NickStevens[m]>
Regarding RustNL, is there going to be a livestream or any way for remote people to join the unconf?
AdamHott[m] has joined #rust-embedded
<AdamHott[m]>
I think Erik mentioned that deadline has been extended until March 25th
<NickStevens[m]>
I'm also fine just hacking in solidarity and on US time π, mostly just curious
<adamgreig[m]>
not sure on the details yet, I don't think it's been planned
<adamgreig[m]>
any other announcements from anyone?
<JamesMunns[m]>
Do we want to capture unconf discussion topics? I know "static mut" got nominated, not sure if we have a list or are tracking any other things that would be good to hash out in person
therealprof[m] has joined #rust-embedded
<therealprof[m]>
Actually hotel was extended, changed it in the meeting notes.
<JamesMunns[m]>
ah, there's a "topics" section, but it's mostly empty :)
<JamesMunns[m]>
might be worth soliciting ideas prior to the conf so we don't spend both days brainstorming :)
<adamgreig[m]>
the other thing on my mind is the dereferenceable/PACs/cortex-m stuff
<therealprof[m]>
Please feel free to add yout ideas. Tracking them was indeed what we had in mind. ;)
<adamgreig[m]>
rust 1.77 will be long out by then so i'm sure the static mut thing will be high on everyone's mind
jannic[m] has joined #rust-embedded
<jannic[m]>
rp2040-hal 0.10.0 with full support for embedded-hal 1.0 was released. And a lot of other updates.
<adamgreig[m]>
nice! and there were a few esp-hal/esp-wifi releases too
<adamgreig[m]>
I think the boring answer is that we can't make the trampoline default-off in 0.7 because it's definitely a breaking change
<adamgreig[m]>
so it probably still makes sense to do a new 0.7 release with the option to disable it, and then remove it in 0.8
<thejpster[m]>
So, I was giving a training on embedded last week and this was a bit of a mess. The new probe-rs crashed on Intel Mac, but seemed to work OK on my Apple Silicon Mac. Possibly cortex-m-rt was at a different version, but not sure.
<adamgreig[m]>
however we will then have the usual total horror show of 0.8 because "can only have one cortex-m-rt" and "all PACs depend on 0.7"
<JamesMunns[m]>
thejpster[m]: (that might be `nusb` based differences? depending on the versions)
<adamgreig[m]>
cortex-m-rt hasn't changed in a long time (>1y) so probably not that?
<thejpster[m]>
Also the new probe-rs prints a bunch of warnings, and handles println wrong. Serves me right for not checking before hand! All credit to the team for a great application though - it is by and large a joy to use and puts openocd to shame.
<JamesMunns[m]>
adamgreig[m]: one point oh! one point oh!
<thejpster[m]>
yeah and I'm pretty sure I ship a lock file, so I expect everyone to use the same crates on the target
<adamgreig[m]>
ah, but lock file doesn't help with probe-rs version huh
<adamgreig[m]>
so I guess that's probably it
<adamgreig[m]>
yea, I wouldn't object to c-m-rt at 1.0, god knows it's stable enough now
<adamgreig[m]>
ambitions of "handle multiple memory sections properly" aside
<adamgreig[m]>
the main possibly-breaking change we had in mind was the change to exception/interrupt handling we talked about a little while ago, to decouple PACs from c-m-rt
<adamgreig[m]>
I think that would be well worth getting in place before a 1.0 release, and so it's part of that general PAC topic for the unconf in my head
<adamgreig[m]>
but it's possible we want to resolve this sooner too
<thejpster[m]>
we should also think about RISC-V interrupts, because I'd like those to be handled in a similar fashion
<adamgreig[m]>
yep, makes sense. I don't know if they'll be type-identical but it would be nice if the overall shape matched. That said I think the risc-v people have been pushing ahead here so it might just be a case of copying what they've done for cortex-m :p
<dirbaio[m]>
riscv interrupt handling varies too much across chips, it ends up being partof the HAL instead of the arch support crate
<thejpster[m]>
right, but if we could at least agree what #![interrupt] does (e.g. in terms of static mut) we can make a RISC-V one that does the same.
<thejpster[m]>
* right, but if we could at least agree what #[interrupt] does (e.g. in terms of static mut) we can make a RISC-V one that does the same.
<thejpster[m]>
ah., hmm, I wonder if beta will get shouty about the static mut transform
<thejpster[m]>
do warnings apply to the crate the macro is in, or the crate the macro gets expanded in? Sorry. Idle thoughts.
<adamgreig[m]>
hah, maybe another reason to remove that feature
sourcebox[m] has joined #rust-embedded
<sourcebox[m]>
I think I tried beta on static mut, didn't give me any warnings.
<adamgreig[m]>
anything else anyone wanted to discuss this week?
<cr1901>
adamgreig[m]: Ngl, I've been busy doing a refactor and coupled with DST, I forgot the meeting :P
<adamgreig[m]>
oh yea, I forgot we're in the chaos weeks
<dirbaio[m]>
quick, someone bring up a controversial topic
<adamgreig[m]>
noooo we could finish the meeting early instead!
<AdamHott[m]>
Can we rename mutable references to "changeable mirrors"?
<AdamHott[m]>
indeed
M9names[m] has joined #rust-embedded
<M9names[m]>
No
<adamgreig[m]>
sign my petition to make statics mut by default ποΈ
<dirbaio[m]>
deprecate non-mut statics and variables
<cr1901>
Over my dead body
<adamgreig[m]>
"oh that's not so bad, we're already doi------ OH"
<dirbaio[m]>
they're always getting in the way of writing code
<cr1901>
There is more to life than stack addressing
<adamgreig[m]>
it would be much easier if we just said which ones weren't mut
<JamesMunns[m]>
adamgreig[m]: π«
<adamgreig[m]>
like const static or something
<cr1901>
Like garbage collection. Or "free is a noop".
<dirbaio[m]>
public static synchronized final const
<sourcebox[m]>
Why not just a "boss mode" that disable all compile time checks?
<cr1901>
That's mrustc
<dirbaio[m]>
call it "the Crab language", or "C" for short
geky[m] has joined #rust-embedded
<geky[m]>
I vote rename mut to volatile, they mean basically the same thing right?
<AdamHott[m]>
haha
<adamgreig[m]>
hmm idk, you might get confused with "tcl"
<adamgreig[m]>
seems a bit of a short name for a language :P
<dirbaio[m]>
omg that gave me openocd ptsd
<adamgreig[m]>
hah
<adamgreig[m]>
the thinking man's scripting language
<adamgreig[m]>
ok, well, we're obviously done here :P thanks everyone, see you next week!
<AdamHott[m]>
thanks everyone, good day good night!
Noah[m]12 has joined #rust-embedded
<Noah[m]12>
<thejpster[m]> "Also the new probe-rs prints a..." <- i think we still have some QA issues and I wanna get it sorted for a long ehile but ohwell ... also I really wanna try a weekly call/meeting to do some socializing, triaging and roadmapping.
<vollbrecht[m]>
* if you will open it in a hex editor you will find more than 13k, if not tamed rust likes to put alot of "stringlike" junk into the elf - that is than still in the end bin
<JamesMunns[m]>
Also strings looks for null terminated strings
<vollbrecht[m]>
* if you will open it in a hex editor you will find more than 13k, if not tamed rust likes to put alot of "stringlike" junk into the elf - that is than still in the end after espflash converts it
<JamesMunns[m]>
Which rust generally doesn't use
<dirbaio[m]>
yeah if you want to measure string junk you should convert to bin first
<JamesMunns[m]>
> For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character.
<JamesMunns[m]>
Huh, it's a little more flexible than I thought, but yeah not sure what sourcebox is trying to measure
<sourcebox[m]>
This is not some serious measurement, was just poking around with it.
<sourcebox[m]>
But there's more text in it than expected, most not even from my code but deps.
<vollbrecht[m]>
it gets fun if you build the rust std-lib and include it in esp-idf-* . You have a huge pile of full-path env leaking and it all ends in the binary. So if you are building the std-lib by yourself for any target you really need to look out for that :D
<vollbrecht[m]>
or another big place is panic handling etc, lots of strings ;D
<sourcebox[m]>
The absolute paths are annoying because they can include sensitive information.
<vollbrecht[m]>
before you ship any rust binary, best to open it first in a hex editor ;D Not only for embedded binary's but in general
johnmcnuggets has quit [Remote host closed the connection]
PeterHansen[m] has quit [Quit: Idle timeout reached: 172800s]