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
richardeoin has quit [Ping timeout: 252 seconds]
richardeoin has joined #rust-embedded
Socke has quit [Ping timeout: 260 seconds]
Socke has joined #rust-embedded
<AnkitSangwan[m]> Thanks you very much. diondokter 9names Everything is much clearer now.
crabbedhaloablut has joined #rust-embedded
duderonomy has quit [Remote host closed the connection]
morfertaw[m] has joined #rust-embedded
<morfertaw[m]> Hi, is there an example of using [esp-idf-template](https://github.com/esp-rs/esp-idf-template) with a C library? I want to use [sh2](https://github.com/ceva-dsp/sh2) in my project to interact with the [adafruit BNO085](https://www.adafruit.com/product/4754). I am using the [featherS3](https://esp32s3.com/feathers3.html) which uses an [esp32s3](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/get-started/index.html).
dngrsspookyvisio has joined #rust-embedded
<dngrsspookyvisio> morfertaw[m]: You've seen the Rust port of the driver? That's probably the easiest option but it has not achieved feature parity
<dngrsspookyvisio> Otherwise I'd take a look at how e.g. the cmsis-dsp crate handles things (that's arm, not xtensa, for xtensa specifics you could ask the #esp-rs room)
<dngrsspookyvisio> I'd personally rather extend the rust port since there's going to be a lot of friction back and forth when it's a proper driver and not just a fancy math library like cmsis
duderonomy has joined #rust-embedded
cyrozap has quit [*.net *.split]
bpye has quit [*.net *.split]
bpye has joined #rust-embedded
cyrozap has joined #rust-embedded
GenTooMan has quit [Ping timeout: 246 seconds]
GenTooMan has joined #rust-embedded
<morfertaw[m]> Okay, after reviewing [bno080-rs](https://github.com/tstellanova/bno080) I am considering porting [sh2](https://github.com/ceva-dsp/sh2/tree/main) myself to rust or switching to [platformio](https://platformio.org/) and using [arduino core](https://github.com/espressif/arduino-esp32) with the [adafruit BNO08X lib](https://github.com/adafruit/Adafruit_BNO08x/tree/master).
fooker has quit [*.net *.split]
thomas25 has quit [*.net *.split]
ni has quit [*.net *.split]
dnm has quit [*.net *.split]
Abhishek_ has quit [*.net *.split]
Amanieu has quit [*.net *.split]
dnm has joined #rust-embedded
fooker has joined #rust-embedded
ni has joined #rust-embedded
Amanieu has joined #rust-embedded
thomas25 has joined #rust-embedded
Abhishek_ has joined #rust-embedded
thejpster[m] has joined #rust-embedded
<thejpster[m]> Does anyone want to explore doing some Embedded Rust stuff at EMF Camp 2024?
drebbe[m] has quit [Quit: Idle timeout reached: 172800s]
nex8192 has quit [Ping timeout: 245 seconds]
nex8192 has joined #rust-embedded
nex8192 has quit [Changing host]
nex8192 has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
fat_hamster[m] has joined #rust-embedded
<fat_hamster[m]> I'm getting really stuck on basic program structure in embassy.... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/KGQXnctSFYvYOpFNWTFJsLMa>)
<diondokter[m]> You can use type aliases to have to type less text, or use generics to only use the trait implementations
<fat_hamster[m]> Thanks I'll give that a go!
emerent has quit [Ping timeout: 246 seconds]
emerent has joined #rust-embedded
<adamgreig[m]> hi @room, meeting time! I'm still gluing together the agenda but it'l be https://hackmd.io/l00L7w3BRo-mHBZD7KBcJQ, please add anything you'd like to discuss or announce, and we'll start in a few mins :)
<adamgreig[m]> if I'm really lucky I'll finish shoving food into my mouth first too, heh
<adamgreig[m]> OK, let's begin! looks like it might be quite a quiet one today
<adamgreig[m]> only brief announcement is that embedded-io 0.5 (https://crates.io/crates/embedded-io) has been released by the HAL team who now maintain it
<adamgreig[m]> and it contains the traits we expect to encourage people to use for serial ports rather than anything in embedded-hal
<dirbaio[m]> o/
<adamgreig[m]> I think that's it for announcements from me though, anyone have anything else?
<dirbaio[m]> also, embedded-nal-async and embassy already updated to the embedded-io traits
<dirbaio[m]> * the embedded-io 0.5 traits
<dirbaio[m]> if anyone's using either embedded-hal Serial traits, or embedded-io 0.4, we'd appreciate if you try updating and give feedback
<dirbaio[m]> since embedded-hal 1.0 will not have serial traits at all
<adamgreig[m]> talking of embedded-hal 1.0, then, what's the next steps look like? I think it's basically down to documentation and getting a little more wide-spread experience with the traits now?
<dirbaio[m]> not many hals/drivers have updated to the 1.0 alphas :S
<adamgreig[m]> so skip a beta?
<dirbaio[m]> not sure what good a beta would do
<dirbaio[m]> at this point we don't have any known design flaws in the traits, so what we have now is what we'd release
<adamgreig[m]> yea, I assume at this point most people who haven't implemented it are waiting for it to be more settled, so 1.0-rc1 seems like a nice step
<dirbaio[m]> unless someone comes up with compelling arguments to change something
<dirbaio[m]> yeah
<dirbaio[m]> hopefully rc1 instead of alphaX signals to people that no more breaking changes are expected
<dirbaio[m]> so more people try upgrading
<diondokter[m]> dirbaio[m]: Indeed, used one of the alpha spi crates and for a moment the client was a bit anxious
<diondokter[m]> s/crates/traits/
<dirbaio[m]> clients 😭
<eldruin[m]> I have done some underlying work in rust-spidev and rust-i2cdev and there is already a PR to upgrade l-e-h to alpha.11
<eldruin[m]> serialport-rs could add support for embedded-io and then use embedded-hal-compat for reverse compatibility
<eldruin[m]> if we get that to work
pbsds has quit [Quit: The Lounge - https://thelounge.chat]
<eldruin[m]> we have recently discussed it, although no work has been done yet that I know of
<dirbaio[m]> it could also impl both eh0.2 and eio1.0 traits
pbsds has joined #rust-embedded
<dirbaio[m]> I think it'll be a long while untli eh0.2 drivers go away
<eldruin[m]> yeah probably
<eldruin[m]> that was also one of the options
<dirbaio[m]> so it's nicer to still impl eh0.2 than to make the user wrap the hal in a compat layer
<eldruin[m]> we will see how it turns out
<dirbaio[m]> embassy HALs at least will keep supporting 0.2 for a long while
<dirbaio[m]> when reasonable
<dirbaio[m]> (the exception is nb traits 🙃)
<dirbaio[m]> (those are almost-banned in embassy hehe)
<eldruin[m]> is there anything left to discuss wrt e-h?
<dirbaio[m]> you wanted to wait for mig guide before doing rc1, right?
<dirbaio[m]> so, next week?
<eldruin[m]> yes
<dirbaio[m]> 👍️
<eldruin[m]> rc1 by next week, with migration guide or not
<dirbaio[m]> if you want me to help let me know
<eldruin[m]> thanks!
almindor[m] has joined #rust-embedded
<almindor[m]> i like the idea of doing RC for e-h
<adamgreig[m]> after e-h, I wanted to briefly discuss critical-section, we should do a release soon to get the various docs changes out there
<eldruin[m]> there is an open issue about a list of implementations
<adamgreig[m]> but we could add a list of implementations to the readme now there's a bunch out there, and we talked about adding some examples
<adamgreig[m]> there's a bunch of implementations from the meeting a few weeks ago
<adamgreig[m]> I can put together a quick PR to add implementations, not sure about examples
<adamgreig[m]> and then I guess try and do a release in next few days?
<dirbaio[m]> SGTM!
<adamgreig[m]> cool
<adamgreig[m]> that's all I had for this week, anything else to discuss?
<diondokter[m]> This still needs review: https://github.com/rust-embedded/cortex-m/pull/476
<eldruin[m]> I wanted to bring up translations of the books again
<adamgreig[m]> ah shoot sorry diondokter, I'll do that now before the c-s stuff
<diondokter[m]> adamgreig[m]: I'm not in hurry to merge it
<diondokter[m]> * not in a hurry to
<adamgreig[m]> I am :P
<diondokter[m]> But it would be nice at some point
<adamgreig[m]> eldruin: go ahead
<eldruin[m]> alright so there is inteerst in translating the embedded book and the discovery bopk
<eldruin[m]> s/bopk/book/
<eldruin[m]> there is a chinese translation of one of them where the author seems keen in keeping it up to date, so might be a candidate for a gettext approach
<eldruin[m]> there is also a guy waiting to start a korean translation of the discovery book
<eldruin[m]> (I may have mixed both books, sorry I cannot tell the bunch of issues appart)
<eldruin[m]> anyway
<eldruin[m]> as a PoC we agreed on adding a spanish translation first
<eldruin[m]> and I have a 50% one
<eldruin[m]> it proved very simple to do by uploading the file to transifex
<eldruin[m]> so the question would be how do we want to proceed with that
<eldruin[m]> wait for 100% spanish and then merge?
<adamgreig[m]> if anything a mostly-complete spanish is probably more representative :P
<eldruin[m]> I am not sure what that means :)
<adamgreig[m]> you'd get to also try doing a few updates and see how it looks when parts aren't fully translated and all that
<adamgreig[m]> I guess what I mean is the concept is proved before you get to 100% completion on translation probably, but it would be nice for it to be enough translated to be useful to a spanish speaker
<adamgreig[m]> if your experience is that "this is a nice way to translate it" and the team's overall is "this is a nice way to manage/store/publish translations", I think we'd be in a good place to merge it
<adamgreig[m]> it sounded like we also still need to decide if we even include the translation files in the main repo or what, though
<eldruin[m]> ok thanks
<eldruin[m]> I think it is already useful as it is, and I hope to complete it at some point or add collaborators (the nice thing about transifex)
<eldruin[m]> transifex is very nice way to translate because you can collaborate with several people extremely easily
<eldruin[m]> however, what I have not tested is how the merge works once there have been changes to the original source
<eldruin[m]> I think the po files need to be included in the repo
<eldruin[m]> the original one could be left out though
<eldruin[m]> but again, I am not sure how an older po file can be applied to a more current book version
<eldruin[m]> read I have not looked into it, might be a solved problem, maybe not, maybe needs work on the CI front
<eldruin[m]> * read: I
<eldruin[m]> however, I have used chatgpt for the translation and it has been mostly flawless, so it bears the question, do we need to manually translate books anymore?
<adamgreig[m]> I guess google translate has been available the whole time too but people still seem keen on making translations
<eldruin[m]> I see it is a nice onboarding way but I am not sure the whole translation and its management actually makes sense
<adamgreig[m]> interesting
<eldruin[m]> sorry, not trying to be a downer
<eldruin[m]> :)
<adamgreig[m]> no, it's a good point!
<eldruin[m]> there is obviously people willing to do it/ think it would be helpful to do it
<adamgreig[m]> my only similar experience is trying to read chinese datasheets and certainly for that sort of technical text machine translation is fine (or anyway good enough)
<adamgreig[m]> I haven't had to read technical documentation like the embedded books in another language so dunno what the feeling is really
<adamgreig[m]> if people are willing to translate and we can make it easy for them that seems worthwhile, and certainly no problem linking to translations etc
<adamgreig[m]> but maybe you think it's not worth spending much wg team time handling translations?
<eldruin[m]> I used chatgpt 3.5 and it only chose some different technical words but only in one snippet there was an actual logical error
<eldruin[m]> * logical error in the translation
<eldruin[m]> adamgreig[m]: I am not sure
<eldruin[m]> it is also not possible right now to just feed the whole book to chatgpt, like with google translate
<eldruin[m]> also, I do not know how the quality of google translate is
<eldruin[m]> even that might be enough
<eldruin[m]> I am just wondering
<eldruin[m]> what do you guys think?
starblue has joined #rust-embedded
<adamgreig[m]> what specifically do you think we do? I don't feel like I have much of a say in whether the translations are more useful than machine translation, but I'm open to saying "we'll just link to translations" or "here are po files but handle the rest in your own repo" or whatever
<eldruin[m]> no idea :) we can leave AI out of the question and just continue with the current approach
<eldruin[m]> IIUC, we could have just a language switching widget in the books
<eldruin[m]> separate repos for the translations get pretty outdated
<eldruin[m]> even the original ones get outdated quickly
<eldruin[m]> we could then generate the pot file and upload it to transifex and then create translations for different languages, where users can collaborate easily, then sometimes get the translated po files and update them in the book repos
<eldruin[m]> but we definitely need a streamlined process in CI, it would get unmanageable otherwise
<eldruin[m]> I do not have the time to really do the whole thing, that's why I start to wonder
<adamgreig[m]> yea, it's one thing for volunteers to handle the translations, but I guess then managing this part of it is a bunch of work
<adamgreig[m]> a hardship of this channel being primarily english-speaking is we don't hear much from the people who presumably would most want the translations, so it's hard to judge how beneficial they are
<adamgreig[m]> even if the CI made ongoing management easy, setting that up to work properly in the first place sounds like a fair chunk of work
<eldruin[m]> indeed
<adamgreig[m]> let's continue discussing it next week then, I think it's worth working out what we want the policy to be but it doesn't seem like anyone has super strong views either way
<adamgreig[m]> shame as that might make decisions easier :p but i suppose in the absence of anyone volunteering to manage the translations it's probably best to keep it to something people do separately and we can link to
<adamgreig[m]> anyway, that's all for today, thanks everyone!
<eldruin[m]> thanks!
GenTooMan has quit [Ping timeout: 246 seconds]
GenTooMan has joined #rust-embedded
<adamgreig[m]> dirbaio: do the links in https://github.com/rust-embedded/critical-section/pull/38 seem ok for the embassy projects?
<adamgreig[m]> not much point linking to crates.io 🥲
crabbedhaloablut has quit []
GenTooMan has quit [Ping timeout: 256 seconds]
phaseonx11[m] has joined #rust-embedded
<phaseonx11[m]> <adamgreig[m]> "a hardship of this channel being..." <- I volunteer as tribute, if the project needs anything translated to Spanish.
IlPalazzo-ojiisa has quit [Quit: Leaving.]
<dngrsspookyvisio> <eldruin[m]> "I used chatgpt 3.5 and it only..." <- uh that's slightly terrifying (but also to be expected)