Commit Graph

55 Commits

Author SHA1 Message Date
Matthew Newberg 4604a69498 Move dither parameter to ColorConverter constructor and parameter 2019-09-05 21:55:45 -04:00
Matthew Newberg d87bfaf480 Add random dithering to ColorConverter 2019-08-31 22:07:09 -04:00
Scott Shawcroft 7324b70a7c
Rework based on Dan's review 2019-08-23 15:27:21 -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
Dave Astels 99a3da3b60 Get rid of the last bits of array dependancy 2019-08-21 15:24:39 -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
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
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
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 f29de51325
Check native object in case of early access
If a native displayio object is accessed before it's super().__init__()
has been called, then a placeholder is given that will cause a crash if
accessed. This is tricky to get right so we detect this case and raise
a NotInplementedError instead of crashing.

Fixes #1881
2019-05-13 17:31:30 -07:00
Dan Halbert 0113e0970e add Display.__init__() args for brightness and auto_brightness 2019-04-18 15:59:16 -04:00
Dan Halbert 4fc0f8b25c Turn off auto_brightness if brightness is set 2019-04-18 13:57:27 -04:00
Scott Shawcroft 5028f87b09
Tweak pybadge and fix display bugs
* Update pybadge pins and flash for rev D
* TileGrid now validates the type of the pixel_shader.
* Display actually handles incoming subclass objects.
* MicroPython will inspect native parents to see if special
  accessors are used.
2019-04-09 18:32:52 -07:00
Radomir Dopieralski 4b3cb7b6db Expose displayio.Display.bus
With the bus exposed, we can send custom commands to the display, to
leverage advanced features specific to the display, which are not
exposed by default.
2019-04-06 14:25:08 +02:00
Melissa LeBlanc-Williams 8f1fc6c07d Added option to easily treat SPI parameter data as commands 2019-04-04 23:15:00 -07: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 c3329e224d Added Single Byte Boundaries option for certain displays 2019-03-24 23:59:28 -07:00
Melissa LeBlanc-Williams d9de1b9926 Updated RTD comment to reflect new param defaulting True 2019-03-24 08:23:46 -07:00
Melissa LeBlanc-Williams 0c33f7fdb4 Enable CS toggle for displayio by default 2019-03-23 20:23:23 -07:00
Melissa LeBlanc-Williams 2bb63cbeb3 Added new parameter description in displayio RTD comment 2019-03-23 18:53:04 -07:00
Melissa LeBlanc-Williams fadb5a1024 Added option to toggle cs in displayio init sequence 2019-03-23 18:34:42 -07:00
Dustin Mendoza 4145f87fcd changed from mp_int_t to uint16_t 2019-03-05 21:25:09 -08:00
Dustin Mendoza 9737a45b33 changed width and height to be properties 2019-03-02 14:50:10 -08:00
Dustin Mendoza f127be4dd2 added height and width attributes for displayio 2019-02-25 16:39:20 -08:00
Scott Shawcroft c17f147be9
A variety of displayio improvements
This changes a number of things in displayio:
* Introduces BuiltinFont and Glyph so the built in font can be used by libraries. For boards with
  a font it is available as board.TERMINAL_FONT. Fixes #1172
* Remove _load_row from Bitmap in favor of bitmap[] access. Index can be x/y tuple or overall index. Fixes #1191
* Add width and height properties to Bitmap.
* Add insert and [] access to Group. Fixes #1518
* Add index param to pop on Group.
* Terminal no longer takes unicode character info. It takes a BuiltinFont instead.
* Fix Terminal's handling of [###D vt100 commands used when up arrowing into repl history.
* Add x and y positions to Group plus scale as well.
* Add bitmap accessor for BuiltinFont
2019-02-11 20:55:05 -08:00
Scott Shawcroft 845783a457
Clarify rotation parameter 2019-02-01 09:33:33 -08:00
Scott Shawcroft 448ae64d8e
Add support for display rotation and raw commands
Display rotation is relative to the scan order of the display.
The scan order can be found by scrolling the display with command
0x37 `display_bus.send(0x37, struct.pack(">H", i % 128))`

Fixes #1504
2019-02-01 00:32:03 -08:00
Scott Shawcroft 354a26963b
Correctly handle no backlight pin. 2019-01-31 11:42:15 -08:00
Scott Shawcroft 2c069a5685
Polish up comments 2019-01-31 11:42:15 -08:00
Scott Shawcroft 6145f08cc8
Support adjustable backlight brightness 2019-01-31 11:42:14 -08:00
Scott Shawcroft 69bc5e189b
Rudamentary backlight support 2019-01-31 11:42:14 -08:00
Scott Shawcroft 1a1dbef992
Hook up the terminal based on the first display. 2019-01-31 11:42:14 -08:00
Scott Shawcroft b41d386d02
simplify arg checking for display 2019-01-18 17:04:18 -08:00