- 10 10月, 2019 1 次提交
-
-
由 Mike Causer 提交于
The specific board can be selected with the BOARD makefile variable. This defaults (if not specified) to BOARD=GENERIC, which is the original default firmware build. For the 512k target use BOARD=GENERIC_512K.
-
- 08 10月, 2019 6 次提交
-
-
由 Damien George 提交于
Fixes issue #5162.
-
由 Andrew Leech 提交于
Enable in board config with: #define MBOOT_USB_RESET_ON_DISCONNECT (1)
-
由 Jim Mussared 提交于
-
由 Jim Mussared 提交于
-
由 Jim Mussared 提交于
-
由 Jim Mussared 提交于
On other ports (e.g. ESP32) they provide a complete Nimble implementation (i.e. we don't need to use the code in extmod/nimble). This change extracts out the bits that we don't need to use in other ports: - malloc/free/realloc for Nimble memory. - pendsv poll handler - depowering the cywbt Also cleans up the root pointer management.
-
- 05 10月, 2019 10 次提交
-
-
由 Damien George 提交于
The BLE stack is not performance critical, so put it in external memory-mapped flash to save internal flash for other things (like frozen bytecode).
-
由 Martin Fischer 提交于
Fixes regression introduced by 6705767d
-
由 Damien George 提交于
To test build support with Python 2.7.
-
由 Damien George 提交于
Selectable via the command line: -march=xtensawin.
-
由 Damien George 提交于
-
由 Damien George 提交于
Enabled via the configuration MICROPY_EMIT_XTENSAWIN.
-
由 Damien George 提交于
Window-specific asm emit functions are added, along with a new macro option GENERIC_ASM_API_WIN.
-
由 Damien George 提交于
In which case place the native function prelude in a bytes object, linked from the const_table of that function. An architecture should define N_PRELUDE_AS_BYTES_OBJ to 1 before including py/emitnative.c to emit correct machine code, then enable MICROPY_EMIT_NATIVE_PRELUDE_AS_BYTES_OBJ so the runtime can correctly handle the prelude being in a bytes object.
-
由 Damien George 提交于
To enable this feature the N_NLR_SETJMP macro should be set to 1 before including py/emitnative.c.
-
由 Damien George 提交于
Such that args/return regs for the parent are different to args/return regs for child calls. For an architecture to use this feature it should define the REG_PARENT_xxx macros before including py/emitnative.c.
-
- 04 10月, 2019 9 次提交
-
-
由 Damien George 提交于
This test was found by missing coverage of a branch in py/nativeglue.c.
-
由 Damien George 提交于
Commit 3f6ffe05 implemented PEP479 but did not catch the case fixed in this commit. Found by coverage analysis, that the VM had uncovered code.
-
由 Damien George 提交于
Prior to this commit, when unwinding through an active finally the stack was not being correctly popped/folded, which resulting in the VM crashing for complicated unwinding of nested finallys. This should be fixed with this commit, and more tests for return/break/ continue within a finally have been added to exercise this.
-
由 Chris Mason 提交于
STM32F0 has PCLK=48MHz and maximum ADC clock is 14MHz so use PCLK/4=12MHz to stay within spec of the ADC peripheral. In pyb.ADC set common sampling time to approx 4uS for internal and external sources. In machine.ADC reduce sample time to approx 1uS for external source, leave internal at maximum sampling time.
-
由 Jim Mussared 提交于
As of 7d58a197, `NULL` should no longer be here because it's allowed (MP_QSTRnull took its place). This entry was preventing the use of MP_QSTR_NULL to mean "NULL" (although this is not currently used). A blacklist should not be needed because it should be possible to intern all strings. Fixes issue #5140.
-
由 Jim Mussared 提交于
-
由 Petr Viktorin 提交于
This check follows CPython's behaviour, because 'import *' always populates the globals with the imported names, not locals. Since it's safe to do this (doesn't lead to a crash or undefined behaviour) the check is only enabled for MICROPY_CPYTHON_COMPAT. Fixes issue #5121.
-
由 Damien George 提交于
The previous commit changed the default configuration on L4 MCUs to use LSI, so configure these boards to use LSE again.
-
由 hahmadi 提交于
This commit adds the option to use HSE or MSI system clock, and LSE or LSI RTC clock, on L4 MCUs. Note that prior to this commit the default clocks on an L4 part were MSI and LSE. The defaults are now MSI and LSI. In mpconfigboard.h select the clock source via: #define MICROPY_HW_RTC_USE_LSE (0) or (1) #define MICROPY_HW_CLK_USE_HSE (0) or (1) and the PLLSAI1 N,P,Q,R settings: #define MICROPY_HW_CLK_PLLSAIN (12) #define MICROPY_HW_CLK_PLLSAIP (RCC_PLLP_DIV7) #define MICROPY_HW_CLK_PLLSAIQ (RCC_PLLQ_DIV2) #define MICROPY_HW_CLK_PLLSAIR (RCC_PLLR_DIV2)
-
- 03 10月, 2019 6 次提交
-
-
由 roland van straten 提交于
In case of LED1 being present, do a short blink during startup instead of turning it on and leave it on.
-
由 roland van straten 提交于
Aligned implementation with the STM32 port. Added empty functions to be used when no LED is available.
-
由 Glenn Ruben Bakke 提交于
The the nrfx driver is aware of chip specific registers, while the raw HAL abstraction is not. This driver enables use of NVMC in non-secure domain for nrf9160.
-
由 Glenn Ruben Bakke 提交于
-
由 Glenn Ruben Bakke 提交于
This patch moves the check for MICROPY_PY_MACHINE_TEMP to come before the inclusion of nrf_temp.h. The nrf_temp.h depends on the NRF_TEMP_Type which might not be defined for all nRF devices.
-
由 Glenn Ruben Bakke 提交于
-
- 01 10月, 2019 8 次提交
-
-
由 Damien George 提交于
Tests correct decoding of the prelude to get the function name.
-
由 Damien George 提交于
These are now only needed when persistent code is disabled.
-
由 Damien George 提交于
-
由 Damien George 提交于
This patch compresses the second part of the bytecode prelude which contains the source file name, function name, source-line-number mapping and cell closure information. This part of the prelude now begins with a single varible length unsigned integer which encodes 2 numbers, being the byte-size of the following 2 sections in the header: the "source info section" and the "closure section". After decoding this variable unsigned integer it's possible to skip over one or both of these sections very easily. This scheme saves about 2 bytes for most functions compared to the original format: one in the case that there are no closure cells, and one because padding was eliminated.
-
由 Damien George 提交于
The start of the bytecode prelude contains 6 numbers telling the amount of stack needed for the Python values and exceptions, and the signature of the function. Prior to this patch these numbers were all encoded one after the other (2x variable unsigned integers, then 4x bytes), but using so many bytes is unnecessary. An entropy analysis of around 150,000 bytecode functions from the CPython standard library showed that the optimal Shannon coding would need about 7.1 bits on average to encode these 6 numbers, compared to the existing 48 bits. This patch attempts to get close to this optimal value by packing the 6 numbers into a single, varible-length unsigned integer via bit-wise interleaving. The interleaving scheme is chosen to minimise the average number of bytes needed, and at the same time keep the scheme simple enough so it can be implemented without too much overhead in code size or speed. The scheme requires about 10.5 bits on average to store the 6 numbers. As a result most functions which originally took 6 bytes to encode these 6 numbers now need only 1 byte (in 80% of cases).
-
由 Damien George 提交于
This value is used often enough that it is better to cache it instead of decode it each time.
-
由 Damien George 提交于
Change from a pointer to an index, to make space in mp_code_state_t.
-
由 Damien George 提交于
It was made obsolete in 6f9e3ff7
-