diff --git a/examples/triple_matrix_active3_simpletest.py b/examples/triple_matrix_active3_simpletest.py index 383696f..11f0160 100644 --- a/examples/triple_matrix_active3_simpletest.py +++ b/examples/triple_matrix_active3_simpletest.py @@ -31,7 +31,7 @@ pixelmap = simple_multilane_mapper(width, height, n_addr_lines, n_lanes) geometry = piomatter.Geometry(width=width, height=height, n_addr_lines=n_addr_lines, n_planes=10, n_temporal_planes=4, map=pixelmap, n_lanes=n_lanes) framebuffer = np.asarray(canvas) + 0 # Make a mutable copy matrix = piomatter.PioMatter(colorspace=piomatter.Colorspace.RGB888Packed, - pinout=piomatter.Pinout.Active3BGR, + pinout=piomatter.Pinout.Active3, framebuffer=framebuffer, geometry=geometry) diff --git a/src/include/piomatter/pins.h b/src/include/piomatter/pins.h index 3be6675..6e1b626 100644 --- a/src/include/piomatter/pins.h +++ b/src/include/piomatter/pins.h @@ -41,25 +41,6 @@ struct adafruit_matrix_bonnet_pinout_bgr { }; struct active3_pinout { - static constexpr pin_t PIN_RGB[] = {7, 27, 11, 10, 9, 8, 6, 5, 12, - 20, 13, 19, 3, 2, 14, 21, 16, 26}; - static constexpr pin_t PIN_ADDR[] = {22, 23, 24, 25, 15}; - static constexpr pin_t PIN_OE = 18; // /OE: output enable when LOW - static constexpr pin_t PIN_CLK = 17; // SRCLK: clocks on RISING edge - static constexpr pin_t PIN_LAT = 4; // RCLK: latches on RISING edge - - static constexpr uint32_t clk_bit = 1u << PIN_CLK; - static constexpr uint32_t lat_bit = 1u << PIN_LAT; - static constexpr uint32_t oe_bit = 1u << PIN_OE; - static constexpr uint32_t oe_active = 0; - static constexpr uint32_t oe_inactive = oe_bit; - - static constexpr uint32_t post_oe_delay = 0; - static constexpr uint32_t post_latch_delay = 0; - static constexpr uint32_t post_addr_delay = 5; -}; - -struct active3_pinout_bgr { static constexpr pin_t PIN_RGB[] = {11, 27, 7, 8, 9, 10, 12, 5, 6, 19, 13, 20, 14, 2, 3, 26, 16, 21}; static constexpr pin_t PIN_ADDR[] = {22, 23, 24, 25, 15}; @@ -78,4 +59,23 @@ struct active3_pinout_bgr { static constexpr uint32_t post_addr_delay = 5; }; +struct active3_pinout_bgr { + static constexpr pin_t PIN_RGB[] = {7, 27, 11, 10, 9, 8, 6, 5, 12, + 20, 13, 19, 3, 2, 14, 21, 16, 26}; + static constexpr pin_t PIN_ADDR[] = {22, 23, 24, 25, 15}; + static constexpr pin_t PIN_OE = 18; // /OE: output enable when LOW + static constexpr pin_t PIN_CLK = 17; // SRCLK: clocks on RISING edge + static constexpr pin_t PIN_LAT = 4; // RCLK: latches on RISING edge + + static constexpr uint32_t clk_bit = 1u << PIN_CLK; + static constexpr uint32_t lat_bit = 1u << PIN_LAT; + static constexpr uint32_t oe_bit = 1u << PIN_OE; + static constexpr uint32_t oe_active = 0; + static constexpr uint32_t oe_inactive = oe_bit; + + static constexpr uint32_t post_oe_delay = 0; + static constexpr uint32_t post_latch_delay = 0; + static constexpr uint32_t post_addr_delay = 5; +}; + } // namespace piomatter