Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P4 experimental #211

Merged
merged 104 commits into from
Jan 5, 2025
Merged

Conversation

troyhacks
Copy link
Collaborator

Updating code to latest

troyhacks and others added 30 commits September 15, 2023 14:37
…eed issues with SM8, Scaledemo1 and Hot_Blob
gave me 1-3 extra FPS on -S3 with 128x64
small speedup by declaring some functions "const"
allows the compiler to inline access to ledsrgb[] , while still keeping the "no buffer" case in a separate function so program size does not blow up.

--> up to 10% faster
* avoid black spots
* better randomness on esp32
* new mode "FreqMap" (checkbox) - blob location follows major frequency
* new mode "GEQ scanner" (checkbox) - blob location based on GEQ band

--> looks cool with Pinwheel or Bar or Arc mapping
--> will be even better with the new Waterfall mapping mode
I've checked the code - nothing preventing the effect to run with SEGLEN=1
This is a platform feature that asks forgiveness for PROGMEM misuse:
it adds a handler such that incorrectly used PROGMEM will work without
crashing, just really, *really* inefficiently.

Given that most of our real-world use cases for PROGMEM strings are
relatively infrequent text calls, we can err on the side of developer
convenience and address performance problems if and when they arise.
softhack007 and others added 29 commits December 12, 2024 14:50
* BusManager::show(): explicitly wait until the bus driver is idle (done by NPB show, too, but in a different way)
* BusManager::removeAll(): use delay() instead of yield() - yield() does _not_ free the processor on esp32!
* made timing calculations work with large led counts
* improve randomness by injecting esp_random()
* ripple 2D: avoid ugly artifacts, by limiting circles to on-screen coordibnates
* duplicate use of ID "heart"
* "& " --> "& "
* missed changes in simple UI
The official spelling is 'Wi-Fi'
build_flags were still using "old style" HUB75 flags
* re-organized default_env by board type
* added a note saying if HUB75 support is included
* esp32 buildenv cleanup (removed not used flags)
* env:esp32_4MB_PSRAM_M deleted
* flash usage statistics
you should

first) perform the "bootloader repair" as described in https://learn.adafruit.com/adafruit-matrixportal-s3/factory-reset#factory-reset-and-bootloader-repair-3107941

second) upload partitions.bin and firmware.bin created by the _tinyUF2 build
BusNetwork stores original colors (not modified by global brightness), so `restoreColorLossy(strip.getPixelColor(i), stripBrightness);`  was actually restoring brightness twice when running network output. This lead to preview flickering.
this was accidentally committed - doesn't hurt, but the code should only be active with WLED_DEBUG
…xels

This disables bus caching (and related speedups) while receiving realtime UDP pixels.

Its still totally unclear to me what happens, and why disabling the cache solves problems.
- busses: ignore not valid bus instances
- "use main segment only": prevent flickering du to intermitted strip.service().
continue searching for busses in slowMode
If the source never sends the push flag, WLED buffers the update but
never publishes it to the LEDs.  This causes the confusing case where
the peek display shows one thing but the LEDs themselves something else.

Add a static flag that tracks if we've seen a push from the source;
until we do, apply every update as soon as it's received, per the DDP
specification.
same issue as with Aircoookie#4386
waiting on bus to finish updating before file access fixes the glitches.
this issue is only present on S2 and C3, not on ESP8266 or dual-core ESPs, the fix is only applied for these two.
@troyhacks troyhacks merged commit a20de01 into MoonModules:P4_experimental Jan 5, 2025
3 checks passed
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.

8 participants