Scott Shawcroft
6ad860a963
Merge pull request #2101 from matthewnewberg/display_io_dither
...
Add random dithering to ColorConverter
2019-09-09 10:11:07 -07:00
Scott Shawcroft
d9e0641606
Set dither default to False and document it
2019-09-08 21:30:52 -07:00
Matthew Newberg
8e55232492
Use kwargs for dither in ColorConverter constructor
2019-09-06 16:23:24 -04:00
Matthew Newberg
b2fb5ac1c1
Fix comment on color converter
2019-09-06 16:11:15 -04:00
Matthew Newberg
4604a69498
Move dither parameter to ColorConverter constructor and parameter
2019-09-05 21:55:45 -04:00
Scott Shawcroft
949f8761b8
Add .hidden to TileGrid and Group
...
This allows for one to preserve ordering within a Group while
hiding something temporarily.
Fixes #1688
2019-09-03 16:15:27 -07:00
Matthew Newberg
d87bfaf480
Add random dithering to ColorConverter
2019-08-31 22:07:09 -04:00
Scott Shawcroft
bea77c651a
Minor renames
2019-08-26 16:37:59 -07:00
Scott Shawcroft
7324b70a7c
Rework based on Dan's review
2019-08-23 15:27:21 -07:00
Scott Shawcroft
72e7ffa324
More cleanup
2019-08-22 16:16:09 -07:00
Scott Shawcroft
f2a1972ba8
Add refresh_time to use if busy_pin is not given
2019-08-22 14:23:33 -07:00
Scott Shawcroft
3a98de1236
Add reset() to display busses to detect whether it works
2019-08-22 14:23:33 -07:00
Scott Shawcroft
24b30965c4
Refresh ePaper displays once code.py is done running
2019-08-22 14:23:32 -07:00
Scott Shawcroft
36a23e0fe3
Rework refresh API and factor common display stuff out
...
NOT TESTED! Just compiles
Fixes #1691
2019-08-22 14:23:27 -07:00
Scott Shawcroft
c247e7df9c
Begin refresh rework.
2019-08-22 14:08:33 -07:00
Scott Shawcroft
70680d5b22
EPaper displays work mostly.
2019-08-22 14:08:33 -07:00
Scott Shawcroft
8fa8737465
Initial ePaper work
2019-08-22 14:08:32 -07:00
Dave Astels
99a3da3b60
Get rid of the last bits of array dependancy
2019-08-21 15:24:39 -04:00
Dave Astels
d547d59cba
Merge remote-tracking branch 'adafruit/master' into displayio_fill_area
2019-08-21 15:02:51 -04:00
Dave Astels
8bbab01316
Remove unneeded lines
2019-08-21 13:57:52 -04:00
Dave Astels
56aad056da
getting the buffer info should happen first (due to its check)
2019-08-20 17:00:24 -04:00
Dave Astels
eb0a8cc0bf
Move the get_buffer call earlier
2019-08-20 13:48:12 -04:00
Dave Astels
0fd886fa7f
Remove array cast
2019-08-20 13:45:58 -04:00
Dave Astels
f3d476aad8
Remove temporarily comments code
2019-08-20 12:25:56 -04:00
Dave Astels
53bb95a023
Rework to simplify
2019-08-20 10:05:41 -04:00
Dave Astels
10bc0d29d1
Switch to positional parameters
2019-08-20 10:05:09 -04:00
Dave Astels
2b7897cded
Fix typo
2019-08-20 10:03:36 -04:00
Dave Astels
7a235f3746
Simplify to only extracting one line
...
Since this was the usecase, doing so simplifies the function significantly.
2019-08-16 21:10:09 -04:00
Jeff Epler
32a6d36405
shared-bindings: Use RUN_BACKGROUND_TASKS
2019-08-11 08:53:02 -05:00
Dave Astels
239ad19765
Pass in preallocated result buffer
2019-08-07 15:27:43 -04:00
Dave Astels
263f6f439b
Remove obsolete experimental property
2019-08-07 15:27:04 -04:00
Scott Shawcroft
26f64dd8ec
Merge remote-tracking branch 'adafruit/4.1.x' into merge_in_410
2019-08-05 17:53:08 -07:00
Dave Astels
cd092df9d8
Merge remote-tracking branch 'adafruit/master' into displayio_fill_area
2019-07-31 18:46:41 -04:00
Dave Astels
1f9cb44fa3
Expose rotation with a property
2019-07-31 15:00:21 -04:00
Dave Astels
741cd9c40a
Get fill_area working
2019-07-31 12:47:32 -04:00
Scott Shawcroft
af8cfbedfb
Add knobs for SSD1322 and two fixes.
...
* Fix terminal clear after first successful code.py run.
* Fix transmitting too many bytes for column constraint with single
byte bounds.
2019-07-25 15:41:12 -07:00
Dave Astels
b6178c9d85
WIP on exposing fill_area
2019-07-25 15:05:30 -04:00
Scott Shawcroft
1d1b8703b6
Review feedback including NO_BRIGHTNESS_COMMAND macro
2019-07-19 16:11:13 -07:00
Scott Shawcroft
6797ec6ed3
Add support for grayscale displays that are < 8 bit depth.
...
This also improves Palette so it stores the original RGB888 colors.
Lastly, it adds I2CDisplay as a display bus to talk over I2C. Particularly
useful for the SSD1306.
Fixes #1828 . Fixes #1956
2019-07-19 16:06:11 -07:00
Scott Shawcroft
4a6bdb6fe4
Track a dirty area for in-memory bitmaps
...
This fixes the bug that bitmap changes do not cause screen updates
and optimizes the refresh when the bitmap is simply shown on the
screen. If the bitmap is used in tiles, then changing it will
cause all TileGrids using it to do a full refresh.
Fixes #1981
2019-07-18 16:47:28 -07:00
Scott Shawcroft
745ff8f8c1
Fix Group subscr to detect delete correctly
...
Fixes #1957
2019-07-02 18:15:23 -07:00
Craig Forbes
db74b92e77
Fix displayio.Display docstring type for display_bus.
...
Add docs for group parameter for Display.show.
2019-06-18 16:59:05 -05:00
Scott Shawcroft
4013bcde9e
Add baudrate to FourWire and shorten delay.
2019-06-17 17:48:05 -07:00
Scott Shawcroft
6f6dcafd90
Minor tweaks based on Dan's feedback
2019-06-13 00:34:19 -07:00
Scott Shawcroft
eb21fc3e31
Add partial display update support.
...
Different operations to the display tree have different costs. Be
aware of these costs when optimizing your code.
* Changing tiles indices in a TileGrid will update an area
covering them all.
* Changing a palette will refresh every object that references it.
* Moving a TileGrid will update both where it was and where it moved to.
* Adding something to a Group will refresh each individual area it
covers.
* Removing things from a Group will refresh one area that covers all
previous locations. (Not separate areas like add.)
* Setting a new top level Group will refresh the entire display.
Only TileGrid moves are optimized for overlap. All other overlaps
cause sending of duplicate pixels.
This also adds flip_x, flip_y and transpose_xy to TileGrid. They
change the direction of the pixels but not the location.
Fixes #1169 . Fixes #1705 . Fixes #1923 .
2019-06-12 11:32:39 -07:00
sommersoft
9e4396bdcd
Merge pull request #1920 from tannewt/fix_rst
...
Improve rST consistency for rst2pyi use
2019-06-07 23:41:00 -05:00
Scott Shawcroft
cfe24b8532
Improve rST consistency for rst2pyi use
2019-05-30 19:02:47 -07:00
Scott Shawcroft
3fad7de8db
Rework the pixel computation to use areas
...
This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(#1169 ). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.
2019-05-21 17:41:06 -07:00
Scott Shawcroft
5608e273a0
Add index and remove to Group.
2019-05-15 11:33:16 -07:00
Scott Shawcroft
b7b55e0c0a
Make Group iterable via a generic native iterator.
...
Fixes #1694
2019-05-14 15:15:23 -07:00