<JamesMunns[m]>
it's barely tested but seems to work
<JamesMunns[m]>
and postcard-rpc could take this further and automatically determine the largest buffer needed for ANY type in or out, but you'd have to either ignore or handle cases where you want to be able to send `&str` or `&[u8]`, which is harder in the general case
<JamesMunns[m]>
(postcard-rpc prepares an array of all data types on the wire, so you could make a version of my const fn that works on `&[&NamedType]` instead of just `&NamedType`
<JamesMunns[m]>
* just `&NamedType`)
<JamesMunns[m]>
* (postcard-rpc prepares a const array of all data types on the wire, so you could make a version of my const fn that works on `&[&NamedType]` instead of just `&NamedType`)
Jubilee[m] has quit [Quit: Idle timeout reached: 172800s]
sroemer has joined #rust-embedded
sroemer has quit [Changing host]
sroemer has joined #rust-embedded
jr-oss_ has joined #rust-embedded
jr-oss has quit [Ping timeout: 260 seconds]
sroemer has quit [Ping timeout: 255 seconds]
emerent_ has joined #rust-embedded
emerent has quit [Killed (erbium.libera.chat (Nickname regained by services))]
emerent_ is now known as emerent
cr1901_ has joined #rust-embedded
cr1901 has quit [Ping timeout: 276 seconds]
haobogu[m] has quit [Quit: Idle timeout reached: 172800s]
flippette[m] has joined #rust-embedded
<flippette[m]>
hi, i have a pimoroni pico plus 2w and i'm trying to modify the embassy-rp memory.x file to use the full 16mb flash + 8mb psram, how exactly can i do that?
<flippette[m]>
from what i understand the address ranges for the xip subsystem starts at 0x10000000
<flippette[m]>
but does the external flash come first in the address space or does the psram?
<chrysn[m]>
Is there any slimmer interface than serde that could be offered for crates like minicbor and heapless to meet at, so that that interface describes "we're building a string" or "we're building an array"? serde certainly comes to mind (and minicbor supports it), but serde is of bigger scope, and also opinionated enough to not quite be a first choice. (For example, it only works with string keys, which is why minicbor mainly uses own
<chrysn[m]>
Looks like it won't be trival to convince [minicbor to support heapless](https://github.com/twittner/minicbor/pull/4), and that's not even getting started on other types that are string-ish or vec-ish (smallvec comes to mind).
<chrysn[m]>
derives).
<chrysn[m]>
(I've briefly considered proposing PR'ing this to heapless (just as it supports serde), but minicbor changes quite frequently, so that wouldn't be practical β apart from heapless being the more widely used crate)
starblue[m] has joined #rust-embedded
<starblue[m]>
<flippette[m]> "but does the external flash come..." <- That depends on the chip selects. I think normally the flash comes first, and from the schematics at https://shop.pimoroni.com/products/pimoroni-pico-plus-2-w that is indeed the case.
starblue has joined #rust-embedded
sroemer has joined #rust-embedded
sroemer has joined #rust-embedded
<thejpster[m]>
flippette: be warned, you must not use core::sync::atomic::* values within the PSRAM address space (or the flash address space, but the flash is read-only so you wouldn't put an atomic there anyway).
<thejpster[m]>
And I have a Pico 2 Plus and I can confirm the flash is at 0x1000_0000 where you would expect it to be. The SRAM is on the second bank (although I haven't used it yet).
<thejpster[m]>
Does embassy-rp have a driver for the PSRAM? I never got around to writing one for rp2350-hal.
<flippette[m]>
> Does embassy-rp have a driver for the PSRAM?
<flippette[m]>
doesn't seem so to me
<flippette[m]>
* > Does embassy-rp have a driver for the PSRAM?
<flippette[m]>
doesn't seem so to me
<flippette[m]>
also does anyone know if the RM2 wifi chip on the pico plus 2w can use the same firmware as the one in cyw43-firmware?
<dirbaio[m]>
it has the same cyw43439 chip, so it should work
<flippette[m]>
i can't seem to get the embassy wifi-blinky example to work on it
<hampycalc[m]>
actually never mind - I'll wait until we have the device in production, as we'll have gone through some thorough versioning and a "release"
nhogan06[m] has left #rust-embedded [#rust-embedded]
<JamesMunns[m]>
fwiw: tchncs-de is having a very bad spam day, the bots are working overtime
<JamesMunns[m]>
feel free to @ me anywhere if you see a random from that homeserver posting an imgur link, it's a weird AI conspiracy message that looks like someone is either trolling or had a serious mental break :p
<JamesMunns[m]>
(the mods and bots have banned like 20-30 accounts in the last 15-20 minutes)
scorpion2185[m] has joined #rust-embedded
<scorpion2185[m]>
are they bots?
<JamesMunns[m]>
it looks very bot-ish. They join, post the imgur link, then don't do anything else
<scorpion2185[m]>
i am seiing them in many rooms
<scorpion2185[m]>
s/seiing/seeing/
<JamesMunns[m]>
yeah, it's pretty rough. The bots are banning 1-2 accounts every minute
077AAT1JQ has quit [Quit: quit]
exark has joined #rust-embedded
sroemer has quit [Ping timeout: 260 seconds]
<flippette[m]>
<dirbaio[m]> "we will need trace logs to debug..." <- so i found out about `defmt-serial` and that it'll log through my uart reader thingamajig
<gauteh[m]>
ok :/ there may be a bug in defmt-serial as well. you could try to do defmt::flush(), does the example-std work in defmt-serial?
cbjamo[m] has joined #rust-embedded
<cbjamo[m]>
<thejpster[m]> "And I have a Pico 2 Plus and I..." <- > <@thejpster:matrix.org> And I have a Pico 2 Plus and I can confirm the flash is at 0x1000_0000 where you would expect it to be. The SRAM is on the second bank (although I haven't... (full message at
<M8alpreet[m]>
I created a PR to add some MacOS related instructions for the discovery book. There is a check failing, but it's not clear what's causing the issue.
<flippette[m]>
<JamesMunns[m]> "which disables interrupts" <- yea you were correct
<flippette[m]>
i implemented `embedded_io::{Read, Write}` for `Uart<'d, T: Instance, Blocking>` and it works now
korken89[m] has quit [Quit: Idle timeout reached: 172800s]
<JamesMunns[m]>
it might be rejected for Read at least, because IIRC it should be buffered, otherwise you will not receive data
<JamesMunns[m]>
Write might be okay, not sure.
<JamesMunns[m]>
ah, probably don't listen to me, there's at least some impls for this
<thejpster[m]>
<JamesMunns[m]> "it looks very bot-ish. They join..." <- I got a DM that did that. Very annoying.
AdinAck[m] has quit [Quit: Idle timeout reached: 172800s]
jannic[m] has quit [Quit: Idle timeout reached: 172800s]
<JamesMunns[m]>
By the way, for anyone who was waiting - I've cut a 0.10 release of postcard-rpc, and at this point I *think* I am done making breaking changes, and it's at a point where I'd be comfortable recommending it again. If someone finds a problem, please let me know!
<JamesMunns[m]>
JamesMunns[m]: I plan to improve the docs, but like I said, I think the code should be good to go - at least for breaking changes!
<JamesMunns[m]>
JamesMunns[m]: And if you are ever confused or the docs look wrong, please do ping me here and/or open an issue, I'll prioritize updating things that people complain about :)
PhilMarkgraf[m] has joined #rust-embedded
<PhilMarkgraf[m]>
Hey everyone, I wanted to share my recent visit with the Agile Embedded Podcast, speaking about my experiences using Embedded Rust. I hope this honors the work this community has put into making Embedded Rust practical, pragmatic, and awesome.
jistr has quit [Remote host closed the connection]
<flippette[m]>
0x0400 too
<dirbaio[m]>
ugh
<dirbaio[m]>
well it's clearly doing something now
<dirbaio[m]>
feels like the cyw43 is trying to reply but the data gets corrupted
<dirbaio[m]>
the spi wiring is cursed lol
<dirbaio[m]>
i'm afraid i'm out of ideas
<dirbaio[m]>
other than "change shit randomly and see if it improves" :D
<dirbaio[m]>
or look at it with an oscilloscope...
danielb[m] has joined #rust-embedded
<danielb[m]>
dirbaio[m]: that's basically AI
<dirbaio[m]>
the current cyw43-pio code was made with a lot of "change shit randomly and see if it improves" as well...
<flippette[m]>
can't spell dirbaio without ai π
<danielb[m]>
"was developed using an extremely mature form of genetic algorithm"
<danielb[m]>
genetic algorithm is called biology
<danielb[m]>
to be fair it's often more compelling to blindly fiddle bits than to think, thinking is hard π£
<vollbrecht[m]>
my old electronics prof coined this nice term for how we should call this working method: "monkey circuits analysis". And i today still often use this advanced technique :D
jistr has joined #rust-embedded
Danilo[m] has quit [Quit: Idle timeout reached: 172800s]