Skip to content

2.0.0: read RV565 format version 7 - #4

Merged
Circuit-Overtime merged 1 commit into
mainfrom
v7
Nov 11, 2026
Merged

Circuit-Overtime merged 1 commit into
mainfrom
v7

Conversation

@Circuit-Overtime

Copy link
Copy Markdown
Contributor

Brings in the version 7 reader from elixpo/rv565#44 (ports/circuitpython). Tagging 2.0.0 after this merges also updates the CircuitPython Community Bundle, which follows this repo's release tags.

What changes

  • All nine pixel formats, the stored and zlib codecs, and keyframe, XOR delta and repeat frames are read and validated as the format requires. Version 6 files still read.
  • Player shows rgb565be, rgb565le, gray8, gray4 and mono. DirectPlayer sends rgb565be and rgb666 (COLMOD 0x66). Both skip repeat frames.
  • Clip.frame() now returns one reused frame buffer; copy it with bytes() to keep it.
  • The README gains a version 7 section with the formats each player shows and memory notes.
  • Tests run against the RV565 conformance files (copied into tests/data and licensed in REUSE.toml) and against a copy of the CPython reference, tests/rv565_reference.py, which ruff excludes.

Tested

  • python3 -m unittest discover -s tests: 73 tests pass.
  • Ruff was not cleaned up here. Main already had 13 ruff findings, and the version 7 code adds similar ones (too many arguments, imports inside functions).
  • Not run on a board yet. On a Pico 2 with an ST7789, check:
    • a delta clip through Player;
    • a gray4 or mono clip;
    • rgb666 through DirectPlayer.

Release after elixpo/rv565#44, as 2.0.0, so every RV565 channel has the same version.

Brings in the version 7 reader from elixpo/rv565 ports/circuitpython: all
nine pixel formats, stored and zlib codecs, keyframe, XOR delta and repeat
frames, validated as the format requires. Player shows rgb565be, rgb565le,
gray8, gray4 and mono; DirectPlayer sends rgb565be and rgb666. Tests check
every conformance vector (copied into tests/data) against the CPython
reference (tests/rv565_reference.py). The version 7 paths have not yet run
on a board.
@read-the-docs-community

Copy link
Copy Markdown

Documentation build overview

📚 circuitpython-rv565 | 🛠️ Build #35821054 | 📁 Comparing b7c13c7 against latest (806fbd0)

  🔍 Preview build  

3 files changed
± api.html
± genindex.html
± index.html

@Circuit-Overtime
Circuit-Overtime merged commit 0be0224 into main Nov 11, 2026
1 of 3 checks passed
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
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.

1 participant