Repository navigation
Partial delta frames and band shifts - #5
Merged
Merged
Conversation
Read partial deltas, including per-band shifts: the index checks band height, mask, shifts and stored size; decoding inflates only the changed bands, predicts shifted bands from a one-band scratch copy and XORs the residuals in place. Clip.changed_lines() matches the reference and Clip.dirty_lines() merges it across skipped frames. DirectPlayer sends one row window and write per run of changed bands; Player copies only the changed rows into the bitmap (readinto into a scratch band, then bitmaptools.blit), so displayio refreshes only that area. PlayStats.rows_updated counts rows drawn. Updates tests/data/v7 (53 valid, 29 invalid vectors) and tests/rv565_reference.py from github.com/elixpo/rv565.
Documentation build overview
|
adafruit-adabot
pushed a commit
to adafruit/CircuitPython_Community_Bundle
that referenced
this pull request
Nov 13, 2026
Updating https://github.com/elixpo/CircuitPython_RV565 to 2.0.0 from 1.2.0: > Partial delta frames and band shifts (elixpo/CircuitPython_RV565#5) > 2.0.0: read RV565 format version 7 (elixpo/CircuitPython_RV565#4) > Merge pull request elixpo/CircuitPython_RV565#3 from elixpo/docs/write-ups-and-submissions > Merge pull request elixpo/CircuitPython_RV565#2 from elixpo/docs/oreo-family > Merge pull request elixpo/CircuitPython_RV565#1 from elixpo/ci/release-permissions Updating https://github.com/adafruit/CircuitPython_Community_Bundle/circuitpython_community_auto_library_list.md to NA from NA: > Added the following libraries: CircuitPython_ERDI_LRF
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.
Brings in partial deltas (frame type 3, one shift per band) from elixpo/rv565#45 (
ports/circuitpython).What changes
Clip.changed_lines()andClip.dirty_lines().DirectPlayersends only the changed rows, with one ST7789 row window per run.Playercopies only the changed rows into the bitmap, so displayio refreshes only that area.PlayStats.rows_updated.tests/data/v7andtests/rv565_reference.pyare refreshed from rv565 (53 valid and 29 invalid files).Tested
python3 -m unittest discover -s tests: 86 tests pass. They include a fake panel that replays CASET/RASET/RAMWR and must match every frame, while partial frames send exactly the changed rows.bitmaptools.blitdirty areas;Release with the other channels as 2.0.0.