reduce post_addr_delay

The original post_addr_delay (the delay after changing the ABCD(E)
address lines) was pretty long, for two reasons: First, the initial
timing numbers were chosen conservatively without regard to
performance; and second, because they were originally chosen
assuming a high PIO clock rate but we lowered the PIO clock to
2.7MHz.

Together this made the delay a huge 185us!

The new value of 5 is about 1.8us instead; this gives a nice
increase in FPS from 88 to 120 on my 128x128 (4 lane, 6/2 plane)
setup, without any visible artifacts.
This commit is contained in:
Jeff Epler 2025-03-13 09:34:19 -05:00
parent ac6b65f23b
commit 8e69092434

View file

@ -19,7 +19,7 @@ struct adafruit_matrix_bonnet_pinout {
static constexpr uint32_t post_oe_delay = 0;
static constexpr uint32_t post_latch_delay = 0;
static constexpr uint32_t post_addr_delay = 500;
static constexpr uint32_t post_addr_delay = 5;
};
struct adafruit_matrix_bonnet_pinout_bgr {
@ -37,7 +37,7 @@ struct adafruit_matrix_bonnet_pinout_bgr {
static constexpr uint32_t post_oe_delay = 0;
static constexpr uint32_t post_latch_delay = 0;
static constexpr uint32_t post_addr_delay = 500;
static constexpr uint32_t post_addr_delay = 5;
};
struct active3_pinout {
@ -56,7 +56,7 @@ struct active3_pinout {
static constexpr uint32_t post_oe_delay = 0;
static constexpr uint32_t post_latch_delay = 0;
static constexpr uint32_t post_addr_delay = 500;
static constexpr uint32_t post_addr_delay = 5;
};
struct active3_pinout_bgr {
@ -75,7 +75,7 @@ struct active3_pinout_bgr {
static constexpr uint32_t post_oe_delay = 0;
static constexpr uint32_t post_latch_delay = 0;
static constexpr uint32_t post_addr_delay = 500;
static constexpr uint32_t post_addr_delay = 5;
};
} // namespace piomatter