Braden Mars
5641aa55dd
esp32: Update to use ESP IDF v3.3
...
Includes patches for CVE-2019-12586 & CVE-2019-12587
2019-09-07 01:28:11 -05:00
Damien George
c69f58e6b9
tools/mpy-tool.py: Fix freezing of non-bytecode funcs with settrace.
...
Only bytecode functions can be profiled at this stage. Native functions
(eg inline assembler) may not even have a valid prelude.
Fixes issue #5075 .
2019-09-06 23:55:15 +10:00
Damien George
bd2e46e0a5
stm32/boards/stm32wb55_af.csv: Fix ADC pin-channel function mapping.
2019-09-06 17:56:34 +10:00
Damien George
62fe013a5f
stm32/machine_adc: Improve operation of ADC for H7, L4 and WB MCUs.
2019-09-06 17:55:12 +10:00
Damien George
fb73bdae62
py/mkenv.mk: Add GDB variable.
2019-09-05 22:59:06 +10:00
Jim Mussared
1f52a6f8e4
nrf/boards: Add Particle Xenon board configuration (an nRF52840).
2019-09-05 22:56:05 +10:00
Jim Mussared
d36fc4682e
nrf/Makefile: Add support for flashing with a Black Magic Probe.
...
Also rename "flash" target to "deploy" to match other ports (but provide
"flash" as an alias for backwards compatibility).
2019-09-05 22:56:05 +10:00
Jim Mussared
353ed7705f
nrf/boards/make-pins.py: Fix gen of board pins to use correct index.
...
It was previously not taking into account that the list of pins was sparse,
so using the wrong index. The boards/X/pins.csv was generating the wrong
data for machine.Pin.board.
As part of this fix rename the variables to make it more clear what the
list contains (only board pins).
2019-09-05 22:52:24 +10:00
Damien George
9e90e2528b
nrf/machine/adc: Fix mapping of ADC channel to pin.
2019-09-05 22:13:04 +10:00
Damien George
c7fb93b844
nrf/machine/adc: Allow to pass a Pin object in to ADC constructor.
2019-09-05 22:13:04 +10:00
Damien George
b766a6971e
nrf: Add ADC channel mapping to alt function table.
2019-09-05 22:13:04 +10:00
Damien George
9cad134a2f
nrf/machine/adc: Add ADC.read_u16() method.
2019-09-05 22:13:04 +10:00
Damien George
983283a8cd
esp32/machine_adc: Add ADC.read_u16() method.
2019-09-05 22:13:04 +10:00
Damien George
0e72cc9029
esp8266/machine_adc: Add read_u16 method and refactor.
2019-09-05 22:13:04 +10:00
Damien George
625609a737
esp8266/machine_adc: Rename pyb_adc_* to machine_adc_*.
2019-09-04 16:17:10 +10:00
Damien George
ebacdfabb6
stm32/machine_adc: Add machine.ADC class.
2019-09-04 15:40:24 +10:00
Damien George
e509da22df
docs/library: Specify new machine.ADC class.
...
This initial specification is only for the ADC constructor and read_u16()
method.
2019-09-04 15:35:09 +10:00
Damien George
8a237237a3
docs: Rename machine.ADC docs to machine.ADCWiPy.
...
To signify that this ADC documentation is specific to the WiPy, and to make
way for a standardised ADC documentation.
2019-09-04 15:05:03 +10:00
Jim Mussared
06661890de
stm32/powerctrl: Fix machine.bootloader() for L0 MCUs.
2019-09-04 11:36:53 +10:00
Jim Mussared
8fc00928ea
stm32/dma: Fix DMA config for L0 MCUs.
2019-09-03 23:33:09 +10:00
stijn
4beb6c21ca
windows/msvc: Treat compiler warnings as errors.
...
This is consistent with the other ports and helps catching problems early.
2019-09-03 23:27:06 +10:00
Jim Mussared
74fe841449
docs/library/pyb.DAC.rst: Correct frequency for triangle mode output.
...
Also correct comments in related code.
2019-09-03 23:25:45 +10:00
Jim Mussared
50482cdc0c
esp32/Makefile: Fix subst->patsubst in ESPIDF_BOOTLOADER_SUPPORT_O.
2019-09-03 23:21:50 +10:00
Damien George
b29fae0c56
py/bc: Fix size calculation of UNWIND_JUMP opcode in mp_opcode_format.
...
Prior to this patch mp_opcode_format would calculate the incorrect size of
the MP_BC_UNWIND_JUMP opcode, missing the additional byte. But, because
opcodes below 0x10 are unused and treated as bytes in the .mpy load/save
and freezing code, this bug did not show any symptoms, since nested unwind
jumps would rarely (if ever) reach a depth of 16 (so the extra byte of this
opcode would be between 0x01 and 0x0f and be correctly loaded/saved/frozen
simply as an undefined opcode).
This patch fixes this bug by correctly accounting for the additional byte.
.
2019-09-02 13:30:16 +10:00
Damien George
c348e79187
py/binary: Change mp_uint_t to size_t for index, size, align args.
...
Reduces code size for nan-box builds, otherwise changes nothing.
2019-09-02 13:14:27 +10:00
Damien George
24c3e9b283
py/modstruct: Fix struct.pack_into with unaligned offset of native type.
...
Following the same fix for unpack.
2019-09-02 13:14:16 +10:00
Tom McDermott
1022f9cc35
py/modstruct: Fix struct.unpack with unaligned offset of native type.
...
With this patch alignment is done relative to the start of the buffer that
is being unpacked, not the raw pointer value, as per CPython.
Fixes issue #3314 .
2019-09-02 13:10:55 +10:00
Jeff Epler
12f13ee634
py/objtuple: Allow compatible subclasses of tuple in mp_obj_tuple_get.
...
As part of this patch a private macro mp_obj_is_tuple_compatible is
introduced to encapsulate the check, which is used in two locations.
Fixes #5005 .
2019-08-31 00:14:11 +10:00
Damien George
0b85b5b8b3
travis: Add new job to test unix port with sys.settrace enabled.
2019-08-30 16:49:13 +10:00
Damien George
4691b43c8a
tools/mpy-tool.py: Add initial support for frozen with settrace.
2019-08-30 16:49:13 +10:00
Damien George
060209240b
esp8266: Put new profile code in iROM.
2019-08-30 16:49:02 +10:00
Milan Rossa
b295df4b08
py/profile: Add debugging for sys.settrace feature.
2019-08-30 16:48:47 +10:00
Milan Rossa
498e35219e
tests: Add tests for sys.settrace feature.
2019-08-30 16:48:22 +10:00
Milan Rossa
310b3d1b81
py: Integrate sys.settrace feature into the VM and runtime.
...
This commit adds support for sys.settrace, allowing to install Python
handlers to trace execution of Python code. The interface follows CPython
as closely as possible. The feature is disabled by default and can be
enabled via MICROPY_PY_SYS_SETTRACE.
2019-08-30 16:44:12 +10:00
Milan Rossa
c96aedad46
py/profile: Add initial implementation of sys.settrace feature.
2019-08-30 16:43:56 +10:00
Damien George
dbf35d3da3
py/bc: Factor out code to get bytecode line number info into new func.
2019-08-30 16:43:46 +10:00
Damien George
c7c6703950
py/compile: Improve the line numbering precision for lambdas.
...
Prior to this patch the line number for a lambda would be "line 1" if the
body of the lambda contained only a simple expression (with no line number
stored in the parse node). Now the line number is always reported
correctly.
2019-08-30 16:43:46 +10:00
Damien George
400a128e11
stm32/stm32_it: Include correct EXTI interrupt handlers for L0 MCUs.
2019-08-29 12:00:18 +10:00
Damien George
1fe1ff935b
nrf: Clean up source by removing tabs, trailing spaces, non-ASCII chars.
2019-08-28 13:34:45 +10:00
Eric Poulsen
5635b96461
esp32: Add 'config' function to network.LAN, reusing network.WLAN.
2019-08-28 13:11:48 +10:00
Paul m. p. P
afc8596c15
docs/reference/speed_python: Add missing self to var caching example.
2019-08-28 12:55:41 +10:00
iabdalkader
0bec07f32b
stm32/extint: Fix EXTI mapping of PVD and RTC events for H7 MCUs.
2019-08-28 12:53:42 +10:00
Damien George
b3152b2de7
tests: Split out test for optimisation level and line-no printing.
2019-08-28 12:47:58 +10:00
Damien George
af20c2ead3
py: Add global default_emit_opt variable to make emit kind persistent.
...
mp_compile no longer takes an emit_opt argument, rather this setting is now
provided by the global default_emit_opt variable.
Now, when -X emit=native is passed as a command-line option, the emitter
will be set for all compiled modules (included imports), not just the
top-level script.
In the future there could be a way to also set this variable from a script.
Fixes issue #4267 .
2019-08-28 12:47:58 +10:00
Damien George
8e3e05761e
mpy-cross/main: Only accept full emit cmdline options if native enabled.
2019-08-28 12:47:58 +10:00
Damien George
15b36aa0af
unix/main: Only accept full emit cmd-line options if native enabled.
2019-08-28 12:47:58 +10:00
Damien George
5789558d60
stm32/boards/PYBD_SF2: Exclude certain things when building mboot.
2019-08-28 12:37:13 +10:00
Damien George
68d74b0074
stm32/mboot/Makefile: Define "BUILDING_MBOOT" when building mboot.
...
So boards can configure their settings based on whether mboot or the main
firmware is being built.
2019-08-28 12:37:13 +10:00
Damien George
b1e04848ef
stm32/mphalport: Put PYBD specific MAC code in board specific file.
2019-08-28 12:37:13 +10:00
Damien George
08c1fe5569
py/vm: Don't add traceback info for exceptions that are re-raised.
...
With this patch exceptions that are re-raised have improved tracebacks
(less confusing, match CPython), and it makes re-raise slightly more
efficient (in time and RAM) because they no longer need to add a traceback.
Also general VM performance is not measurably affected.
Partially fixes issue #2928 .
2019-08-28 12:31:53 +10:00