Commit Graph

13457 Commits

Author SHA1 Message Date
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
Scott Shawcroft a06a97e2cb
Merge pull request #1934 from dhalbert/vm-computed-goto
Turn on MICROPY_OPT_COMPUTED_GOTO for 5x CPU-bound speedup
2019-06-12 11:25:43 -07:00
Dan Halbert ba1b36a800 Uncomment vm.c SUPEROPT (debugging typo); trim a few builds 2019-06-12 13:09:09 -04:00
Dan Halbert 1bb4fccc3b Turn off SUPEROPT on gc.c instead of trying to squueze inline limit so much; reorganize mpconfigboard.mk files 2019-06-12 11:08:22 -04:00
Dan Halbert 0b3f29780a shrink a bunch of builds to fit 2019-06-11 18:46:06 -04:00
Dan Halbert aa3316b619 Merge remote-tracking branch 'adafruit/master' into vm-computed-goto 2019-06-11 18:01:04 -04:00
Dan Halbert 541c2a70ac
Merge pull request #1938 from dhalbert/4.0.x-merge-to-master-2019-06-11
Merge latest 4.0.x changes to master
2019-06-11 17:43:22 -04:00
Dan Halbert 4fc189b60c Merge latest 4.0.x fixes into master 2019-06-11 16:16:29 -04:00
Dan Halbert 036e7a332b
Merge pull request #1936 from dhalbert/git-checkout-latest-tag.sh
forgot tools/git-checkout-latest-tag.sh in PR #1909
2019-06-11 16:11:56 -04:00
Dan Halbert 5164a6eb26 forgot tools/git-checkout-latest-tag.sh in PR #1909 2019-06-11 15:22:32 -04:00
Dan Halbert ea760c042b Turn on MICROPY_OPT_COMPUTED_GOTO for 5x CPU-bound speedup 2019-06-11 12:43:48 -04:00
Scott Shawcroft c85e111675
Merge pull request #1931 from LOGre/master
Added pin for SD CS
2019-06-10 16:41:03 -07:00
shazz 9c49af0597 Added pin for SD CS 2019-06-08 12:04:27 -04: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 fecd3f835b
Merge pull request #1928 from dhalbert/gc-display-objects
Include display objects in gc
2019-06-06 15:47:10 -07:00
Dan Halbert 62de2506e4 Include display objects in gc. 2019-06-06 17:49:32 -04:00
Scott Shawcroft 84e89146d0
Merge pull request #1893 from elvis-epx/ps2
Add PS/2 support with ps2io module
2019-06-06 10:24:04 -07:00
Scott Shawcroft a6ad332436
Merge pull request #1927 from baorepo/patch-1
This __init__.h should be redundant. I deleted it for you
2019-06-06 08:36:01 -07:00
Baozhu Zuo f45daae09c
This __init__.h should be redundant. I deleted it for you 2019-06-06 15:44:29 +08:00
Scott Shawcroft 8f57841593
Merge pull request #1926 from C47D/fix_wav_samplerate
[shared-module/audioio/WaveFile.h] Change sample_rate from uint16_t t…
2019-06-05 10:07:08 -07:00
Carlos 671178c8c4 [shared-module/audioio/WaveFile.h] Change sample_rate from uint16_t to uint32_t so it matches the sample rate type parsed from the WAV header format, fix #1922 2019-06-04 21:31:30 -05:00
Elvis Pfützenreuter 1da8d4b4da Add PS/2 support -- ps2io module 2019-06-04 18:05:46 -03:00
Scott Shawcroft c90ce2b9fa
Merge pull request #1907 from ntavish/blip_support
boards: add support for Electronut labs Blip
2019-06-04 13:32:27 -07:00
Tavish Naruka 4a7122d354 boards: add support for Electronut labs Blip
Signed-off-by: Tavish Naruka <tavishnaruka@gmail.com>
2019-06-05 00:49:29 +05:30
Scott Shawcroft c5a4e19d6f
Merge pull request #1915 from jreese/rst2pyi
Use rst2pyi to generate type stubs and package
2019-06-04 11:39:03 -07:00
John Reese e8521c8379 Clean up egg-info directory as well 2019-06-02 15:12:29 -07:00
John Reese f831d84435 Update maintainer/email for stub package, bump rst2pyi dep 2019-06-02 15:08:48 -07:00
Dan Halbert bcda5e133d
Merge pull request #1903 from tannewt/get_area
Rework the pixel computation to use areas
2019-05-31 21:27:06 -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 cfe24b8532
Improve rST consistency for rst2pyi use 2019-05-30 19:02:47 -07:00
Scott Shawcroft cbb102f541
Merge pull request #1909 from dhalbert/update-frozen-4.0.x
Update frozen libs; implement clean builds for translations which need it
2019-05-30 13:51:12 -07:00
Dan Halbert 812a31c78f
Merge pull request #1916 from jpecor/patch-2
Removed warning box regarding SAMD21 builds
2019-05-28 09:16:34 -04:00
Dan Halbert 71c7aca29c Add top-level Makefile target to update frozen libs easily; Update CPX lib 2019-05-28 09:09:00 -04:00
Jason Pecor a9a2227167
Removed warning box regarding SAMD21 builds
The support matrix shows that pulseio is supported for all SAMD21/SAMD51 variants. Removing warning to avoid confusion.
2019-05-27 14:08:19 -05:00
John Reese 7f7665c1c0 Use rst2pyi to generate type stubs and package 2019-05-25 21:32:06 -07:00
Dan Halbert 4e85c1ef91 Implement forced clean builds for boards so designated.
Mark boards that set CFLAGS_INLINE_LIMIT for particular langauges as needing clean builds.

Fixes #1910.
2019-05-24 15:32:24 -04:00
Dan Halbert e84f3b1c6a make crickit cpx pinyin build fit 2019-05-23 21:22:50 -04:00
Dan Halbert b5fc646e3d Update frozen libs 2019-05-23 16:16:14 -04:00
Scott Shawcroft 63b253c33a
Merge pull request #1906 from adafruit/4.0.x
Merge in all bug fixes from 4.0.1 into master
2019-05-22 15:23:24 -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 32b0f1c78e
Merge pull request #1904 from pewpew-game/4.0.x
Bump circuitpython-stage to 1.0.2
2019-05-22 12:54:16 -07:00
Radomir Dopieralski 9ae3d92179 Bump circuitpython-stage to 1.0.2
This fixes an OverflowError in the read_palette function.

(cherry picked from commit 4ebcca865c)
2019-05-22 18:58:09 +02: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 70e0b5c0d0
Merge pull request #1896 from dhalbert/round-int-4.0.x
Enable MICROPY_PY_BUILTINS_ROUND_INT; make round() work better when flag is disabled
2019-05-21 13:55:38 -07:00
Dan Halbert 0199d9810b Make pinyin fit on cpx 2019-05-21 15:18:56 -04:00
Dan Halbert da77eedafa Enable MICROPY_PY_BUILTINS_ROUND_INT; make round() work beter when it's disabled as well 2019-05-17 15:56:40 -04:00
Scott Shawcroft aae7cb3eb0
Merge pull request #1894 from adafruit/tannewt-patch-5
Auto-build pygamer
2019-05-17 12:40:07 -07:00
Scott Shawcroft c9a87eb7fd
Auto-build pygamer 2019-05-17 11:02:18 -07:00
Dan Halbert 2abf99aa32
Merge pull request #1892 from dhalbert/pid-errors-4.0.x
correct USB PIDs for several boards
2019-05-16 10:56:30 -04:00
Dan Halbert 008bbc944c correct USB PIDs for several boards 2019-05-16 10:54:15 -04:00