01:44
m5zs7k has quit [Quit: m5zs7k]
01:45
m5zs7k has joined #rust-embedded
01:57
sroemer has joined #rust-embedded
02:58
_whitelogger_ has quit [Remote host closed the connection]
03:04
_whitelogger_ has joined #rust-embedded
03:30
Foxyloxy has quit [Read error: Connection reset by peer]
03:30
Foxyloxy has joined #rust-embedded
04:50
_whitelogger_ has quit [Remote host closed the connection]
04:56
_whitelogger_ has joined #rust-embedded
06:42
_whitelogger_ has quit [Remote host closed the connection]
06:48
_whitelogger_ has joined #rust-embedded
07:02
ello has quit [Remote host closed the connection]
07:03
ello has joined #rust-embedded
07:23
ello has joined #rust-embedded
08:10
dngrs[m] has quit [Quit: Idle timeout reached: 172800s]
08:44
Ralph[m] has quit [Quit: Idle timeout reached: 172800s]
08:48
tamme[m] has quit [Quit: Idle timeout reached: 172800s]
10:10
Makarov has joined #rust-embedded
10:26
igiona[m] has quit [Quit: Idle timeout reached: 172800s]
11:00
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
11:34
sroemer has quit [Ping timeout: 248 seconds]
11:42
tschundler has quit [Ping timeout: 245 seconds]
11:42
tschundler has joined #rust-embedded
11:47
Artea has joined #rust-embedded
12:06
Makarov has quit [Ping timeout: 256 seconds]
12:41
<
diondokter[m] >
Ah it's out!
12:41
<
diondokter[m] >
Pretty nice :)
12:42
<
diondokter[m] >
Oh, haha they kept the last chapter in. 'towards' 1.0. Well, it's already at 3.0 :P
12:44
<
dirbaio[m] >
it doesn't mention "rust" even once, C devs reading that blog are going to be "wtf is a crate" :D
12:44
<
dirbaio[m] >
* to be like "wtf is
12:44
<
Koen[m] >
Must be some modern c25 thing :)
12:45
<
dirbaio[m] >
which is great, let's normalize rust 🚀
12:45
<
diondokter[m] >
It's a repost of my blog at tweedegolf.nl. I expected they'd put a little bit of fluff at the start
12:45
<
diondokter[m] >
Oh well
12:46
<
dirbaio[m] >
if you don't know what a crate is, you're behind the times 🦀
12:46
<
diondokter[m] >
dirbaio[m]: Yeah, I've been really tempted to answer questions on the embedded subreddit where they ask 'How can I do PWM on STM32?'
12:50
<
dirbaio[m] >
"oh you're still not using rust?! 😱"
13:02
Makarov has joined #rust-embedded
13:26
starblue has quit [Quit: WeeChat 3.8]
13:50
Ralph[m] has joined #rust-embedded
13:52
<
JamesMunns[m] >
Hey! I could be potentially interested for my company OneVariable, if you're interested in machine to machine comms things :) Feel free to send me a DM, or shoot an email to contact@ onevariable dot com if you want to chat.
14:25
<
barafael[m] >
I'm updating this bno080 IMU driver to use e-h-1. So far, I have gotten it to compile and I'm soon gonna test if it works. But maybe somebody can have a look if this is done correctly?
14:25
<
barafael[m] >
I'm especially wondering what to do about this existing SensorInterface type, and how to handle supporting async peripheral drivers.
14:35
Makarov has quit [Ping timeout: 256 seconds]
15:02
JamesSizeland[m] has quit [Quit: Idle timeout reached: 172800s]
15:17
duderonomy has joined #rust-embedded
16:56
sroemer has joined #rust-embedded
17:13
dkm[m] has joined #rust-embedded
17:13
<
dkm[m] >
Hello 🦀! Any rmk dev or user here? I have an issue building it for my custom keyb, and I'm not sure what's the issue...
17:15
<
dirbaio[m] >
just ask the question! maybe someone knows
17:18
<
JamesMunns[m] >
Are you building with --release?
17:19
<
JamesMunns[m] >
(that's a very typical error for when you are totally out of RAM, and the 072 doesn't have a ton
17:19
<
JamesMunns[m] >
* a ton)
17:22
<
dkm[m] >
it's using flip-link, but I don't think it's the issue
17:26
_whitelogger has joined #rust-embedded
17:26
<
dkm[m] >
Ok, so maybe by removing defmt (listed in rmk's list of thing to do to reduce size) and reducing the task allocator may help
17:27
<
dkm[m] >
I'll give it a shot in the weekend. Thanks a lot James Munns !
17:30
<
JamesMunns[m] >
yeah, you're specifically out of RAM (not flash - I think you have the 128K part and not the 64K part)
17:33
<
dkm[m] >
yes I have the 128k part 👍️
18:48
AdamHorden has quit [Ping timeout: 252 seconds]
18:48
AdamHorden has joined #rust-embedded
19:02
_whitelogger_ has quit [Remote host closed the connection]
19:08
_whitelogger_ has joined #rust-embedded
19:45
cinemaSundays has joined #rust-embedded
20:53
i509vcb[m] has quit [Quit: Idle timeout reached: 172800s]
21:31
<
barafael[m] >
what's the story with timeouts? I am using an embassy_futures select with my i2c and it works nicely. Is that the intended use?
21:32
<
dirbaio[m] >
There's also with_timeout in embassy-time which is a bit shorter
21:33
<
dirbaio[m] >
bt is the same otherwise
21:55
<
diondokter[m] >
Otherwise I don't really know how to discover that b and c exist based on a range from a to d
21:55
cinemaSundays has quit [Quit: Connection closed for inactivity]
21:55
<
diondokter[m] >
Yeah, agreed with that emoji...
21:56
<
diondokter[m] >
Maybe the user should directly specify the chain and then I only need to have code to check if it's valid?
21:56
<
dirbaio[m] >
plus they can be different types right? that's why you return a tuple and not an array
21:56
<
diondokter[m] >
Yeah
21:57
<
JamesMunns[m] >
It's sorta like the RTIC multilock stntax
21:57
<
dirbaio[m] >
if you got 2 regs that are identical (same fields etc) do you generate 1 type, or 2?
21:57
<
JamesMunns[m] >
s/stntax/syntax/
21:58
<
JamesMunns[m] >
JamesMunns[m]: I feel like they did a blanket impl instead of codegen tho
21:58
<
diondokter[m] >
dirbaio[m]: That's one type. But I could generate an extra Metadata struct for each individual one
22:00
<
diondokter[m] >
JamesMunns[m]: Yeah, might be possible too (though only for the chosen maximum length).
22:00
<
diondokter[m] >
But then still the question remains how I check whether it forms a valid chain
22:00
<
JamesMunns[m] >
diondokter[m]: Yeah, I probably don't understand the problem well enough :)
22:00
<
dirbaio[m] >
seems very cursed typelevel shit yeah
22:00
<
diondokter[m] >
JamesMunns[m]: Funny thing is that this got implemented because I complained about the abysmal UX of locking each one individually :P
22:01
<
dirbaio[m] >
i'm sure it's doable if you invent a typenum-like abomination
22:01
<
dirbaio[m] >
but maybe it's best not to try?
22:01
<
dirbaio[m] >
an alternative would be to do
22:01
<
dirbaio[m] >
and somehow at runtime if the addresses are consecutive then fuse them into single i2c/spi transactions?
22:01
<
dirbaio[m] >
and if not either issue separate txs, or just panic
22:01
<
diondokter[m] >
JamesMunns[m]: Many devices can read/write multiple registers in one transaction and I want device-driver creators to be able to leverage that
22:02
<
diondokter[m] >
Lol, honestly I did not consider runtime checks
22:02
<
diondokter[m] >
Zero cost everything!
22:03
<
dirbaio[m] >
if they're constants the compielr might be able to optimize them away
22:03
<
dirbaio[m] >
or not
22:03
<
dirbaio[m] >
idk :D
22:03
<
diondokter[m] >
* cost everything! (I say while my compiler is still going after 10 minutes)
22:03
<
diondokter[m] >
Not constants sadly
22:03
<
diondokter[m] >
Well...
22:03
<
dirbaio[m] >
I mean not const constants, I mean values that the compiler can predict so the optimizer can const-propagate
22:03
<
diondokter[m] >
If the compiler is smart enough it could read as constants for the compiler
22:04
<
diondokter[m] >
But it's pretty deep
22:30
sroemer has quit [Ping timeout: 248 seconds]
23:51
hadez[m] has quit [Quit: Idle timeout reached: 172800s]