Optionally slow down or eliminate pwnagotchi.png updates. server web UI from memory instead of file#369
Closed
Sniffleupagus wants to merge 2 commits intojayofelony:noaifrom
Closed
Optionally slow down or eliminate pwnagotchi.png updates. server web UI from memory instead of file#369Sniffleupagus wants to merge 2 commits intojayofelony:noaifrom
Sniffleupagus wants to merge 2 commits intojayofelony:noaifrom
Conversation
…other number is delay between saves
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
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.
When using larger DummyDisplay (480x720), saving the png file takes resources. Serving from memory is quicker.
Description
Added an optional config parameter "png_period" that is the time period between saving the UI to the file in /var/tmp/pwnagotchi. View.py stores the current UI image in a "_show_canvas" variable, and adds get_current_image(self) that returns it, making it easy for plugins to access the full UI image as ui.get_current_image().
Handler.py ui(self) gets the image using get_current_image() and serves it to flask through a BytesIO() stream instead of by file access.
Motivation and Context
Pwnagotchi UI should continue to work, even if zram gets wonky.
With large DummyDisplays, the file IO can be significant, especially with other services using the sd card (wardriver, display-password, etc).
How Has This Been Tested?
Tested on several pwnies in the no-png-file branch. This PR is just the minor changes needed to reduce the PNG updates.
Types of changes
Checklist:
git commit -s