Skip to content

Code changes for Picade Max 128x32 Interstate 75 marquee#8

Open
elaurijssens wants to merge 4 commits into
Gadgetoid:feature/i75from
elaurijssens:feature/i75zlib
Open

Code changes for Picade Max 128x32 Interstate 75 marquee#8
elaurijssens wants to merge 4 commits into
Gadgetoid:feature/i75from
elaurijssens:feature/i75zlib

Conversation

@elaurijssens
Copy link
Copy Markdown

  • Interstate 75 code now uses hub75 instead of hub75_legacy library.
  • added optional data compression for higher frame rates when displaying animated gifs
  • small code fixes

It took a while to pull the zlib library into the project. The pngdec library contains some zlib code as well but not all, so I decided to get it from the source. Not sure if this is the way to go, but here we are.

@Gadgetoid
Copy link
Copy Markdown
Owner

Awesome stuff, thank you! Saw your animations in action in the Discord and they're ✨slick ✨

The zlib addition might also be very relevant to @criggs interests 👀

@elaurijssens
Copy link
Copy Markdown
Author

You're welcome 😄

I built it locally against SDK 2.0 so I guess you can add that bump to version 2.0.0 as well.

@criggs
Copy link
Copy Markdown
Contributor

criggs commented Sep 30, 2024

Oh, I'm definitely going to look at this! Strangely, USB hubs can't handle fully saturated USB 1.1 speeds without some throughput degradation on each hub hop. Some might see that as a reason not to build a video wall with 16 dedicated rp2040 controllers running at slower than USB 1.1 speeds.... I was going to call it good enough and let it be a bit janky, now it can be a bit less janky!

@elaurijssens
Copy link
Copy Markdown
Author

elaurijssens commented Sep 30, 2024

The code that writes the data to my single i75 controller is here:

https://github.com/elaurijssens/pixel-multiverse

in matrix.py at line 90 you can check out how sending compressed data works.

There's a demo here: https://youtu.be/TLCHtcdh-D8?si=r7995v4sXlCT2t_4

@Gadgetoid
Copy link
Copy Markdown
Owner

It might be worth vendoring https://github.com/bitbank2/zlib_turbo in lieu of Zlib, if it's faster/leaner in this use case. We could potentially get even more frames.

@elaurijssens
Copy link
Copy Markdown
Author

I tried getting zlib_turbo to run but I'm running into issues where the i75 crashes for no apparent reason. I must be doing something quite wrong but there's so much to do and so little time so I've settled for zlib for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants