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
Dan Halbert
6a001786a9
merge from master
2019-07-09 08:58:49 -04:00
Scott Shawcroft
0cce7fcaa3
Merge remote-tracking branch 'adafruit/4.0.x' into merge_in_402
2019-06-27 14:06:26 -07:00
Scott Shawcroft
2494bfdc86
Validate raw code and mpy read length
2019-06-25 17:54:27 -07:00
Scott Shawcroft
330517bde9
Validate portions of mpy load to detect corruption
...
Fixes #1917
2019-06-25 15:39:33 -07:00
Dan Halbert
24ac1fdcab
WIP: backup only; not compiled
2019-06-19 21:54:28 -04:00
Dan Halbert
35b9191857
Don't operate directly on bleio objects in shared-bindings: use common_hal
...
routines instead. Changes made but not yet tested.
2019-06-18 23:46:20 -04:00
Dan Halbert
bed6d43a76
merge from upstream; WIP redo Address; no more AddressType
2019-06-13 21:55:07 -04: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
aa3316b619
Merge remote-tracking branch 'adafruit/master' into vm-computed-goto
2019-06-11 18:01:04 -04:00
Dan Halbert
4fc189b60c
Merge latest 4.0.x fixes into master
2019-06-11 16:16:29 -04:00
Dan Halbert
ea760c042b
Turn on MICROPY_OPT_COMPUTED_GOTO for 5x CPU-bound speedup
2019-06-11 12:43:48 -04:00
Dan Halbert
62de2506e4
Include display objects in gc.
2019-06-06 17:49:32 -04:00
Elvis Pfützenreuter
1da8d4b4da
Add PS/2 support -- ps2io module
2019-06-04 18:05:46 -03:00
Dan Halbert
613e12f99f
Replace Broadcaster with enhanced Peripheral
2019-06-03 20:40:05 -04: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
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
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
b7b55e0c0a
Make Group iterable via a generic native iterator.
...
Fixes #1694
2019-05-14 15:15:23 -07: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
8664a6574b
use approx of original @godlygeek code for smallints; add tests
2019-05-12 11:17:29 -04:00
Dan Halbert
d103ac1d63
Handle truth values; speed up smallint checks
2019-05-12 00:10:53 -04:00
Matt Wozniski
1d0c61642b
Reverse int to bytes buffer overflow conditionals
...
Rather than jumping to a label when an overflow is known to have
occurred, return early when one is known not to have.
2019-05-09 22:03:12 -04:00
Matt Wozniski
f325bd848b
Use OverflowError exception type for overflows
...
Initially I used one of the existing exception raise functions, but it's
more correct and not much more code to raise OverflowError instead.
2019-05-09 03:22:26 -04:00
Matt Wozniski
095c844004
Add overflow checks for int to bytes conversions
...
For both small and long integers, raise an exception if calling
struct.pack, adding an element to an array.array, or formatting an int
with int.to_bytes would overflow the requested size.
2019-05-09 03:22:25 -04:00
Scott Shawcroft
9ce042ad07
Merge pull request #1865 from terriko/mpy_error
...
Make status light flash blue for incompatible mpy (fixes #1369 )
2019-05-08 20:22:59 -04:00
Terri Oda
8d9c2f3e9d
Make MpyError a ValueError (since that's what it was before)
2019-05-08 13:58:31 -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
bec84f20ab
Merge pull request #1859 from scottbelden/tabbing
...
enter four spaces when there are no matches
2019-05-08 14:49:11 -04:00
scottbelden
786cb40073
enter four spaces when there are no matches
2019-05-07 13:55:20 -04:00
Kathryn Lingel
eb3cb4d99b
Fix tests and clarify first character access
2019-05-07 09:30:55 -07:00
Kathryn Lingel
54aa1ce6de
Filter private methods from tab completion
2019-05-06 12:16:29 -07:00
Scott Shawcroft
54ef87c6de
Correct collect of permanent pointers.
...
The previous implementation managed to keep all but the head
pointer of the list.
Fixes #1814
2019-04-18 15:44:44 -07:00
Scott Shawcroft
713a38d1a2
Merge pull request #1754 from dmazzella/dmazzella-patch-1
...
add support for USER_C_MODULES
2019-04-17 09:41:20 -07:00
Scott Shawcroft
6132a05fd9
Include cleanup and style tweaks
2019-04-16 10:19:07 -07:00
Scott Shawcroft
0e03a321e4
Fully split gamepadshift from gamepad
2019-04-16 10:11:54 -07:00
Scott Shawcroft
c927e6b938
Split GamePadShift from GamePad to save space on most boards.
2019-04-15 15:40:06 -07:00
Radomir Dopieralski
4dc286fa14
Reorganize the gamepad code
2019-04-12 20:43:29 +02:00
Scott Shawcroft
debff19126
Check for null local dictionaries
2019-04-10 14:48:27 -07:00
Scott Shawcroft
a152ac1cef
Merge remote-tracking branch 'adafruit/master' into pybadge_revd
2019-04-10 10:58:45 -07: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
Scott Shawcroft
ee7a77db65
Check that a never free pointer is on the heap.
...
This fixes a crash on boards with built-in displays which statically
allocate the display bus. When the pointer is provided to never
free, it tries to allocate on the non-existant heap and crashes.
2019-04-09 15:12:28 -07:00
Scott Shawcroft
72992070c5
Fix boards with no shared busses.
2019-04-09 11:36:10 -07:00
Scott Shawcroft
0f003ac5b8
Reorganize board busses into shared-bindings and shared-module.
2019-04-08 16:58:50 -07:00
Damiano Mazzella
b6b5eaa878
Update mkrules.mk
2019-04-05 21:41:40 +02:00
Damiano Mazzella
a20aab0491
Update obj.h
2019-04-05 21:41:10 +02:00
Damiano Mazzella
af38f882ec
Update objmodule.c
2019-04-05 21:40:28 +02:00
Damiano Mazzella
7549326ceb
Update py.mk
2019-04-05 21:39:44 +02:00
Damiano Mazzella
d1698230a1
Add files via upload
2019-04-05 21:38:32 +02:00
Dan Halbert
c9571fe1ea
ROTARYIO_MODULE mistakenly omitted from module list
2019-04-01 17:59:59 -04:00
Dan Halbert
35ab1a1983
Turn on frequencyio only on CIRCUITPY_FULL_BUILD
2019-03-27 16:57:35 -04:00
Dan Halbert
4c1849ae7c
turn on reversed() for all builds
2019-03-26 22:15:26 -04: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
26262cd477
Merge pull request #1670 from tannewt/fontio
...
Move Glyph and BuiltinFont into fontio
2019-03-20 17:36:04 -04:00
Dan Halbert
fbf166af1a
enable MICROPY_CPYTHON_COMPAT for most builds except CIRCUITPY_SMALL_BUILD; remove a few other things to make fit
2019-03-20 14:36:24 -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
911509c80c
Fix function signature
2019-03-12 14:05:31 -07:00
Scott Shawcroft
03be42ab84
Enter safe mode when an allocation is attempted on an uninitialized heap.
2019-03-12 11:18:26 -07:00
sommersoft
2cd6a79016
better handle frequencyio inclusion
2019-03-01 22:46:57 -06:00
sommersoft
a44bfc2730
Merge branch 'master' of https://github.com/adafruit/circuitpython into new_freq_in
2019-03-01 21:24:30 -06:00
Radomir Dopieralski
89b2788d11
Apply review fixes:
...
* fix formatting
* fix copyrights
* fix CIRCUITPYTHON_GAMEPAD guards
* add CIRCUITPYTHON_PEW guards to reset
* fix module list order
2019-03-01 16:05:15 +01:00
Radomir Dopieralski
45fea86554
Rebase on top of CircuitPython 4.x
2019-03-01 14:59:21 +01:00
Radomir Dopieralski
88e40193ae
Add a _pew module
2019-02-28 23:32:58 +01:00
sommersoft
9d3fcf9a0d
add frequencyio to circuipy_ configs
2019-02-24 18:05:51 -06:00
Scott Shawcroft
0261c57d32
Merge pull request #1582 from dhalbert/remove-u-names
...
rename ure, ujson, and uerrno to re, json, and errno
2019-02-21 13:24:07 -08:00
Dan Halbert
10d3a20f8a
Add CIRCUITPY macro; rename u* only when CIRCUITPY=1
2019-02-21 11:09:44 -05:00
Dan Halbert
c5dbdbe88c
rename ure, ujson, and uerrno to re, json, and errno
2019-02-21 00:33:36 -05:00
Scott Shawcroft
46fd60c703
Prevent infinite display update recursion and fix VFS mounting
...
Fixes #1529
2019-02-19 14:50:31 -08:00
Dan Halbert
1177c32679
Merge pull request #1562 from debrouxl/minor_improvements_and_fixes
...
Minor fixes
2019-02-19 13:22:42 -05:00
Dan Halbert
263e9822ea
typo
2019-02-18 12:21:31 -05:00
Dan Halbert
ba77a9ca80
move non-u names for native modules to circuitpy_mpconfig.h
2019-02-18 12:08:23 -05:00
Dan Halbert
5c884bf6d6
forgot json
2019-02-18 07:57:54 -05:00
Dan Halbert
c1144a288f
regularize how module weak links and alternate names are listed
2019-02-18 00:45:43 -05:00
Dan Halbert
97aeb1953b
correct weak module links; samd module only in m4 ports; update libraries
2019-02-17 23:48:08 -05:00
Dan Halbert
5ec92415b0
fix module weak links; add missing nrf features
2019-02-17 17:29:28 -05:00
Lionel Debroux
94e51de166
Define MP_SSIZE_MAX for LONGINT_IMPL_LONGLONG as well.
...
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-17 11:21:35 +01:00
Dan Halbert
619b4f13fd
Merge pull request #1555 from tannewt/print_flush
...
Support print("", flush=True)
2019-02-15 21:46:16 -05:00
Dan Halbert
7b3f7605b8
address @tannewt changes: move and rename common files; remove PORT_HEAP_SIZE
2019-02-15 20:32:32 -05:00
Scott Shawcroft
e6b140e7a0
Support print("", flush=True)
...
Fixes #1127
2019-02-15 16:53:19 -08:00
Noralf Trønnes
0865c9d381
extmod/ure: Support search/match() pos and endpos parameters
...
MICROPY_PY_URE_MATCH_SPAN_START_END is used to enable the functionality
since it's similar.
2019-02-14 15:42:28 +01:00
Damien George
b9dc23c070
extmod/modure: Add ure.sub() function and method, and tests.
...
This feature is controlled at compile time by MICROPY_PY_URE_SUB, disabled
by default.
Thanks to @dmazzella for the original patch for this feature; see #3770 .
2019-02-14 15:42:22 +01:00
Damien George
cbeac094ef
extmod/modure: Add match.span(), start() and end() methods, and tests.
...
This feature is controlled at compile time by
MICROPY_PY_URE_MATCH_SPAN_START_END, disabled by default.
Thanks to @dmazzella for the original patch for this feature; see #3770 .
2019-02-14 15:42:21 +01:00
Damien George
a24fabbb6f
extmod/modure: Add match.groups() method, and tests.
...
This feature is controlled at compile time by MICROPY_PY_URE_MATCH_GROUPS,
disabled by default.
Thanks to @dmazzella for the original patch for this feature; see #3770 .
2019-02-14 15:42:19 +01: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
Craig Forbes
1662e02c1b
Add human readable text for ENOSPC.
2019-02-06 14:59:01 -06:00
Scott Shawcroft
0c50154c83
Use generic overflow so 64 bit is handled ok.
2019-02-04 16:11:16 -08:00
Scott Shawcroft
c60f77d5ab
Check sequence multiply for length overflow
...
Fixes #1279
2019-02-04 15:33:36 -08:00
Scott Shawcroft
5555a24479
Never long live the main dictionary.
...
It's contents change often and may be referenced elsewhere.
Fixes #1443
2019-02-01 16:05:37 -08:00
Scott Shawcroft
a39fc94dde
Don't long live class attributes
...
When they are added later, they are also referenced in the main
dictionary.
Fixes #1218
2019-02-01 16:04:16 -08:00
Dan Halbert
e170e03f8c
Merge remote-tracking branch 'adafruit/master' into bleio2
2019-01-21 20:38:26 -05:00
Dan Halbert
a8f4aa4796
Merge remote-tracking branch 'adafruit/master' into struct-compat
2019-01-20 21:47:13 -05:00
Scott Shawcroft
479b286600
Fix dict_make_new
2019-01-20 17:32:43 -08:00
Scott Shawcroft
5ddc50473a
Check for null kw_args
2019-01-20 16:18:34 -08:00
Dan Halbert
7a09af73ec
Improve struct compatibility with CPython
2019-01-20 15:12:34 -05:00
Dan Halbert
62df7ab730
Improve struct compatibility with CPython
2019-01-20 15:10:09 -05:00
Dan Halbert
28cfd8a513
CharacteristicBuffer: make it be a stream class; add locking
2019-01-19 19:45:35 -05:00
Scott Shawcroft
b569e8bab0
More make_new updates
2019-01-18 17:09:56 -08:00
Scott Shawcroft
0318a9a9bc
More make_new fixes for unix build
2019-01-18 11:53:09 -08:00