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
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
Dan Halbert
6a001786a9
merge from master
2019-07-09 08:58:49 -04:00
Scott Shawcroft
13c3d06c6a
Merge pull request #1952 from tannewt/fixup_tilegrid_dirty
...
Fix TileGrid's dirty tracking when changing top left
2019-06-18 10:29:12 -07:00
Dan Halbert
1356819de1
Handle None for BLE name; fix ScanEntry bug; compile issue
2019-06-17 23:16:40 -04:00
Scott Shawcroft
4013bcde9e
Add baudrate to FourWire and shorten delay.
2019-06-17 17:48:05 -07:00
Scott Shawcroft
7490adf8e9
Use width for x. Thanks @deshipu
2019-06-17 16:23:38 -07:00
Scott Shawcroft
da3d75f7b1
Fix TileGrid's dirty tracking when changing top left
2019-06-17 16:23:37 -07:00
Scott Shawcroft
6f6dcafd90
Minor tweaks based on Dan's feedback
2019-06-13 00:34:19 -07:00
Scott Shawcroft
a35d9b469d
Refactor deinit check to reduce code size.
2019-06-12 11:36:43 -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
Dan Halbert
4fc189b60c
Merge latest 4.0.x fixes into master
2019-06-11 16:16:29 -04:00
Dan Halbert
62de2506e4
Include display objects in gc.
2019-06-06 17:49:32 -04:00
Scott Shawcroft
5d0791cafb
Fix off-by-one error
...
It caused the bottom and right edges to be one pixel short.
2019-05-31 15:50:55 -07:00
Scott Shawcroft
7a117f52ed
Make point 2 in areas exclusive and simplify full_coverage.
2019-05-22 15:00: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
00c39805f1
Remove old comment
2019-05-15 14:17:09 -07:00
Scott Shawcroft
5608e273a0
Add index and remove to Group.
2019-05-15 11:33:16 -07:00
Scott Shawcroft
e64bbc41ec
Handle -scale to 0 correctly in Group
...
Fixes #1839
2019-05-09 11:38:30 -07:00
Scott Shawcroft
f548305c07
Merge pull request #1815 from dhalbert/stop-flicker
...
Turn off auto_brightness if brightness is set
2019-04-18 15:48:39 -07:00
Dan Halbert
0113e0970e
add Display.__init__() args for brightness and auto_brightness
2019-04-18 15:59:16 -04:00
Scott Shawcroft
c372567330
Fix off by one error in OnDiskBitmap
...
It resulted in the first row of pixels being pulled for out of bounds.
Fixes #1801
2019-04-17 15:17:11 -07:00
Scott Shawcroft
72992070c5
Fix boards with no shared busses.
2019-04-09 11:36:10 -07:00
Scott Shawcroft
de48e4b262
Merge remote-tracking branch 'adafruit/master' into fix_cpx_display
2019-04-08 17:15:08 -07:00
Scott Shawcroft
0f003ac5b8
Reorganize board busses into shared-bindings and shared-module.
2019-04-08 16:58:50 -07:00
Radomir Dopieralski
8323721232
Stop hard-coding SPI frequency in FourWire
...
Instead remember and use the frequency, polarity and phase that was
set when the bus was first created.
2019-04-06 15:15:29 +02:00
Scott Shawcroft
7686f93ef4
Fix crash when getting board.SPI outside the VM
...
If one of the default pins was already in use it would crash.
The internal API has been refined to allow us to get the value
without causing an init of the singleton.
Fixes #1753
2019-04-05 19:06:37 -07:00
Melissa LeBlanc-Williams
97baa7899f
Added comment regarding parameter loop
2019-04-05 11:11:27 -07:00
Melissa LeBlanc-Williams
8f1fc6c07d
Added option to easily treat SPI parameter data as commands
2019-04-04 23:15:00 -07:00
Scott Shawcroft
6fcda1dec4
Support multi-byte values with Bitmap
...
It also corrects the behavior of single byte values.
Fixes #1744
2019-04-04 12:50:35 -07:00
caternuson
5298119aa2
change direction of shift right
2019-04-03 09:21:34 -07:00
Melissa LeBlanc-Williams
f1e4a2ffb9
Removed unnecessary bit-ANDing
2019-04-01 19:52:35 -07:00
Melissa LeBlanc-Williams
8b4ca24e56
Improved readability of Single Byte Bounds code
2019-03-31 14:17:54 -07:00
Melissa LeBlanc-Williams
8087cb41e5
Merge branch 'master' of https://github.com/adafruit/circuitpython into ssd1351-fix
2019-03-27 20:18:37 -07:00
Melissa LeBlanc-Williams
2e0268cb09
Simplified cs toggling into fourwire only
2019-03-27 20:17:22 -07:00
Melissa LeBlanc-Williams
f3ec0514cd
Simplified into fourwire only
2019-03-27 20:11:32 -07:00
Dan Halbert
374f210771
TileGrid: pixel_shader is not always a palette
2019-03-27 10:55:50 -04:00
Melissa LeBlanc-Williams
f4cede4747
Removed parameter so CS is always toggled
2019-03-26 18:46:13 -07:00
Melissa LeBlanc-Williams
b2ad16f5c8
Removed parameter so CS is always toggled
2019-03-26 18:34:07 -07:00
Melissa LeBlanc-Williams
a54493b4ae
Added small delay inside toggle for edge cases
2019-03-26 07:45:17 -07:00
Melissa LeBlanc-Williams
09a1f06bbf
Added small delay inside toggle for edge cases
2019-03-26 07:39:40 -07:00
Melissa LeBlanc-Williams
cc96c39e6d
Fixed wrong operator
2019-03-25 23:58:58 -07:00
Melissa LeBlanc-Williams
c3329e224d
Added Single Byte Boundaries option for certain displays
2019-03-24 23:59:28 -07:00
Melissa LeBlanc-Williams
b25c4baeec
Moving Toggle to before command fixes driver issue
2019-03-23 21:04:25 -07:00
Melissa LeBlanc-Williams
fadb5a1024
Added option to toggle cs in displayio init sequence
2019-03-23 18:34:42 -07:00
Dan Halbert
26262cd477
Merge pull request #1670 from tannewt/fontio
...
Move Glyph and BuiltinFont into fontio
2019-03-20 17:36:04 -04:00
Scott Shawcroft
9f3ca66f97
Merge pull request #1676 from pewpew-game/bug1671
...
Make displayio.Palette support more than 255 colors
2019-03-20 14:13:18 -07:00
Radomir Dopieralski
f5cfd6e1f1
Make displayio.Palette support more than 255 colors
...
Fix #1671
2019-03-20 20:36:05 +01:00
Scott Shawcroft
5e2fec714c
Move Glyph and BuiltinFont into fontio
...
It was confusing in displayio.
Fixes #1662
2019-03-19 16:22:09 -07:00