fix: eliminate diagonal dither pattern from display driver
Root cause: Panel_ED2208's epd_quality mode applies _dither_row_rgb_pair (diagonal bias pattern with dither=140) during _exec_transfer(). Since our ImagePipeline already does proper Floyd-Steinberg dithering, the driver's additional dithering was creating visible diagonal artifacts. Fix: setEpdMode(epd_fastest) selects _dither_row_none (clean nearest-color lookup, no spatial bias). On Panel_ED2208 this only affects the dither function — NOT refresh quality or waveform. Also: default dither_noise setting to OFF since error scatter was targeting the wrong layer (it made gradient areas fuzzier without fixing the real problem in the display driver). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -101,6 +101,8 @@ void test_nearest_color_yellow();
|
||||
void test_dither_solid_black();
|
||||
void test_dither_solid_white();
|
||||
void test_dither_produces_valid_indices();
|
||||
void test_blue_noise_breaks_pattern_regularity();
|
||||
void test_blue_noise_dither_valid_indices();
|
||||
|
||||
void setUp() {}
|
||||
void tearDown() {}
|
||||
@@ -120,6 +122,8 @@ int main() {
|
||||
RUN_TEST(test_dither_solid_black);
|
||||
RUN_TEST(test_dither_solid_white);
|
||||
RUN_TEST(test_dither_produces_valid_indices);
|
||||
RUN_TEST(test_blue_noise_breaks_pattern_regularity);
|
||||
RUN_TEST(test_blue_noise_dither_valid_indices);
|
||||
UNITY_END();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user