-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Optimized parsing in interfaceCmd.c and parseACK.c + configurable M109/M190 #2156
Merged
Conversation
This file contains 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
kisslorand
reviewed
Sep 3, 2021
digant73
changed the title
Optimized parsing performance in interfaceCmd.c and parseACK.c + code…
Optimized parsing in interfaceCmd.c and parseACK.c + configurable M109/M190
Sep 3, 2021
Wow @digant73 you already implemented the encoder scroll? |
rotary encoder is now supported in both List/Icon modes |
Awesome! Huge thanks to you!! |
In
Is this intentional or is something missing? I am trying to implement this now and this doesn't make sense. |
yes, it is correct |
jeffeb3
pushed a commit
to V1EngineeringInc/BIGTREETECH-TouchScreenFirmware
that referenced
this pull request
Nov 10, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
IMPROVEMENTS:
Optimized parsing code in interfaceCmd: Reduced the use of array indexing and used length of the key for a fast check on the buffer and matching/not matching conditions
Optimized parsing code in parseAck: Reduced conditions in the parsing functions to avoid as much as possible continue checks on the validity of the array elements (e.g. != 0). Used length L2 cache and key for a fast check on matching/not matching conditions. Major benefits are present when searching a key in the middle of L2 cache
Code reduction: Due to optimizations above
Configurable feature "emulated M109/M190": New param "emulated_m109_m190" added in config.ini to enable/disable M109/M190 emulated with M104/M140
Added rotary encoder support on List menu (list/icon menu): Rotary encoder can be used to navigate (page up/down) on any List menu without the need to use the page up/down buttons.
NOTE: As for all the other menus supporting rotary encoder, the button on rotary encoder MUST/CAN NOT be used to apply an action on a list item (e.g. select the file to print). That's due to the HW shared with mainboard (Rotary encoder is physically connected to the mainboard and any press on rotary button will have effects also on Marlin menu).
To apply an action on the item, you MUST continue to apply a touch on the screen
Minor cleanup in config.ini: Forgot to apply the following param rename in my prevoius PR:
rotate_ui -> rotated_ui
block_touch_on_idle -> lcd_lock_on_idle
Minor cleanup
BUGFIXES / FR:
fixes #2153
resolves #1974
resolves #2151