- 13 7月, 2023 2 次提交
-
-
由 Damien George 提交于
In the u-module renaming done in 30628d1b, these duplicate lines were accidentally left. Signed-off-by: NDamien George <damien@micropython.org>
-
由 Damien George 提交于
Even if MICROPY_PY_MACHINE is disabled, the soft timer is still used. Signed-off-by: NDamien George <damien@micropython.org>
-
- 08 6月, 2023 4 次提交
-
-
由 Jim Mussared 提交于
This is a MicroPython-specific module that existed to support the old version of uasyncio. It's undocumented and not enabled on all ports and takes up code size unnecessarily. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
由 Jim Mussared 提交于
Updates any includes, and references from Makefiles/CMake. This essentially reverts what was done long ago in commit 136b5cbd This work was funded through GitHub Sponsors. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
由 Jim Mussared 提交于
This work was funded through GitHub Sponsors. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
由 Jim Mussared 提交于
This renames the builtin-modules, such that help('modules') and printing the module object will show "module" rather than "umodule". This work was funded through GitHub Sponsors. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 27 4月, 2023 1 次提交
-
-
由 Damien George 提交于
No API or functional change. Signed-off-by: NDamien George <damien@micropython.org>
-
- 26 4月, 2023 1 次提交
-
-
由 Jim Mussared 提交于
This adds a mechanism to track a pending notify/indicate operation that is deferred due to the send buffer being full. This uses a tracked alloc that is passed as the content arg to the callback. This replaces the previous mechanism that did this via the global pending op queue, shared with client read/write ops. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 28 2月, 2023 1 次提交
-
-
由 Jim Mussared 提交于
This provides a standard interface to setting the global networking config for all interfaces and interface types. For ports that already use either a static hostname (mimxrt, rp2) they will now use the configured value. The default is configured by the port (or optionally the board). For interfaces that previously supported .config(hostname), this is still supported but now implemented using the global network.hostname. Similarly, pyb.country and rp2.country are now deprecated, but the methods still exist (and forward to network.hostname). Because ESP32/ESP8266 do not use extmod/modnetwork.c they are not affected by this commit. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 16 2月, 2023 1 次提交
-
-
由 robert-hh 提交于
Before, both uwTick and mp_hal_ticks_ms() were used as clock source. That assumes, that these two are synchronous and start with the same value, which may be not the case for all ports. If the lag between uwTick and mp_hal_ticks_ms() is larger than the timer interval, the timer would either rush up until the times are synchronous, or not start until uwTick wraps over. As suggested by @dpgeorge, MICROPY_SOFT_TIMER_TICKS_MS is now used in softtimer.c, which has to be defined in a port's mpconfigport.h with the variable that holds the SysTick counter. Note that it's not possible to switch everything in softtimer.c to use mp_hal_ticks_ms() because the logic in SysTick_Handler that schedules soft_timer_handler() uses (eg on mimxrt) the uwTick variable directly (named systick_ms there), and mp_hal_ticks_ms() uses a different source timer. Thus it is made fully configurable.
-
- 15 12月, 2022 1 次提交
-
-
由 Jim Mussared 提交于
This was previously implemented by adding additional members to the mp_obj_type_t defined for each NIC, which is difficult to do cleanly with the new object type slots mechanism. The way this works is also not supported on GCC 8.x and below. Instead replace it with the type protocol, which is a much simpler way of achieving the same thing. This affects the WizNet (in non-LWIP mode) and Nina NIC drivers. This work was funded through GitHub Sponsors. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 27 10月, 2022 1 次提交
-
-
由 Damien George 提交于
So it can be reused by other ports. Signed-off-by: NDamien George <damien@micropython.org>
-
- 11 10月, 2022 1 次提交
-
-
由 Jim Mussared 提交于
This makes it so that all a port needs to do is set the relevant variables and "include extmod.mk" and doesn't need to worry about adding anything to OBJ, CFLAGS, SRC_QSTR, etc. Make all extmod variables (src, flags, etc) private to extmod.mk. Also move common/shared, extmod-related fragments (e.g. wiznet, cyw43, bluetooth) into extmod.mk. Now that SRC_MOD, CFLAGS_MOD, CXXFLAGS_MOD are unused by both extmod.mk (and user-C-modules in a previous commit), remove all uses of them from port makefiles. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 26 8月, 2022 1 次提交
-
-
由 Damien George 提交于
It has been about 8 years since support for this chip was added. Reasons to remove it are: - It is no longer easy to obtain this part. - There are now many other options for WiFi. - It's not a good use of developer time to maintain it. Signed-off-by: NDamien George <damien@micropython.org>
-
- 26 7月, 2022 1 次提交
-
-
由 Jim Mussared 提交于
Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 18 7月, 2022 6 次提交
-
-
由 David Lechner 提交于
All in-tree uses of MICROPY_PORT_ROOT_POINTERS have been replaced with MP_REGISTER_ROOT_POINTER(), so now we can remove both MICROPY_PORT_ROOT_POINTERS and MICROPY_BOARD_ROOT_POINTERS from the code and remaining config files. Signed-off-by: NDavid Lechner <david@pybricks.com>
-
由 David Lechner 提交于
This uses MP_REGISTER_ROOT_POINTER() to register all port-specific root pointers in the stm32 port. Signed-off-by: NDavid Lechner <david@pybricks.com>
-
由 David Lechner 提交于
This uses MP_REGISTER_ROOT_POINTER() to register mod_network_nic_list and removes the same from all mpconfigport.h. Signed-off-by: NDavid Lechner <david@pybricks.com>
-
由 David Lechner 提交于
This uses MP_REGISTER_ROOT_POINTER() to register bluetooth_nimble_memory and bluetooth_nimble_root_pointers and removes the same from all mpconfigport.h. Signed-off-by: NDavid Lechner <david@pybricks.com>
-
由 David Lechner 提交于
This uses MP_REGISTER_ROOT_POINTER() to register bluetooth_btstack_root_pointers and removes the same from all mpconfigport.h. Signed-off-by: NDavid Lechner <david@pybricks.com>
-
由 David Lechner 提交于
This uses MP_REGISTER_ROOT_POINTER() to register the readline_history root pointer array used by shared/readline.c and removes the registration from all mpconfigport.h files. This also required adding a new MICROPY_READLINE_HISTORY_SIZE config option since not all ports used the same sized array. Signed-off-by: NDavid Lechner <david@pybricks.com>
-
- 07 6月, 2022 1 次提交
-
-
由 Damien George 提交于
To match MICROPY_PY_NETWORK_CYW43 and MICROPY_PY_NETWORK_NINAW10. Signed-off-by: NDamien George <damien@micropython.org>
-
- 03 6月, 2022 1 次提交
-
-
由 Andrew Leech 提交于
Whole packets are now pushed up to the higher layer of the BLE stack, instead of buffering the packets so individual bytes can be requested.
-
- 25 5月, 2022 1 次提交
-
-
由 Damien George 提交于
For ports with MICROPY_VFS and MICROPY_PY_IO enabled their configuration can now be simplified to use the defaults for mp_import_stat and mp_builtin_open. This commit makes no functional change, except for the following minor points: - the built-in "open" is removed from the minimal port (it previously did nothing) - the duplicate built-in "input" is removed from the esp32 port - qemu-arm now delegates to VFS import/open Signed-off-by: NDamien George <damien@micropython.org>
-
- 18 5月, 2022 2 次提交
-
-
由 Jim Mussared 提交于
Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
由 Jim Mussared 提交于
_onewire, socket, and network were previously added by the port rather than objmodule.c. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 05 5月, 2022 1 次提交
-
-
由 Damien George 提交于
Signed-off-by: NDamien George <damien@micropython.org>
-
- 14 4月, 2022 1 次提交
-
-
由 Damien George 提交于
Signed-off-by: NDamien George <damien@micropython.org>
-
- 07 4月, 2022 1 次提交
-
-
由 Damien George 提交于
This is enabled at MICROPY_CONFIG_ROM_LEVEL_EXTRA_FEATURES, which is the default for stm32. Not setting the value in mpconfigboard.h allows boards to optionally configure it. Signed-off-by: NDamien George <damien@micropython.org>
-
- 24 3月, 2022 1 次提交
-
-
由 iabdalkader 提交于
-
- 09 3月, 2022 2 次提交
-
-
由 Damien George 提交于
Signed-off-by: NDamien George <damien@micropython.org>
-
由 Damien George 提交于
Signed-off-by: NDamien George <damien@micropython.org>
-
- 03 2月, 2022 1 次提交
-
-
由 Damien George 提交于
The inclusion of `umachine` in the list of built-in modules is now done centrally in py/objmodule.c. Enabling MICROPY_PY_MACHINE will include this module. As part of this, all ports now have `umachine` as the core module name (previously some had only `machine` as the name). Signed-off-by: NDamien George <damien@micropython.org>
-
- 07 1月, 2022 1 次提交
-
-
由 Damien George 提交于
This is needed because these ports allocate mbedtls data on the MicroPython heap, and SSL socket objects must be fully cleaned up when they are garbage collected, to free this memory allocated by mbedtls. As part of this, gc_sweep_all() will now ensure that the MP_STATE_PORT(mbedtls_memory) linked-list is fully deallocated on soft reset. Signed-off-by: NDamien George <damien@micropython.org>
-
- 30 12月, 2021 1 次提交
-
-
由 iabdalkader 提交于
Commit 4dba04a5 refactored the network code but the combination of MICROPY_PY_WIZNET5K=5500 and MICROPY_PY_LWIP=1 broke.
-
- 13 11月, 2021 1 次提交
-
-
由 MikeTeachman 提交于
This change eliminates the risk of the IRQ callback accessing invalid data. Discussed here: https://github.com/micropython/micropython/pull/7183#discussion_r660209875Signed-off-by: NMike Teachman <mike.teachman@gmail.com>
-
- 01 11月, 2021 2 次提交
-
-
由 Damien George 提交于
This is an stm32-specific feature that's accessed via the pyb module, so not something that will be widely enabled. Signed-off-by: NDamien George <damien@micropython.org>
-
由 Jim Mussared 提交于
This commit is a no-op change. Future improvements can come from making individual boards use CORE or BASIC. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-
- 19 9月, 2021 1 次提交
-
-
由 iabdalkader 提交于
The HAL version is based on the stm32lib version.
-
- 16 9月, 2021 1 次提交
-
-
由 Jim Mussared 提交于
This commit removes all parts of code associated with the existing MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE optimisation option, including the -mcache-lookup-bc option to mpy-cross. This feature originally provided a significant performance boost for Unix, but wasn't able to be enabled for MCU targets (due to frozen bytecode), and added significant extra complexity to generating and distributing .mpy files. The equivalent performance gain is now provided by the combination of MICROPY_OPT_LOAD_ATTR_FAST_PATH and MICROPY_OPT_MAP_LOOKUP_CACHE (which has been enabled on the unix port in the previous commit). It's hard to provide precise performance numbers, but tests have been run on a wide variety of architectures (x86-64, ARM Cortex, Aarch64, RISC-V, xtensa) and they all generally agree on the qualitative improvements seen by the combination of MICROPY_OPT_LOAD_ATTR_FAST_PATH and MICROPY_OPT_MAP_LOOKUP_CACHE. For example, on a "quiet" Linux x64 environment (i3-5010U @ 2.10GHz) the change from CACHE_MAP_LOOKUP_IN_BYTECODE, to LOAD_ATTR_FAST_PATH combined with MAP_LOOKUP_CACHE is: diff of scores (higher is better) N=2000 M=2000 bccache -> attrmapcache diff diff% (error%) bm_chaos.py 13742.56 -> 13905.67 : +163.11 = +1.187% (+/-3.75%) bm_fannkuch.py 60.13 -> 61.34 : +1.21 = +2.012% (+/-2.11%) bm_fft.py 113083.20 -> 114793.68 : +1710.48 = +1.513% (+/-1.57%) bm_float.py 256552.80 -> 243908.29 : -12644.51 = -4.929% (+/-1.90%) bm_hexiom.py 521.93 -> 625.41 : +103.48 = +19.826% (+/-0.40%) bm_nqueens.py 197544.25 -> 217713.12 : +20168.87 = +10.210% (+/-3.01%) bm_pidigits.py 8072.98 -> 8198.75 : +125.77 = +1.558% (+/-3.22%) misc_aes.py 17283.45 -> 16480.52 : -802.93 = -4.646% (+/-0.82%) misc_mandel.py 99083.99 -> 128939.84 : +29855.85 = +30.132% (+/-5.88%) misc_pystone.py 83860.10 -> 82592.56 : -1267.54 = -1.511% (+/-2.27%) misc_raytrace.py 21490.40 -> 22227.23 : +736.83 = +3.429% (+/-1.88%) This shows that the new optimisations are at least as good as the existing inline-bytecode-caching, and are sometimes much better (because the new ones apply caching to a wider variety of map lookups). The new optimisations can also benefit code generated by the native emitter, because they apply to the runtime rather than the generated code. The improvement for the native emitter when LOAD_ATTR_FAST_PATH and MAP_LOOKUP_CACHE are enabled is (same Linux environment as above): diff of scores (higher is better) N=2000 M=2000 native -> nat-attrmapcache diff diff% (error%) bm_chaos.py 14130.62 -> 15464.68 : +1334.06 = +9.441% (+/-7.11%) bm_fannkuch.py 74.96 -> 76.16 : +1.20 = +1.601% (+/-1.80%) bm_fft.py 166682.99 -> 168221.86 : +1538.87 = +0.923% (+/-4.20%) bm_float.py 233415.23 -> 265524.90 : +32109.67 = +13.756% (+/-2.57%) bm_hexiom.py 628.59 -> 734.17 : +105.58 = +16.796% (+/-1.39%) bm_nqueens.py 225418.44 -> 232926.45 : +7508.01 = +3.331% (+/-3.10%) bm_pidigits.py 6322.00 -> 6379.52 : +57.52 = +0.910% (+/-5.62%) misc_aes.py 20670.10 -> 27223.18 : +6553.08 = +31.703% (+/-1.56%) misc_mandel.py 138221.11 -> 152014.01 : +13792.90 = +9.979% (+/-2.46%) misc_pystone.py 85032.14 -> 105681.44 : +20649.30 = +24.284% (+/-2.25%) misc_raytrace.py 19800.01 -> 23350.73 : +3550.72 = +17.933% (+/-2.79%) In summary, compared to MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE, the new MICROPY_OPT_LOAD_ATTR_FAST_PATH and MICROPY_OPT_MAP_LOOKUP_CACHE options: - are simpler; - take less code size; - are faster (generally); - work with code generated by the native emitter; - can be used on embedded targets with a small and constant RAM overhead; - allow the same .mpy bytecode to run on all targets. See #7680 for further discussion. And see also #7653 for a discussion about simplifying mpy-cross options. Signed-off-by: NJim Mussared <jim.mussared@gmail.com>
-