stijn
90fae9172a
py/objarray: Add support for memoryview.itemsize attribute.
...
This allows figuring out the number of bytes in the memoryview object as
len(memview) * memview.itemsize.
The feature is enabled via MICROPY_PY_BUILTINS_MEMORYVIEW_ITEMSIZE and is
disabled by default.
2019-05-14 17:15:17 +10: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
Henrik Vendelbo
ab93321e31
py/persistentcode: Change "len" type to size_t for mp_obj_str_get_data.
2019-05-13 12:38:06 +10: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
Damien George
c0a1de3c21
py/misc.h: Rename _MP_STRINGIFY to not use leading underscore in ident.
...
Macro identifiers with a leading underscore are reserved.
2019-05-09 17:11:33 +10:00
Damien George
4268d0e1ac
py/objgenerator: Remove unneeded forward decl and clean up white space.
2019-05-09 13:49:07 +10:00
Damien George
dac9d47671
py/objgenerator: Fix handling of None passed as 2nd arg to throw().
...
Fixes issue #4527 .
2019-05-09 13:40:28 +10: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
Damien George
7e90e22ea5
mpy-cross: Add --version command line option to print version info.
...
Prints something like:
MicroPython v1.10-304-g8031b7a25 on 2019-05-02; mpy-cross emitting mpy v4
2019-05-07 13:54:20 +10:00
Kathryn Lingel
54aa1ce6de
Filter private methods from tab completion
2019-05-06 12:16:29 -07:00
Jun Wu
089c9b71d1
py: remove "if (0)" and "if (false)" branches.
...
Prior to this commit, building the unix port with `DEBUG=1` and
`-finstrument-functions` the compilation would fail with an error like
"control reaches end of non-void function". This change fixes this by
removing the problematic "if (0)" branches. Not all branches affect
compilation, but they are all removed for consistency.
2019-05-06 18:28:28 +10:00
Yonatan Goldschmidt
ef9843653b
extmod/moducryptolib: Add AES-CTR support.
...
Selectable at compile time via MICROPY_PY_UCRYPTOLIB_CTR. Disabled by
default.
2019-05-06 18:09:48 +10:00
Damien George
5ea38e4d74
py/native: Improve support for bool type in viper functions.
...
Variables with type bool now act more like an int, and there is proper
casting to/from Python objects.
2019-05-03 23:18:30 +10:00
Damien George
9ef784dcc6
py/asmthumb: Support asm_thumb code running on normal ARM processors.
...
With this change, @micropython.asm_thumb functions will work on standard
ARM processors (that are in ARM state by default), in scripts and
precompiled .mpy files.
Addresses issue #4675 .
2019-05-01 15:24:21 +10:00
Damien George
27d22d8712
py/mpprint: Support printing %ld and %lu formats on 64-bit archs.
...
Fixes issue #4702 .
2019-04-23 12:40:15 +10: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
Damien George
9ce25d7022
py/runtime: Fix mp_unpack_ex so seq can't be reclaimed by GC during use.
...
The issue described in the comment added here can be seen by forcing a
gc_collect() at the start of each call to gc_alloc().
2019-04-15 11:30:19 +10:00
Damien George
3fa06cf61e
py/objset: Remove unused forward declaration and clean up whitespace.
2019-04-15 11:14:22 +10:00
Damien George
1754c71f45
py/runtime: Optimise to not create temp float for int to power negative.
2019-04-15 11:04:59 +10:00
Radomir Dopieralski
4dc286fa14
Reorganize the gamepad code
2019-04-12 20:43:29 +02:00
Damien George
673e154dfe
py/makedefs: Use io.open with utf-8 encoding when processing source.
...
In case (user) source code contains utf-8 encoded data and the default
locale is not utf-8.
See #4592 .
2019-04-12 11:34:52 +10: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
Romain Goyet
dce785cc3d
py/nlrthumb: Add support for iOS where the C func is _nlr_push_tail.
2019-03-26 16:48:11 +11:00