• he/him

programming, video games, dadding. I happen to work for Xbox, but don't represent them.


more blog
dev.to/knutaf
discord
knutaf

knutaf
@knutaf

So raspberry pi Pico W support in rust isn't ready yet. W being the version with a wifi chip on it. The project I wanted to make needs wifi, so I either need to:

  1. Work on pure rust wifi support from the ground up
  2. Switch to c or cpp (ew), or
  3. Try to link in a c static lib and call it from rust.

3 is probably what I'll try to do for now, though I like the idea of trying to improve 1.


knutaf
@knutaf

Well, idea 3 is going quite badly. After battling cmake for ages, I finally got a static lib that contained at least part of the objs I need. But now I'm encountering a ton of undefined symbol errors and don't know where to get the implementations of things like puts and _bss_start and other stuff.

Another thing I'm worrying about is the wifi firmware is like 224kb, out of 264kb I have available in ram. The driver stores this thing as a static ram allocation. I'll end up with almost no ram left over. Honestly not sure how to deal with this. Why doesn't the firmware get stored in flash and there's a way to load it from flash and send it to the chip at initialization time?


You must log in to comment.

in reply to @knutaf's post:

I believe it's the custom wifi driver part. I have the source and firmware for the driver of the wifi chip, but it's all in c. Some people have started writing a rust version but it's pretty early.