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

DO NOT MERGE - comparison only 0_15 vs 0.15.0 release branch #4316

Closed
wants to merge 83 commits into from

Conversation

netmindz
Copy link
Collaborator

No description provided.

DedeHai and others added 30 commits October 5, 2024 12:32
…ns to wled_math

- `sin16_t() / cos16_t()` are faster and more accurate than fastled versions
- `sin_approx() / cos_approx()` are float wrappers for `sin16_t() / cos16_t()` and are accurate enough to replace `sinf()/cosf()`
- `atan2()` is used only in octopus to calculate center offset, new approximated version saves flash
- `tan(), atan(), asin(), acos(), floor(), fmod()` are used only for sunrise/sunset calculation, using wled_math version saves flash
- `beatsinx()` replacements are to make use of new `sin16_t()/sin8_t()` functions to reduce flash size
- Extensively tested surnise/sunset calculation: deviation is 1min. max
- Tested some of the relevant FX and found no visual difference: Julia, 2D Drift, Drift Rose, Ghost rider, Rotozoomer, Palette, Arc 1D expansion
- total flash savings: 7.4k
approximation was incorrect, now doing it right.
also removed hypotf() from octopus, saving a little flash.
-replaced all PI references with M_PI version
-there is no need to do the angle-modulo in float, casting it to an integer does the same BUT it has to be cast to an `int` first, see comment.
Added a button to distribute the color markers in palette equally
… in the code/source files; fixed readme.md documents and updated instructions; removed referencies to old usermods; fixed invalid filenames; removed referencies to old usermods; checked cycle options; splitted and fixed platformio_override.sample.ini;
fixed back U8g2 version
this chip has 16MB or 32MB flash, and requires .memory_type = opi_opi
Add support for ESP32-S3 WROOM-2 (solves #4099)
Avoiding name collisions with the 'delay' function.
Fixed point calculation for improved accuracy, dithering in debug builds only.
Averaging and optional multiplier can be set as compile flags, example for speed testing with long averaging and a 10x multiplier:

-D FPS_CALC_AVG=200
-D FPS_MULTIPLIER=10

The calculation resolution is limited (9.7bit fixed point) so values larger than 200 can hit resolution limit and get stuck before reaching the final value.

If WLED_DEBUG is defined, dithering is added to the returned value so sub-frame accuracy is possible in post-processingwithout enabling the multiplier.
bitshift was still set from testing, forgot to update
dithering is not really needed, the FPS_MULTIPLIER is a much better option.
- rotation scale is now exactly 180° (divide slider input by 255 instead of 256)
- removed shift offset: offset is now zero at slider 0, to hit 128 on touch input devices is really hard
- added a 90° shift to input rotation, enabling to rotate from 0 to 180° instead of +90 to -90 (which is not useful in 1D)
- changed default settings values to more closely match the old 1D effect
- all palettes are defined in palettes.h
- access to fastled palettes as an array to remove the switch cases
- palette createn in json.cpp in a loop instead of repeaded calls to save flash
Don't generate a response if there's no HTTP request.

Fixes #4269
specified required nodejs version
netmindz and others added 29 commits November 25, 2024 23:00
Fix release name macro expansion
Keep selected FX visible while searching
fixed refs to removed usermod USERMOD_FOUR_LINE_DISPLAY
- speed improvement: by default M_TWOPI is treated as a double float
- directly calling sin16_t in cos_approx() saves a lot of overhead
Fix for #4300 - removal of color order override
While not used by most bus types, it's not an optional parameter.
Fix for #4321 - unclear use of comma operator
Fix missing clock setting introduce by #4312
fixed palette FX to more closely match original 1D version
…th incrementing number

- sin/cos calls with incrementing numbers can lead to bad outcomes, the functions (_approx or original sinf/cosf) return bad values for very large float inputs
Added integer based `sin()/cos()` functions, changed all trig functions to wled_math
Update settings_sec.htm [Fix the  warning text and Backup presets button misalignment]
xml comma bugfix + few string optimisations
Replaced single palette cases with an array to consolidate code
Added Distribute Horizontally for cpal
fixing an off-by-one error to solve #4335
Hotfix for #4335 - solves missed pixel problem in blends effect
@netmindz netmindz closed this Dec 3, 2024
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.