Scott Shawcroft
0d1649880f
Add grayscale EInk support
2020-10-26 16:59:59 -07:00
Jensen
fc3f2a3f7f
displayio: Remove trailing whitespace
2020-10-16 20:05:39 -05:00
Jensen Kuras
575b2e607b
Merge branch 'main' into color-converter-transparency
2020-10-16 19:55:24 -05:00
Jensen
74c07a4bdc
displayio: Add in opaque pixel option for future
2020-10-16 19:50:41 -05:00
Jeff Epler
88d07ef35b
displayio: further ensure just one start_terminal call
...
@cwalther determined that for boards with 2 displays (monster m4sk),
start_terminal would be called for each one, leaking supervisor heap
entries.
Determine, by comparing addresses, whether the display being acted on
is the first display (number zero) and do (or do not) call start_terminal.
stop_terminal can safely be called multiple times, so there's no need
to guard against calling it more than once.
Slight behavioral change: The terminal size would follow the displays[0]
size, not the displays[1] size
2020-10-15 15:24:19 -05:00
Jensen
3c5a08628a
Merge branch 'color-converter-transparency' of github.com:jensechu/circuitpython into color-converter-transparency
2020-10-14 21:52:49 -05:00
Jensen
2517e4b486
displayio: ColorConverter handle if opaque color is black
2020-10-14 21:51:40 -05:00
Jensen Kuras
de9ea47e8e
Merge branch 'main' into color-converter-transparency
2020-10-12 20:48:55 -05:00
Jensen
337019626a
displayio: Add make_transparent to ColorConverter
2020-10-12 20:48:04 -05:00
Jensen
b359e2945a
displayio: Add make_transparent and make_opaque to ColorConvertor
2020-10-12 20:48:04 -05:00
Jensen
57b44928a3
displayio: Pass transparent_color to ColorConverter
...
Signed-off-by: Jensen <jensechu@gmail.com>
2020-10-12 20:48:04 -05:00
Jeff Epler
774f2e16ba
displayio, framebufferio: Remove spurious call to supervisor_start_terminal
...
A call to supervisor_start_terminal remained in
common_hal_displayio_display_construct and was copied to other display
_construct functions, even though it was also being done in
displayio_display_core_construct when that was factored out.
Originally, this was harmless, except it created an extra allocation.
When investigating #3482 , I found that this bug became harmful,
especially for displays that were created in Python code, because it
caused a supervisor allocation to leak.
I believe that it is safe to merge #3482 after this PR is merged.
2020-10-11 21:09:08 -05:00
Limor "Ladyada" Fried
9535edb8f4
Merge pull request #3507 from jepler/issue3506-matrixportal-crash
...
displayio: Fix matrixportal crash
2020-10-02 22:16:32 -04:00
Jeff Epler
b1592564b2
displayio: Fix matrixportal crash
...
An RGBMatrix has no bus and no bus_free method. It is always possible
to refresh the display.
This was not a problem before, but the fix I suggested (#3449 ) added
a call to core_bus_free when a FramebufferDisplay was being refreshed.
This was not caught during testing.
This is a band-aid fix and it brings to light a second problem in which
a SharpDisplay + FrameBuffer will not have a 'bus' object, and yet does
operate using a shared SPI bus. This kind of display will need a
"bus-free" like function to be added, or it can have problems like
#3309 .
2020-10-02 15:07:36 -05:00
Scott Shawcroft
be6e6eabd2
Merge pull request #3449 from FoamyGuy/sdcard_odb_fix
...
Sdcard odb fix
2020-10-01 10:13:13 -07:00
FoamyGuy
422a7d4013
remove remaining top level displayio background check
2020-09-30 17:25:58 -05:00
FoamyGuy
d1bda47d94
removing top level displayio background check
2020-09-30 14:03:03 -05:00
Mark Roberts
ef245ef54e
Removed redundant subrectangle sizing code
2020-09-30 11:06:13 -07:00
Mark Roberts
9f19a8a760
Ran pre-commit locally
2020-09-30 11:06:13 -07:00
mdroberts1243
b1e1237887
Merge branch 'main' into New_quirk_for_SH1107
2020-09-28 19:40:47 -04:00
Mark Roberts
b921543571
Requested changes take 1
2020-09-25 21:27:29 -04:00
Mark Roberts
19dbff67f2
Fixed page set mask to be four bits!
2020-09-25 00:26:39 -04:00
Mark Roberts
06a3d15266
Mostly-working-version with comments
2020-09-24 22:07:33 -04:00
Mark Roberts
5a176c2c67
Removed redundant send of page setting
2020-09-22 13:41:25 -04:00
root
dbf8a9ad69
Changed delay calls to avoid conflicts with qspi_disable
2020-09-22 10:25:31 -05:00
Mark Roberts
5536e574db
Changes to compile cleanly
2020-09-21 22:08:16 -04:00
Mark Roberts
08189edf24
Quirk coded up for ...set_region_to_update
2020-09-21 21:07:42 -04:00
FoamyGuy
ff1a90a9c3
Merge branch 'adafruit_main' into sdcard_odb_fix
2020-09-21 17:58:05 -05:00
Mark Roberts
f21dc253e0
Initial commit bool column_and_page_addressing
2020-09-21 18:42:16 -04:00
Lucian Copeland
e504438fd2
Remove unlicensed file, fix reset pin type check
2020-09-14 11:58:13 -04:00
Lucian Copeland
ecc219fe50
Merge remote-tracking branch 'upstream/main' into esp32-displayio-fix
2020-09-14 10:44:31 -04:00
FoamyGuy
e114b5ab54
fixes showing OnDiskBitmap with adafruit_sdcard
2020-09-11 21:37:00 -05:00
Kevin Matocha
37e85aebd2
Fix off-by-one error, simplify the logic, add comments
2020-09-10 21:34:03 -05:00
Lucian Copeland
f95ad7b27c
Fix reset pin null reference, construct error null reference
2020-09-10 15:37:43 -04:00
Kevin Matocha
d600759bc8
Utilize MIN and MAX functions from py/misc.h
2020-09-08 20:02:34 -05:00
Kevin Matocha
297b7195b0
Delete unnecessary comment
2020-09-04 22:03:57 -05:00
Kevin Matocha
95db456a7e
Add final newline
2020-09-04 14:23:53 -05:00
Kevin Matocha
9edad9ea85
Delete trailing blank lines from Shape.c
2020-09-04 14:21:49 -05:00
Kevin Matocha
f7714649ee
Add dirty rectangle tracking to Shape display element
2020-09-04 14:15:15 -05:00
Kevin Matocha
fc513956be
Update refresh to force immediate redraw with display.refresh() or display.refresh(target_frames_per_second=None), even with auto_refresh=False
2020-09-01 09:36:29 -05:00
Scott Shawcroft
1527a3ce92
Merge remote-tracking branch 'adafruit/main' into add_pwmio
2020-08-24 18:25:18 -07:00
Kevin Matocha
a9f6d147c4
Merge adafruit/main latest
2020-08-21 14:37:32 -05:00
Kevin Matocha
7e529ed4c5
Merge with latest adafruit/main
2020-08-21 14:28:24 -05:00
Kevin Matocha
3753ea3cd8
Merge remote-tracking branch 'source/main' into main
2020-08-21 14:19:58 -05:00
Kevin Matocha
24ca133396
Updating main to adafruit/main
2020-08-21 14:19:28 -05:00
Scott Shawcroft
5771be9510
Merge pull request #3292 from jepler/allocate_display_bus_bug
...
allocate_display_bus: fix bug where in-use bus would be returned
2020-08-21 11:19:50 -07:00
Scott Shawcroft
6857f98426
Split pulseio.PWMOut into pwmio
...
This gives us better granularity when implementing new ports because
PWMOut is commonly implemented before PulseIn and PulseOut.
Fixes #3211
2020-08-18 13:08:33 -07:00
Jeff Epler
f2f18da189
Fix build error for !SHARPDISPLAY
2020-08-18 10:59:55 -05:00
Jeff Epler
0bec39118f
displayio: Don't need to specialcase reset of sharpdisplay framebuffer
...
.. for the case where the bus was not in use
2020-08-18 09:32:28 -05:00
Jeff Epler
6d2d36db3d
Finish implementing scott's suggestion
2020-08-17 21:09:21 -05:00
Jeff Epler
6425a411ca
Update shared-module/displayio/__init__.c
...
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2020-08-17 21:07:24 -05:00
Jeff Epler
1ccd2e234f
allocate_display_bus: fix bug where in-use bus would be returned
2020-08-17 10:48:23 -05:00
Kevin Matocha
fc1347ac2a
deleted whitespace
2020-08-14 13:37:06 -05:00
Kevin Matocha
ba5dedc1df
deleted whitespace
2020-08-14 13:37:06 -05:00
Kevin Matocha
b1fce9e933
Deleted trailing whitespace
2020-08-14 13:36:59 -05:00
Kevin Matocha
a66ef32da2
Added inclusive indexing for x2,y2, fixed default value handling for x1,y1, added bitmap palette comparison
2020-08-14 13:15:01 -05:00
Margaret Matocha
824f47d6e9
Added bitmap.blit function for bitmap slice copy
2020-08-14 12:59:57 -05:00
Margaret Matocha
4ba9ff892c
Added bitmap.blit function for copying slices of bitmaps
2020-08-14 12:59:48 -05:00
Jeff Epler
759ded9c38
Fix build errors when SHARPDISPLAY && !RGBMATRIX
2020-08-12 07:39:12 -05:00
Jeff Epler
c1400bae9b
sharpmemory: Implement support for Sharp Memory Displays in framebufferio
2020-08-12 07:32:18 -05:00
Margaret Matocha
b6008d0032
Adding bitmap.insert to copy a slice of a source bitmap into another bitmap
2020-08-07 15:59:42 -05:00
Margaret Matocha
64c9baa6aa
Added bitmap.insert function for slice copy into a bitmap from another bitmap
2020-08-07 15:46:00 -05:00
Jeff Epler
c243c13f02
framebufferio: Handle auto refresh flag at reset
...
if we don't set the flag via accessor fn the tick enable might become wrong
2020-07-20 08:52:35 -05:00
Jeff Epler
af520729fe
displayio, framebufferio: Enable supervisor tick when a display is auto-refresh
...
This is a step towards restoring the efficiency of the background
tasks
2020-07-15 09:26:47 -05:00
Jeff Epler
fcddfd0f39
Merge pull request #3083 from tannewt/esp32s2_busio
...
Add busio support for the ESP32-S2
2020-07-01 21:02:08 -05:00
Scott Shawcroft
ed6e81d688
Switch SPI to polling DMA and enable displayio
2020-06-24 13:10:08 -07:00
DavePutz
058c16e98c
Issue #3014 - refresh after changing to transparent
...
Adding self->needs_refresh = true; in common_hal_displayio_palette_make_opaque() and common_hal_displayio_palette_make_transparent()
2020-06-10 17:11:28 -05:00
Diego Elio Pettenò
dd5d7c86d2
Fix up end of file and trailing whitespace.
...
This can be enforced by pre-commit, but correct it separately to make it easier to review.
2020-06-03 10:56:35 +01:00
warriorofwire
58c8e00745
vectorio: clean up after group removal
...
VectorShape tells the Group to redraw whatever it left behind when it is removed now.
2020-05-10 15:36:23 -07:00
warriorofwire
6660311a96
vectorio: respect display transpose and mirror.
...
VectorShape now just uses the Group's and Display's absolute transforms.
2020-05-10 14:18:13 -07:00
warriorofwire
4086600b61
vectorio: switch per-shape transform to Display
...
Rather than maintain a transform per-shape, we'll just use whatever
settings are on the Display. Currently only transpose is done.
2020-05-09 22:15:51 -07:00
warriorofwire
206d0e598a
Add vectorio: for drawing shapes
...
vectorio builds on m4 express feather
Concrete shapes are composed into a VectorShape which is put into a displayio Group for display.
VectorShape provides transpose and x/y positioning for shape implementations.
Included Shapes:
* Circle
- A radius; Circle is positioned at its axis in the VectorShape.
- You can freely modify the radius to grow and shrink the circle in-place.
* Polygon
- An ordered list of points.
- Beteween each successive point an edge is inferred. A final edge closing the shape is inferred between the last
point and the first point.
- You can modify the points in a Polygon. The points' coordinate system is relative to (0, 0) so if you'd like a
top-center justified 10x20 rectangle you can do points [(-5, 0), (5, 0), (5, 20), (0, 20)] and your VectorShape
x and y properties will position the rectangle relative to its top center point
* Rectangle
A width and a height.
2020-05-09 15:38:22 -07:00
hierophect
c311b5c002
Merge pull request #2842 from hierophect/stm32-h7-displayio
...
STM32: Add displayio to F7/H7
2020-05-05 12:37:08 -04:00
Lucian Copeland
61b0994631
Fix flag typo
2020-05-01 14:46:06 -04:00
Lucian Copeland
4f71bd295d
Make PulseIO optional within DisplayIO
2020-04-30 14:47:50 -04:00
Scott Shawcroft
bebf27e733
Merge remote-tracking branch 'adafruit/master' into lower_power
...
This isn't perfect and needs a bit more testing.
2020-04-20 18:25:13 -07:00
Jeff Epler
5fcc6d6286
RGBMatrix: finish renaming from Protomatter
...
This gets all the purely internal references. Some uses of
protomatter/Protomatter/PROTOMATTER remain, as they are references
to symbols in the Protomatter C library itself.
2020-04-17 18:44:07 -05:00
Jeff Epler
3d6258f63d
Rename Protomatter -> RGBMatrix
...
This is a quick rename, it changes the user-facing names but not the
internal names of things.
2020-04-17 18:43:57 -05:00
Jeff Epler
a32337718d
Rename _protomatter -> protomatter
...
I originally believed that there would be a wrapper library around it,
like with _pixelbuf; but this proves not to be the case, as there's
too little for the library to do.
2020-04-17 18:43:57 -05:00
Scott Shawcroft
b580b34cbf
Merge remote-tracking branch 'adafruit/master' into lower_power
2020-04-14 17:14:44 -07:00
Jeff Epler
d8362ef654
displayio: swap colors in palettes too
...
.. change the in-rom palette to be in RGB565 order
2020-04-14 18:25:00 -05:00
Jeff Epler
5dae23c0e7
protomatter: release the protomatter object during release_displays()
2020-04-14 18:24:58 -05:00
Jeff Epler
1f3821220e
fix build for non-displayio & non-protomatter targets
2020-04-14 18:24:58 -05:00
Jeff Epler
3a94412cd3
protomatter: more memory allocation fixes
...
- bump supervisor alloc count by 4 (we actually use 5)
- move reconstruct to after gc heap is reset
- destroy protomatter object entirely if not used by a FramebufferDisplay
- ensure previous supervisor allocations are released
- zero out pointers so GC can collect them
2020-04-14 18:24:58 -05:00
Jeff Epler
09dc46a984
Add Protomatter and FramebufferDisplay
2020-04-14 18:24:54 -05:00
Jeff Epler
8cba145c90
displayio: implement, use allocate_new_display_bus_or_raise
2020-04-14 18:24:54 -05:00
Jeff Epler
6378d600c4
displayio: implement, use allocate_display_or_raise
2020-04-14 18:24:54 -05:00
caternuson
a9fb34eb93
make packed word and copy it in
2020-04-13 16:48:27 -07:00
caternuson
dc75746842
add docstring, clean up
2020-04-09 08:59:26 -07:00
caternuson
49fff2d9b4
initial working fill
2020-04-09 08:43:50 -07:00
Scott Shawcroft
4ee6754ccd
Save backlight_on_high correctly.
...
Fixes #2750
2020-04-08 10:32:54 -07:00
Scott Shawcroft
8fe512c7e9
Merge remote-tracking branch 'adafruit/master' into lower_power
2020-03-31 15:13:58 -07:00
Jeff Epler
54e8c63b4f
Merge pull request #2730 from tannewt/fix_fourwire_phase_polarity
...
Add polarity and phase to FourWire.
2020-03-28 07:28:37 -05:00
siddacious
9e0c00dfd4
adding a backlight polarity flag to Display
2020-03-25 22:51:20 -07:00
Scott Shawcroft
6b7acc65b6
Add polarity and phase to FourWire.
...
It was fixed as 0/0 even though it used to get it from the current
SPI state. This makes it more explicit with kwargs.
Thanks to magpie_lark and kmatocha on the Adafruit Support forum
for finding the issue: https://forums.adafruit.com/viewtopic.php?f=60&t=162515
2020-03-25 11:22:46 -07:00
Scott Shawcroft
6f60afe8c5
First try at lowering the power consumption
2020-03-13 11:12:30 -07:00
Lucian Copeland
3c86005546
Implement requested changes
2020-01-28 17:11:25 -05:00
Lucian Copeland
70932cab42
Simplify the flash-display conflict fix
2020-01-24 14:33:28 -05:00
Lucian Copeland
2afca4e942
Fix flash-display conflict error
2020-01-24 14:25:36 -05:00
Jeff Epler
a63da7a6c0
displayio: make 'rotation' property settable
2019-12-16 15:23:41 -06:00