Dan Halbert
bbdca2f352
typos in builtins.rst
2018-05-23 15:07:32 -04:00
Dan Halbert
6a63ff096a
ustruct -> struct in design_guide.rst
2018-05-23 15:05:38 -04:00
Scott Shawcroft
aa86a1457f
Use merged in FreeTouch
2018-05-23 11:57:35 -07:00
Scott Shawcroft
27551cbb4d
Fix ReadTheDocs build due to c2rst.
2018-05-23 11:53:00 -07:00
Dan Halbert
079c20e58e
use shared-bindings struct doc; remove docs/library one
2018-05-23 14:24:02 -04:00
Dan Halbert
6af5fc2796
Merge pull request #861 from tannewt/touchio3
...
Turn on touchio for M0 boards.
2018-05-23 14:20:15 -04:00
Scott Shawcroft
641caaa6dd
Gain space back in non-Express builds by using -finline-limit
2018-05-23 10:36:59 -07:00
Radomir Dopieralski
edf2935ab1
Make gamepad.get_pressed work when gamepad was created from frozen code
...
For some reason, when the GamePad is created from frozen code, the
get_pressed method would always return 0. This fixes it, and makes it
work properly no matter how the object was created.
2018-05-23 12:44:22 +02:00
Radomir Dopieralski
52d05bbc37
Cache pullup state in gamepad
...
Don't check the pin's pull direction on every tick, instead cache it
at the beginning. Also avoid a "can't get pull of output pin" error
when one of the pins passed is in output mode.
2018-05-23 11:26:16 +02:00
Damien George
df9b7e8f24
esp32/esp32.custom_common.ld: Put soc code in iram0.
...
This is what the IDF does, it must be done.
2018-05-23 12:57:50 +10:00
Dan Halbert
20a13fa9fb
fix title underline
2018-05-22 21:21:19 -04:00
Dan Halbert
59615fc993
add caveat language re MicroPython libraries; other slight changes
2018-05-22 20:49:08 -04:00
Dan Halbert
e65cc07764
RTD documentation updates
2018-05-22 19:52:01 -04:00
Scott Shawcroft
e274a02ff0
Merge pull request #862 from tannewt/contributing_update
...
Update CONTRIBUTING.md to include new learn guides and Dan and
2018-05-22 16:34:23 -07:00
Scott Shawcroft
783ffe6824
Update CONTRIBUTING.md to include new learn guides and Dan and
...
Kattni's info.
Fixes #858
2018-05-22 14:32:27 -07:00
Scott Shawcroft
3607d3ba2c
Correctly reset the PTC
2018-05-22 14:20:35 -07:00
Scott Shawcroft
31bcd1c45c
Fixup gclk init
2018-05-22 13:56:12 -07:00
Scott Shawcroft
99123a8621
Turn on touchio for M0 boards. M4 will come later once its supported
...
by FreeTouch.
Fixes #670
2018-05-22 13:49:08 -07:00
Dan Halbert
22405d6bdb
Merge pull request #860 from dhalbert/3.0-cpx-crickit
...
turn off longint on cpx crickit; update frozen libs
2018-05-22 16:28:42 -04:00
Scott Shawcroft
165b28438a
Merge pull request #854 from python-ugame/extra-override
...
Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
2018-05-22 10:22:35 -07:00
Dan Halbert
0d7db29630
turn off longint on cpx crickit; update frozen libs
2018-05-22 13:03:13 -04:00
Scott Shawcroft
422525fa4c
Merge pull request #859 from dhalbert/3.0-cpx-crickit
...
refactor longint settings; make crickit cpx build
2018-05-22 09:59:21 -07:00
Damien George
18e6358480
py/emit: Combine setup with/except/finally into one emit function.
...
This patch reduces code size by:
bare-arm: -16
minimal x86: -156
unix x64: -288
unix nanbox: -184
stm32: -48
cc3200: -16
esp8266: -96
esp32: -16
The last 10 patches combined reduce code size by:
bare-arm: -164
minimal x86: -1260
unix x64: -3416
unix nanbox: -1616
stm32: -676
cc3200: -232
esp8266: -1144
esp32: -268
2018-05-23 00:35:16 +10:00
Damien George
436e0d4c54
py/emit: Merge build set/slice into existing build emit function.
...
Reduces code size by:
bare-arm: +0
minimal x86: +0
unix x64: -368
unix nanbox: -248
stm32: -128
cc3200: -48
esp8266: -184
esp32: -40
2018-05-23 00:23:36 +10:00
Damien George
d97906ca9a
py/emit: Combine import from/name/star into one emit function.
...
Change in code size is:
bare-arm: +4
minimal x86: -88
unix x64: -456
unix nanbox: -88
stm32: -44
cc3200: +0
esp8266: -104
esp32: +8
2018-05-23 00:23:08 +10:00
Damien George
8a513da5a5
py/emit: Combine break_loop and continue_loop into one emit function.
...
Reduces code size by:
bare-arm: +0
minimal x86: +0
unix x64: -80
unix nanbox: +0
stm32: -12
cc3200: +0
esp8266: -28
esp32: +0
2018-05-23 00:23:04 +10:00
Damien George
6211d979ee
py/emit: Combine load/store/delete attr into one emit function.
...
Reduces code size by:
bare-arm: -20
minimal x86: -140
unix x64: -408
unix nanbox: -140
stm32: -68
cc3200: -16
esp8266: -80
esp32: -32
2018-05-23 00:22:59 +10:00
Damien George
a4941a8ba4
py/emit: Combine load/store/delete subscr into one emit function.
...
Reduces code size by:
bare-arm: -8
minimal x86: -104
unix x64: -312
unix nanbox: -120
stm32: -60
cc3200: -16
esp8266: -92
esp32: -24
2018-05-23 00:22:55 +10:00
Damien George
d298013939
py/emit: Combine name and global into one func for load/store/delete.
...
Reduces code size by:
bare-arm: -56
minimal x86: -300
unix x64: -576
unix nanbox: -300
stm32: -164
cc3200: -56
esp8266: -236
esp32: -76
2018-05-23 00:22:47 +10:00
Damien George
26b5754092
py/emit: Combine build tuple/list/map emit funcs into one.
...
Reduces code size by:
bare-arm: -24
minimal x86: -192
unix x64: -288
unix nanbox: -184
stm32: -72
cc3200: -16
esp8266: -148
esp32: -32
2018-05-23 00:22:44 +10:00
Damien George
e686c94052
py/emit: Combine yield value and yield-from emit funcs into one.
...
Reduces code size by:
bare-arm: -24
minimal x86: -72
unix x64: -200
unix nanbox: -72
stm32: -52
cc3200: -32
esp8266: -84
esp32: -24
2018-05-23 00:22:35 +10:00
Damien George
0a25fff956
py/emit: Combine fast and deref into one function for load/store/delete.
...
Reduces code size by:
bare-arm: -16
minimal x86: -208
unix x64: -408
unix nanbox: -248
stm32: -12
cc3200: -24
esp8266: -96
esp32: -44
2018-05-23 00:22:20 +10:00
Dan Halbert
49a81d5c4b
LONGLONG typo
2018-05-22 09:35:29 -04:00
Dan Halbert
45db48bbaa
make longint choice mechanism more readable
2018-05-22 08:04:14 -04:00
Damien George
400273a799
py/objgenerator: Protect against reentering a generator.
...
Generators that are already executing cannot be reexecuted. This patch
puts in a check for such a case.
Thanks to @jepler for finding the bug.
2018-05-22 16:54:03 +10:00
Damien George
771cb359af
py/objgenerator: Save state in old_globals instead of local variable.
...
The code_state.old_globals variable is there to save the globals state so
should be used for this purpose, to avoid the need for additional local
variables on the C stack.
2018-05-22 16:39:19 +10:00
Damien George
20b4b85f72
ports: Enable MICROPY_PY_BUILTINS_ROUND_INT on selected ports.
2018-05-22 14:18:16 +10:00
Jan Klusacek
b318ebf101
py/modbuiltins: Add support for rounding integers.
...
As per CPython semantics. This feature is controlled by
MICROPY_PY_BUILTINS_ROUND_INT which is disabled by default.
2018-05-22 14:18:16 +10:00
Dan Halbert
5680933483
refactor longint settings; make crickit cpx build
2018-05-21 23:58:03 -04:00
Damien George
f2ec792554
py/parsenum: Adjust braces so they are balanced.
2018-05-22 13:20:00 +10:00
Damien George
e773a2cdba
stm32/main: Use consistent indenting of macro #if's.
2018-05-22 13:17:03 +10:00
Damien George
f68e722005
stm32/rng: Use Yasmarang for rng_get() if MCU doesn't have HW RNG.
2018-05-22 10:36:03 +10:00
Damien George
cda964198a
stm32: Integrate lwIP as implementation of usocket module.
...
This patch allows to use lwIP as the implementation of the usocket module,
instead of the existing socket-multiplexer that delegates the entire TCP/IP
layer to the NIC itself.
This is disabled by default, and enabled by defining MICROPY_PY_LWIP to 1.
When enabled, the lwIP TCP/IP stack will be included in the build with
default settings for memory usage and performance (see
lwip_inc/lwipopts.h). It is then up to a particular NIC to register itself
with lwIP using the standard lwIP netif API.
2018-05-21 17:36:06 +10:00
Radomir Dopieralski
6a6ab2b0ec
Allow overriding EXTRA_BUILTIN_MODULES in mpconfigboard.h
...
Some boards (like the uGame10) may want to have their own set of extra
modules. This change lets them override EXTRA_BUILTIN_MODULES in their
mpconfigboard.h and makes the ugame10 board do that.
2018-05-21 09:23:58 +02:00
Damien George
41766ba7e6
extmod/modlwip: Allow to compile with MICROPY_PY_LWIP disabled.
2018-05-21 16:46:30 +10:00
Damien George
6c955932f3
stm32/rtc: Don't try to set SubSeconds value on RTC.
...
The hardware doesn't allow it, instead the value is reset to 255 upon
setting the other calendar/time values.
2018-05-21 14:08:37 +10:00
Damien George
6bd78741c1
py/gc: When GC threshold is hit don't unnecessarily collect twice.
...
Without this, if GC threshold is hit and there is not enough memory left to
satisfy the request, gc_collect() will run a second time and the search for
memory will happen again and will fail again.
Thanks to @adritium for pointing out this issue, see #3786 .
2018-05-21 13:36:21 +10:00
Daniel Shaulov
cac2eddc16
minimal/main: Allow to compile without GC enabled.
2018-05-21 13:13:21 +10:00
Damien George
1ad0013dec
tests: Add some tests for bigint hash, float hash and float parsing.
...
Following outcome of recent fuzz testing and sanitizing by @jepler.
2018-05-21 13:05:40 +10:00
Jeff Epler
95e43efc99
py/objfloat: Fix undefined integer behavior hashing negative zero.
...
Under ubsan, when evaluating hash(-0.) the following diagnostic occurs:
../../py/objfloat.c:102:15: runtime error: negation of
-9223372036854775808 cannot be represented in type 'mp_int_t' (aka
'long'); cast to an unsigned type to negate this value to itself
So do just that, to tell the compiler that we want to perform this
operation using modulo arithmetic rules.
2018-05-21 12:49:56 +10:00