V3.20 Release - Array literals, bugfixes, and more

Here’s what’s new:

  • Array literals! This will be very handy for initial setup and data sets for sure. No GC, so it’s still important to re-use arrays. The new methods, arrayReplace and arrayReplaceAt can be used for setting/overwriting many elements an array at once.
  • rgb() calls with RGBW strips now use the white element, and have HDR support for APA102/SK9822 LEDs (RGBClock looks amazing!)
  • Fixed redirect in captive portal that was causing some operating systems and/or network setups to have problems.
  • Global variable limits are checked, and if you happen to run out (on V3 thats 255 of your own, plus pixelCount) you will get a nice error on that line instead of crashing.
  • Fixed a bug that would prevent entering setup mode (and clearing some other nonvolatile memory) if it was already in setup mode. It now works reliably, and the flashing pattern is consistent (always BLINK + 3 flashes).
  • Fix discovery flag setting in the recovery.html app
  • Added Multi-matrix mapper example
  • Command/Control - s will now act like clicking the Save pattern button.
  • Fixed some issues and improved responsiveness of the websocket connected indicator.
  • Fixed issues with open/unsecured WiFi network configuration. The lock icon shouldn’t show up for open networks, and the validation state handling of the passphrase field has been fixed.
  • Resets due to brownout (when detectable) no longer trigger loading fail-safe settings.
  • When fail-safe settings are loaded, a popup message will show up warning that this is the case.
  • Likewise, when a brownout was detected a popup message will warn about power issues.
  • You can use recovery.html if in setup mode (most of it, the online update won’t work since it’s not online)
  • Updated css library (bootstrap)
  • Updated docs for the new functions and array literals
  • Remove the fail-safe that would put PB in wifi setup mode when it restarts frequently. This caused more problems / headaches than it solved.
  • Holding the button during start / power on will enter WiFi setup mode. It will flash the orange status LED until you release the button.

We’re skipping v3.19, thank you to all the beta testers!


No rush, of course, but as @jeff noted in his twinkle code, the array literals are so handy that not using them is going to be a hardship, so when/if will 2.x get this? At some point we’re certainly going to have things that v3 does that v2 can’t (besides more room/space), but hopefully the PB language improvements will all be portable, right?

Yep, V2 is next. There’s important fixes for V3 here that I don’t want to delay, otherwise I’d try to release them at the same time.


where do i find the v3.2 update file? thanks

It’s downloaded when you update while the PB has internet access.

I never got around to using my HSVtoRGB function to get HDR but now I wish I had because the Wu lines and motion blur effects look amazing with the extra depth!