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:
@@ -7,7 +7,9 @@ enum class CycleMode : uint8_t {
|
||||
Random = 0,
|
||||
Chronological = 1,
|
||||
ReverseChronological = 2,
|
||||
FavoritesWeighted = 3
|
||||
FavoritesWeighted = 3,
|
||||
WeightedChronological = 4,
|
||||
WeightedReverseChronological = 5
|
||||
};
|
||||
|
||||
enum class ImageQuality : uint8_t {
|
||||
@@ -54,8 +56,13 @@ struct Settings {
|
||||
String date_fmt; // strftime-style, default "%Y-%m-%d"
|
||||
String time_fmt; // strftime-style, default "%H:%M:%S"
|
||||
|
||||
// Image pipeline
|
||||
uint8_t pipeline_mode; // 0=dynamic, 1=balanced, 2=none
|
||||
uint8_t dither_noise; // 1=blue noise dither smoothing ON, 0=OFF
|
||||
|
||||
// Device
|
||||
uint8_t led_brightness;
|
||||
uint8_t show_battery; // 1 = show battery indicator on display
|
||||
uint32_t queue_cursor;
|
||||
String albums_json;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user