Skip to content
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

protomatter: Update to version that supports tiling #4068

Merged
merged 6 commits into from
Jan 27, 2021

Conversation

jepler
Copy link
Member

@jepler jepler commented Jan 26, 2021

Update to a version of Protomatter that supports tiling. This requires adafruit/Adafruit_Protomatter#32 be merged upstream.

Testing performed: None yet, just that the matrixfeather firmware builds.

@jepler jepler marked this pull request as draft January 26, 2021 17:05
 * Introduce explicit serpentine: bool argument instead of using negative
   numbers (thanks, ghost of @tannewt sitting on one shoulder)
 * Fix several calculations of height

Testing performed (matrixportal):
 * set up a serpentine 64x64 virtual display with 2 64x32 tiles
 * tried all 4 rotations
 * looked at output of REPL
This was hard to write, so let's have it written in 2 places instead
of 4.
@jepler
Copy link
Member Author

jepler commented Jan 26, 2021

@PaintYourDragon if you care to do testing: matrixportal-tiled.zip

Code for creating a 64x64 display from two 32x64 displays in serpentine arrangement:

import displayio
import board
import rgbmatrix
import framebufferio

width = 64
height = 64
bit_depth = 3

addr_pins = [board.MTX_ADDRA, board.MTX_ADDRB, board.MTX_ADDRC, board.MTX_ADDRD]
rgb_pins = [
    board.MTX_R1,
    board.MTX_G1,
    board.MTX_B1,
    board.MTX_R2,
    board.MTX_G2,
    board.MTX_B2,
]
clock_pin = board.MTX_CLK
latch_pin = board.MTX_LAT
oe_pin = board.MTX_OE

displayio.release_displays()

matrix = rgbmatrix.RGBMatrix(
                width=width,
                height=height,
                bit_depth=bit_depth,
                rgb_pins=rgb_pins,
                addr_pins=addr_pins,
                clock_pin=clock_pin,
                latch_pin=latch_pin,
                output_enable_pin=oe_pin,
                tile=2, serpentine=True,
            )
display = framebufferio.FramebufferDisplay(matrix)

@dhalbert dhalbert changed the title protmatter: Update to version that supports tiling protomatter: Update to version that supports tiling Jan 26, 2021
tannewt
tannewt previously approved these changes Jan 26, 2021
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! Thanks for the update!

@jepler jepler marked this pull request as ready for review January 26, 2021 22:28
@jepler jepler force-pushed the update-protomatter-tiling branch from 8bd9b90 to 189ec2f Compare January 26, 2021 22:51
Copy link
Member

@gamblor21 gamblor21 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested using two 32x64 matrices with the Matrix portal. Worked fine in serpentine True and False. Reviewed the files and looks good to me.

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@tannewt tannewt merged commit 45b3c9a into adafruit:main Jan 27, 2021
@ladyada
Copy link
Member

ladyada commented Jan 27, 2021

🐍 🐍 🐍 🐍 🐍
🐍 🐍 🐍 🐍 🐍
🐍 🐍 🐍 🐍 🐍
🐍 🐍 🐍 🐍 🐍

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.

4 participants