forked from wled/WLED
-
-
Notifications
You must be signed in to change notification settings - Fork 123
Art-Net Improvements v2 #179
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
Merged
softhack007
merged 16 commits into
MoonModules:mdev
from
troyhacks:Art-Net-Improvements-v2
Nov 18, 2024
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
44c6a0d
Proper Art-Net Settings
troyhacks 732ae38
Art-Net P4 Tidy
troyhacks 3012272
Art-Net sane defaults if using an old config without the new values
troyhacks 3f02ba7
Art-Net Color Order Maps, RGBW
troyhacks e9ce495
P4 Assembly for Art-Net
troyhacks 7bf3f4a
Fixes for ESP8266
troyhacks c45820d
Merge branch 'MoonModules:mdev' into Art-Net-Improvements-v2
troyhacks e7fb8f5
IRAM_ATTR_YN for ES8266
troyhacks 05d441d
Review Fixes
troyhacks f096da3
Review Fixes
troyhacks 6b2c4ae
Code Review Fixes
troyhacks 9223b3c
Free BusNetwork _data on cleanup
troyhacks 3828d95
Minor indent fix
troyhacks b62a22e
Remove unused variable
troyhacks db3be85
Art-Net v2 code review changes
troyhacks 0fc22f8
Merge branch 'Art-Net-Improvements-v2' of https://github.com/troyhack…
troyhacks File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| #if defined(ARDUINO_ARCH_ESP32P4) | ||
| .text | ||
| .align 4 | ||
| .global p4_mul16x16 | ||
| .type p4_mul16x16,@function | ||
| # ESP32-P4 needs -march rv32imafc_zicsr_zifencei_xesppie -mabi ilp32f | ||
| # a0 = out_packet, a1 = brightness, a2 = num_loops, a3 = pixelbuffer | ||
| p4_mul16x16: | ||
| esp.movx.r.cfg t6 # Enable aligned data access | ||
| or t6, t6, 2 # Enable aligned data access | ||
| esp.movx.w.cfg t6 # Enable aligned data access | ||
| li t6, 8 # put 8 (eventually for vmul bitshift) in temp register 6 | ||
| esp.movx.w.sar t6 # set the numbers of bits to right-shift from t6 | ||
| li t5, 255 # load 255 into t5 for a comparison | ||
| esp.vldbc.8.ip q1, a1, 0 # load the "B" value into q1 from a1, broadcasting the same value to all 16 values of q1 | ||
| li t1, 0 # start our loop_num counter t1 at 0 | ||
| loop: # "loop" label | ||
| beq t1, a2, exit # branch to "exit" if loop_num == num_loops | ||
| esp.vld.128.ip q0, a3, 16 # load 16 "A" values into q0 from a3, then move the pointer by 16 to get a new batch | ||
| beq a1, t5, skip # If brightness (a1) == 255, jump to "skip" | ||
| esp.vmul.u8 q2, q0, q1 # C = A*B (q2 = q0 * q1) then >> by esp.movx.w.sar which we set to 8 | ||
| esp.vst.128.ip q2, a0, 16 # store the 16 "C" values into a0, then move the pointer by 16 | ||
| j end_skip # jump to "end_skip" | ||
| skip: # "skip" label | ||
| esp.vst.128.ip q0, a0, 16 # just store brightness (q0 from a3) to packet (a0) | ||
| end_skip: # "end_skip" label | ||
| addi t1, t1, 1 # increment loop_num counter t1 | ||
| j loop # jump to "loop" | ||
| exit: # "exit" label | ||
| ret # return | ||
| #endif |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.