Skip to content

Update versions, simplify build, add RGBColor struct#434

Open
richardjm wants to merge 6 commits into
pixelit-project:developfrom
richardjm:user/richard/updates
Open

Update versions, simplify build, add RGBColor struct#434
richardjm wants to merge 6 commits into
pixelit-project:developfrom
richardjm:user/richard/updates

Conversation

@richardjm
Copy link
Copy Markdown

Updated all the libraries, rationalized versions between esp32 and esp8266
Updated the json usage to take into account the jump in versions
Moved version into the the .ini file to save having to rewrite the whole .ino file every build
Introduced an RGBColor struct to reduce repeated code and removed unused functions

Also a suspected bug in switchanimation handling in CreateFrames()
Made a helper inline due to differences in ws.SendText() between esp32 and esp8266
Called pixelit_version for minimal chance of a clash
And in the darkness bind them, together in one simple implementation
@richardjm
Copy link
Copy Markdown
Author

I started this work as I am investigating run length encoding compression in the json and I find a good way to learn code is to get it building and experimenting. That work is even more in draft than this

I believe this should be safe but I've yet to upload it to my d1_mini pixelit. I also don't have all the varied peripherals but most of that code is largely untouched.

@foorschtbar
Copy link
Copy Markdown
Member

Look good, thank you for your work on this. When you have a stable build we will test it. We had also a small beta tester group where we can share this.

I saw that you changed many of the json stuff, what is the background? (containsKey vs. type check for example)

if (json["temperatureUnit"].is<int>())

@richardjm
Copy link
Copy Markdown
Author

richardjm commented Apr 21, 2026

Look good, thank you for your work on this. When you have a stable build we will test it. We had also a small beta tester group where we can share this.

I saw that you changed many of the json stuff, what is the background? (containsKey vs. type check for example)

if (json["temperatureUnit"].is<int>())

This was part of the breaking api changes moving from v5 to v7 of ArduinoJson. I would like to have put unit tests in place but I didn't want to make the PR too unwieldy.

I think a lot of the .as<> can be removed as they are implicit, but again would make the PR even larger.

https://arduinojson.org/v7/how-to/upgrade-from-v5/

@foorschtbar
Copy link
Copy Markdown
Member

@richardjm should we merge this? Its still a draft

@richardjm richardjm marked this pull request as ready for review May 21, 2026 06:10
@richardjm
Copy link
Copy Markdown
Author

If you're happy to kick the tyres on it, feel free. I've not tried it myself yet.

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.

2 participants