Commit Graph

132 Commits

Author SHA1 Message Date
Dan Halbert 243334da75 Merge remote-tracking branch 'adafruit/master' into ble-pairing 2019-08-05 23:06:24 -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
Dan Halbert ee518b9141 Merge remote-tracking branch 'adafruit/master' into ble-pairing 2019-07-31 11:22:48 -04:00
Dan Halbert 91d791afd0 cleanup adapter.address; add uniquish suffix to BLE device name 2019-07-31 00:30:24 -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
Scott Shawcroft 8ec2d6ce49
Merge pull request #2007 from hierophect/F4xx-port-setup
Add STM32 Discovery F412ZG and F411RE support
2019-07-24 18:49:48 -07:00
hathach 5d03cda01a whitespace 2019-07-24 16:49:13 +07:00
hathach c921f6637f update tinyusb lib to 0.5.x 2019-07-24 16:46:31 +07:00
Hierophect f65404cc05 Cleanup missed items 2019-07-22 13:08:55 -04:00
Hierophect 58630a844a Add feature conditionals and clean up 2019-07-22 12:58:28 -04: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
Hierophect 734012aa8b Makefile cleanup 2019-07-18 17:55:57 -04:00
Hierophect 755b86e38b Deinit-capable USB on 411 2019-07-18 17:17:46 -04:00
Hierophect 43e8a4110f Add missing files for DigitalIO 2019-07-17 14:18:01 -04:00
Scott Shawcroft 6fad383367
Merge pull request #1925 from C47D/rgb_status
Initial support for RGB led as Status indicator, fixes #1382
2019-07-09 10:31:34 -07:00
C47D 40fbac13cd [rgb status] Adjust to current brightness 2019-07-08 22:06:43 -05:00
C47D 324cbe4327 [rgb status] Also invert the pwm values on clear_temp_status 2019-07-07 21:15:51 -05:00
C47D fae1039401 [rgb led status] Add CP_RGB_STATUS_PWM_INVERTED symbol to invert pwm signals. 2019-07-06 16:50:48 -05:00
Scott Shawcroft 5610e05b8c
Fix up nrf so that it is initialized properly. Also, do not reset
it's pins.
2019-07-06 12:48:16 -07:00
Hierophect 040acc3a32 remove dependencies for stable build 2019-07-01 19:47:10 -04:00
Hierophect 94a2eff05c remove build, fix link issues) 2019-06-28 19:22:23 -04:00
Hierophect 16ba035ba7 first commit, very crude 2019-06-28 15:36:08 -04:00
Scott Shawcroft 2004be96ac
Properly reset the terminal each init.
Fixes #1944
2019-06-26 17:36:30 -07:00
Craig Forbes 99bcb4e2a4 Create a /lib directory when creating the filesystem. 2019-06-14 15:41:32 -05: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
Carlos 9de46f3edd [supervisor/shared/rgb_led_status.c] Initial support for RGB led as Status 2019-06-04 21:22:38 -05: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
Dan Halbert dae8b21bb9
Merge pull request #1869 from tannewt/fix_programmatic_safe_mode
Update `on_next_reset` for new safe mode.
2019-05-09 23:03:39 -04:00
Scott Shawcroft b87565138e
Rework safe mode so we can trigger on all resets 2019-05-09 10:15:28 -07:00
Scott Shawcroft 837d3f57ee
Update `on_next_reset` for new safe mode.
Fixes #1831
2019-05-08 15:23:40 -07:00
Terri Oda a9b05d37d7 Make status light flash blue for incompatible mpy (fixes #1369) 2019-05-08 11:54:08 -07:00
Scott Shawcroft 796fc3f5ab
Update font location and shrink a bunch of builds 2019-04-12 15:25:48 -07:00
hexthat a123cdc5ac
Update supervisor.mk 2019-04-12 12:55:55 -07:00
Radomir Dopieralski 1eede2d1e3 Allow overriding the font per board definition
This way boards with smaller screens can use smaller fonts
2019-04-12 12:09:53 +02:00
Scott Shawcroft 0f003ac5b8
Reorganize board busses into shared-bindings and shared-module. 2019-04-08 16:58:50 -07: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
Dan Halbert 4f201964a6 Merge remote-tracking branch 'adafruit/master' into usb-disconnect 2019-04-05 11:11:31 -04:00
Dan Halbert e5e9d2ba47 @hathach's changes; check cdc connected during string write 2019-04-04 18:58:35 -04:00
hathach 9d43a25d6e update tinyusb to fix disconnect/suspend issue with #1681 2019-04-04 17:59:20 -04: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
Scott Shawcroft ceb6f2e4fc
Rework flash flush so it preserves the cache
This should make filesystem writes quicker and cause less heap
churn.
2019-04-03 18:28:27 -07:00
Scott Shawcroft a5520f8a3d
Set the terminal tilegrid NULL after free
Without this, a double free can occur when a display (and terminal)
is released and then a crash occurs. Upon a second release,
different memory is released (sometimes the heap). When this is
followed by an allocation for the flash cache, the cache can
overwrite the active heap causing crashes.

Fixes #1667
2019-04-03 15:24:15 -07:00
Scott Shawcroft 503642e794
Make status LED brightness change immediate.
Fixes #1516
2019-03-26 16:43:35 -07:00
Scott Shawcroft 2c93ce5a28
Merge pull request #1672 from dhalbert/regular-fs-flush
flush flash filesystem once a second
2019-03-26 13:47:43 -07:00
Dan Halbert 2229f17911 reset flush timer on call to filesystem_flush() 2019-03-25 20:42:08 -04:00
Dan Halbert 2459eabd66 flush flash filesystem once a second 2019-03-20 12:21:36 -04: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
Scott Shawcroft a086631607
Long live shared bus singletons
Without long living them you may clone them when long living a
module that uses them.

Fixes #1603
2019-03-14 15:17:53 -07:00