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
starblue has quit [Ping timeout: 246 seconds]
starblue has joined #rust-embedded
ymwm has joined #rust-embedded
emerent has quit [Ping timeout: 245 seconds]
emerent has joined #rust-embedded
<re_irc> <luojia65> CH32V307 board
ymwm has quit [Remote host closed the connection]
ymwm has joined #rust-embedded
fabic has joined #rust-embedded
ymwm has quit [Ping timeout: 240 seconds]
<re_irc> <Clark Kozak> I'm having a lot of fun with this microbit and I'm wondering about these starter kits that come with a bunch of wires and other cool stuff. Do y'all have any suggestions / tutorials for a beginner?
<re_irc> <Clark Kozak> like maybe something with a breadboard...maybe no soldering yet
<re_irc> <K900> Easiest for Rust is probably one of those STM32DISCOVERY
<re_irc> <K900> +kits
<re_irc> <K900> And then whatever sensors you can throw on it
fabic has quit [Ping timeout: 260 seconds]
fabic has joined #rust-embedded
ymwm has joined #rust-embedded
fabic has quit [Ping timeout: 246 seconds]
fabic has joined #rust-embedded
hifi has quit [Remote host closed the connection]
hifi has joined #rust-embedded
<re_irc> <TimSmall> Clark Kozak: You could consider something like one of these: https://thepihut.com/products/micro-bit-breadboard-adapter and then buy some jumper wires, and whatever type of sensor or other I/O that you'd like to use? Otherwise maybe Raspberry Pi Pico, or one of the WeAct Studio boards.
<re_irc> <TimSmall> Another tip is to not go super-cheap for the breadboard and wire kits - having a poor connection or open-circuit in a wire or breadboard can waste you a good hour of debugging.
fabic has quit [Ping timeout: 246 seconds]
fabic has joined #rust-embedded
explore has joined #rust-embedded
fabic has quit [Ping timeout: 246 seconds]
fabic has joined #rust-embedded
ymwm has quit [Ping timeout: 260 seconds]
ymwm has joined #rust-embedded
<re_irc> <firefrommoonlight> korken89: Did you have any lessons-learned from this quadcopter project:? https://github.com/korken89/trustflight_firmware
bjc has quit [Remote host closed the connection]
fabic has quit [Ping timeout: 260 seconds]
<re_irc> <newam> luojia65: oh that's got Ethernet, and RISC-V. Where do I get one of these? It would make a great addition to my shame box.
<re_irc> Only $10.72, that's really cheap as far as development boards with Ethernet go.
fabic has joined #rust-embedded
<re_irc> <korken89> firefrommoonlight: I mostly played around with structure to see how to organise a firmware in Rust, it never really came to fruition
<re_irc> <korken89> I also used it to learn rust and traits back in the day
<re_irc> <korken89> Was really fun though
<re_irc> <korken89> I think that one day I'll revisit that, I miss being in drone research sometimes
<re_irc> <firefrommoonlight> Nice!
<re_irc> <firefrommoonlight> I'm working on one now. Lots of moving pieces!
<re_irc> <firefrommoonlight> Even for manual controls
explore has quit [Quit: Connection closed for inactivity]
<re_irc> <korken89> Yeah, it quickly gets big
<re_irc> <korken89> One day I should go through my old KFly codebase
bjc has joined #rust-embedded
ymwm has quit [Ping timeout: 240 seconds]
ymwm has joined #rust-embedded
ymwm has quit [Remote host closed the connection]
ymwm has joined #rust-embedded
<re_irc> <Clark Kozak> TimSmall: if you have any recommendations I'm all ears! As a beginner I'm happy to pay for something that works so I don't have to be concerned with checking the small thing
<re_irc> <Clark Kozak> K900: and that would require getting a breadboard for the STM32?
<re_irc> <Clark Kozak> I see some of these kits on Amazon to get started though I don't want to get overwhelemed or get anything that I don't need. Get it piece by piece..
ymwm has quit [Ping timeout: 260 seconds]
<re_irc> <Clark Kozak> I like the microbit but i'm totally done to get the discovery board. I saw gator clips and that seems like a goood start? It would be cool to do a breadboard with a blinking led and a solid led, i feel that's a good beginner task
ymwm has joined #rust-embedded
<re_irc> <K900> Clark Kozak: Not really, the Discovery boards have pre-soldered headers
ymwm has quit [Remote host closed the connection]
<re_irc> <Clark Kozak> I don't really know what the means 😬
<re_irc> <Clark Kozak> 🥳 newb for life
<re_irc> Then I get get a breakout adapater for the microbit. Is that good move?
<re_irc> <K900> Clark Kozak: That means they have the pins on the board for you to easily connect jump wires to
<re_irc> <K900> These
<re_irc> <Clark Kozak> oh cool! that makes sense now. I would need wires like the ones in that kit above ^ ?
<re_irc> <dirbaio> that one has M-F and M-M it seems? you might need F-F too
<re_irc> <K900> M-F should be enough really
<re_irc> <dirbaio> together with the breadboard, yeah, hm
<re_irc> <Clark Kozak> Ah okay cool. M-F, M-M aAND F-F is what I should look for. that's very helpful thank you
<re_irc> <Clark Kozak> well seems like the best way is to get the wires and breadboard seperately then
<re_irc> <Clark Kozak> I just don't want a bunch of shit don't need lying around
<re_irc> <K900> I'm not sure if you're familiar with that terminology by the way
<re_irc> <K900> But "M" stands for "male" and "F" stands for "female"
<re_irc> <K900> Because ✨ dicks ✨
<re_irc> <K900> Some people prefer to use "plug" and "socket" to be more inclusive
<re_irc> <K900> (fun fact, Russian uses "mommy" and "daddy", which is kind of adorable, but also, you know, ✨ dicks ✨)
<re_irc> <dirbaio> lol
fabic has quit [Ping timeout: 260 seconds]
diagprov has quit [Quit: diagprov]
<re_irc> <Clark Kozak> awwww mommy and daddy :D
<re_irc> <Clark Kozak> thanks for the clarification!
<re_irc> <eldruin> Clark Kozak: I wrote an article a while ago that may be interesting to you https://blog.eldruin.com/tips-hobby-embedded-development-beginners/
<re_irc> <Clark Kozak> Awesome!! reading. thank yo
<re_irc> <Clark Kozak> on another note,
<re_irc> I'm also learning Rust 😂 How does an integer get the "s()" method?
<re_irc> timer.start(1.s()); // where does the .s() come from?
<re_irc> block!(timer.wait()); // blocks for 1 second
<re_irc> <jkelleyrtp> Does anyone know of examples or projects that use rubble (the ble library) _without_ rtic?
<re_irc> <jkelleyrtp> * rtic or an rtos?
<re_irc> <Clark Kozak> on another note,
<re_irc> timer.start(1.s()); // where does the .s() come from?
<re_irc> I'm also learning Rust 😂 How does an integer get the "s()" method?
<re_irc> <Clark Kozak> * compiles...but it doesn't wait a second
<re_irc> <Clark Kozak> * Now it compiles
<re_irc> <GrantM11235> Clark Kozak: What HAL are you using?
<re_irc> <Clark Kozak> microbit
<re_irc> <Clark Kozak> it doesn't seem they have a good example in the docs...it's the same one and it's in the predule:
<re_irc> <K900> That does look like a bug
<re_irc> <K900> There could be a trait somewhere that implements the "s()" method for "u32" or whatever
<re_irc> <K900> But I don't see one in the prelude
<re_irc> <dirbaio> "microbit" reexports stuff from "nrf52833-hal"
<re_irc> <Clark Kozak> oh that's something else nvm
<re_irc> <dirbaio> so all the nrf-hal examples apply
<re_irc> <Clark Kozak> well, tbh i'm trying to solve this one: https://docs.rust-embedded.org/discovery/microbit/10-punch-o-meter/the-challenge.html
<re_irc> really not getting too far besides being able get the accel data...I don't want to look at the answer yet 😂
<re_irc> <dirbaio> aaaand there's no timer example heh
<re_irc> <dirbaio> it runs at "TICKS_PER_SECOND" https://docs.rs/nrf52833-hal/latest/nrf52833_hal/timer/struct.Timer.html#associatedconstant.TICKS_PER_SECOND
<re_irc> <dirbaio> which is 1mhz if you look at the source
<re_irc> <dirbaio> so "timer.start(1_000_000)" should work for 1 second delay
<re_irc> <Clark Kozak> lol i just figured that out
<re_irc> <Clark Kozak> dirbaio: yeah figured that out too 😂
<re_irc> <Clark Kozak> watchdog is complicated that what i learned
<re_irc> <dirbaio> alternatively you can use delay_ms, delay_us
<re_irc> <Clark Kozak> * that's
<re_irc> <dirbaio> the watchdog is something else, you probably don't want it (it's to automatically reset the mcu if the firmware hangs)
<re_irc> <Clark Kozak> oh that's super freakin' cool. Sounds like Apollo 11 tech
<re_irc> And yeah I guess delay_ms maes me sense
<re_irc> <Clark Kozak> K900: I think this is a bug actually. Should I make an issue?
<re_irc> <dirbaio> it's not really a bug, just weird docs
<re_irc> <dirbaio> the timer traits don't define what "Time" is, it's up to implementations to pick
<re_irc> <Clark Kozak> I would much rather use "timer.start(1.s());" though since it's readable
<re_irc> <dirbaio> it's an unconstrained associated type
<re_irc> <dirbaio> so each HAL does it differently
<re_irc> <dirbaio> some use libraries like "embedded-time"
<re_irc> <Clark Kozak> ooooooo
<re_irc> <Clark Kozak> okay gotcha
<re_irc> <dirbaio> some use "u32" milliseconds, some microseconds, some clock cycles...
<re_irc> <dirbaio> some define their own types
<re_irc> <dirbaio> the ".s()" in the example comes from here
<re_irc> <dirbaio> which is what a hypothetical HAL might do
<re_irc> <dirbaio> so you don't have to do ".s()" or anything
<re_irc> <dirbaio> but the downside is it's not obvious what the u32 means (is it seconds? milliseconds? clock cycles?)
<re_irc> <dirbaio> this design turned out to be a mistake, because it makes it impossible to write code that's portable across HALs (and makes using the traits harder as well)
<re_irc> <dirbaio> so all the timer traits are removed in the upcoming embedded-hal 1.0
<re_irc> <dirbaio> and hopefully reintroduced later with a better design https://github.com/rust-embedded/embedded-hal/issues/359
<re_irc> <Clark Kozak> Ahh interesting!!
<re_irc> <Clark Kozak> This is fun, though lots to learn
emerent has quit [Read error: Connection reset by peer]
emerent has joined #rust-embedded