Commit Graph

13407 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