diff --git a/assets/images/displays/GDEQ031T10_display.png b/assets/images/displays/GDEQ031T10_display.png new file mode 100644 index 0000000..162a94c Binary files /dev/null and b/assets/images/displays/GDEQ031T10_display.png differ diff --git a/lib/constants/asset_paths.dart b/lib/constants/asset_paths.dart index 2ade366..8a67704 100644 --- a/lib/constants/asset_paths.dart +++ b/lib/constants/asset_paths.dart @@ -5,6 +5,8 @@ class ImageAssets { static const String blackBoard = 'assets/canvas/black.png'; static const String epaper37Bwr = 'assets/images/displays/epaper_3.7_bwr.webp'; + static const String GDEQ031T10Display = + 'assets/images/displays/GDEQ031T10_display.png'; static const String epaper37Bw = 'assets/images/displays/epaper_3.7_bw.webp'; static const String customExport = 'assets/images/displays/export_image.webp'; static const String waveshare2_9 = 'assets/images/displays/waveshare_2.9.png'; diff --git a/lib/image_library/utils/epd_utils.dart b/lib/image_library/utils/epd_utils.dart index 07b527c..6baf043 100644 --- a/lib/image_library/utils/epd_utils.dart +++ b/lib/image_library/utils/epd_utils.dart @@ -1,4 +1,5 @@ import 'package:magicepaperapp/util/epd/display_device.dart'; +import 'package:magicepaperapp/util/epd/gdeq031t10.dart'; import 'package:magicepaperapp/util/epd/gdey037z03.dart'; import 'package:magicepaperapp/util/epd/gdey037z03bw.dart'; import 'package:magicepaperapp/util/epd/waveshare_2in9.dart'; @@ -18,6 +19,8 @@ class EpdUtils { return Gdey037z03BW(); case 'waveshare-2.9': return Waveshare2in9(); + case 'GDEQ031T10': + return GDEQ031T10(); default: return Gdey037z03(); } diff --git a/lib/util/epd/gdeq031t10.dart b/lib/util/epd/gdeq031t10.dart new file mode 100644 index 0000000..819fbfc --- /dev/null +++ b/lib/util/epd/gdeq031t10.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; +import 'package:magicepaperapp/constants/asset_paths.dart'; +import 'package:magicepaperapp/util/epd/driver/uc8253.dart'; +import 'package:magicepaperapp/util/image_processing/image_processing.dart'; +import 'package:image/image.dart' as img; +import 'driver/driver.dart'; +import 'epd.dart'; + +class GDEQ031T10 extends Epd { + @override + get width => 320; + + @override + get height => 240; + + @override + String get name => 'E-Paper 3.1"'; + @override + String get modelId => 'GDEQ031T10'; + @override + String get imgPath => ImageAssets.GDEQ031T10Display; + + @override + get colors => [Colors.white, Colors.black]; + + @override + get controller => Uc8253() as Driver; + + @override + List get processingMethods => [ + ImageProcessing.bwFloydSteinbergDither, + ImageProcessing.bwFalseFloydSteinbergDither, + ImageProcessing.bwStuckiDither, + ImageProcessing.bwAtkinsonDither, + ImageProcessing.bwHalftoneDither, + ImageProcessing.bwThreshold, + ]; +} diff --git a/lib/view/display_selection_screen.dart b/lib/view/display_selection_screen.dart index 95bd78c..16294b5 100644 --- a/lib/view/display_selection_screen.dart +++ b/lib/view/display_selection_screen.dart @@ -4,6 +4,7 @@ import 'package:magicepaperapp/constants/string_constants.dart'; import 'package:magicepaperapp/provider/getitlocator.dart'; import 'package:magicepaperapp/util/epd/configurable_editor.dart'; import 'package:magicepaperapp/util/epd/display_device.dart'; +import 'package:magicepaperapp/util/epd/gdeq031t10.dart'; import 'package:magicepaperapp/util/epd/gdey037z03.dart'; import 'package:magicepaperapp/util/epd/gdey037z03bw.dart'; import 'package:magicepaperapp/util/epd/waveshare_2in9.dart'; @@ -26,6 +27,7 @@ class _DisplaySelectionScreenState extends State { Gdey037z03(), Gdey037z03BW(), Waveshare2in9(), + GDEQ031T10(), ConfigurableEpd( width: 400, height: 300,