- May 17, 2019
-
-
Paul Sokolovsky authored
For modules I initially created or made substantial contributions to.
-
- Mar 08, 2019
-
-
Andrew Leech authored
How to use this feature is documented in docs/develop/cmodules.rst.
-
Ayke van Laethem authored
This system makes it a lot easier to include external libraries as static, native modules in MicroPython. Simply pass USER_C_MODULES (like FROZEN_MPY_DIR) as a make parameter.
-
Andrew Leech authored
During make, makemoduledefs.py parses the current builds c files for MP_REGISTER_MODULE(module_name, obj_module, enabled_define) These are used to generate a header with the required entries for "mp_rom_map_elem_t mp_builtin_module_table[]" in py/objmodule.c
-
- Feb 13, 2019
-
-
Yonatan Goldschmidt authored
As mentioned in #4450, `websocket` was experimental with a single intended user, `webrepl`. Therefore, we'll make this change without a weak link `websocket` -> `uwebsocket`.
-
- Oct 23, 2018
-
-
Paul m. p. P authored
Configurable via MICROPY_MODULE_GETATTR, disabled by default. Among other things __getattr__ for modules can help to build lazy loading / code unloading at runtime.
-
- Sep 27, 2018
-
-
Damien George authored
The code implements correct behaviour, as tested by basics/module1.py.
-
- Jul 08, 2018
-
-
Damien George authored
Because this function is simple it saves code size to have it inlined. Being an auxiliary helper function (and only used in the py/ core) the argument should always be an mp_obj_module_t*, so there's no need for the assert (and having it would require including assert.h in obj.h).
-
- Jun 27, 2018
-
-
Paul Sokolovsky authored
The API follows guidelines of https://www.python.org/dev/peps/pep-0272/, but is optimized for code size, with the idea that full PEP 0272 compatibility can be added with a simple Python wrapper mode. The naming of the module follows (u)hashlib pattern. At the bare minimum, this module is expected to provide: * AES128, ECB (i.e. "null") mode, encrypt only Implementation in this commit is based on axTLS routines, and implements following: * AES 128 and 256 * ECB and CBC modes * encrypt and decrypt
-
- Feb 20, 2018
-
-
Damien George authored
-
- Oct 04, 2017
-
-
Damien George authored
Header files that are considered internal to the py core and should not normally be included directly are: py/nlr.h - internal nlr configuration and declarations py/bc0.h - contains bytecode macro definitions py/runtime0.h - contains basic runtime enums Instead, the top-level header files to include are one of: py/obj.h - includes runtime0.h and defines everything to use the mp_obj_t type py/runtime.h - includes mpstate.h and hence nlr.h, obj.h, runtime0.h, and defines everything to use the general runtime support functions Additional, specific headers (eg py/objlist.h) can be included if needed.
-
- Jul 31, 2017
-
-
Alexander Steffen authored
There were several different spellings of MicroPython present in comments, when there should be only one.
-
- Jan 26, 2017
-
-
Damien George authored
They are one-line functions and having them inline in mp_init/mp_deinit eliminates the overhead of a function call, and matches how other state is initialised in mp_init.
-
- Jan 22, 2017
-
-
Damien George authored
-
- Dec 21, 2016
-
-
Paul Sokolovsky authored
import utimeq, utime # Max queue size, the queue allocated statically on creation q = utimeq.utimeq(10) q.push(utime.ticks_ms(), data1, data2) res = [0, 0, 0] # Items in res are filled up with results q.pop(res)
-
- Nov 20, 2016
-
-
Paul Sokolovsky authored
-
- Sep 21, 2016
-
-
Damien George authored
One can instead lookup __name__ in the modules dict to get the value.
-
- Jun 28, 2016
-
-
Damien George authored
-
- Jun 14, 2016
-
-
Paul Sokolovsky authored
-
- May 10, 2016
-
-
Damien George authored
-
- May 02, 2016
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- Apr 28, 2016
-
-
Paul Sokolovsky authored
While just a websocket is enough for handling terminal part of WebREPL, handling file transfer operations requires demultiplexing and acting upon, which is encapsulated in _webrepl class provided by this module, which wraps a websocket object.
-
- Apr 12, 2016
-
-
Damien George authored
-
- Mar 24, 2016
-
-
Paul Sokolovsky authored
Currently, only write support is implemented (of limited buffer size).
-
- Jan 17, 2016
-
-
Paul Sokolovsky authored
Seedable and reproducible pseudo-random number generator. Implemented functions are getrandbits(n) (n <= 32) and seed(). The algorithm used is Yasmarang by Ilya Levin: http://www.literatecode.com/yasmarang
-
- Dec 12, 2015
-
-
Dave Hylands authored
This leaves behind the common functionality in extmod/machine_mem.c which can be used by all ports.
-
- Dec 06, 2015
-
-
Paul Sokolovsky authored
Automagically skip related modules.
-
- Dec 04, 2015
-
-
Paul Sokolovsky authored
This for example will allow people to reload modules which didn't load successfully (e.g. due to syntax error).
-
- Nov 29, 2015
-
-
Damien George authored
This allows the mp_obj_t type to be configured to something other than a pointer-sized primitive type. This patch also includes additional changes to allow the code to compile when sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of mp_uint_t, and various casts.
-
Damien George authored
-
- Oct 26, 2015
-
-
Paul Sokolovsky authored
Based on the original patch by Galen Hazelwood: https://github.com/micropython/micropython/pull/1517 .
-
- Oct 12, 2015
-
-
Damien George authored
-
- Oct 06, 2015
-
-
Paul Sokolovsky authored
-
- May 04, 2015
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Refactored from "stm" module, provides mem8, mem16, mem32 objects with array subscript syntax.
-
- Apr 16, 2015
-
-
Damien George authored
-
Damien George authored
Previous to this patch the printing mechanism was a bit of a tangled mess. This patch attempts to consolidate printing into one interface. All (non-debug) printing now uses the mp_print* family of functions, mainly mp_printf. All these functions take an mp_print_t structure as their first argument, and this structure defines the printing backend through the "print_strn" function of said structure. Printing from the uPy core can reach the platform-defined print code via two paths: either through mp_sys_stdout_obj (defined pert port) in conjunction with mp_stream_write; or through the mp_plat_print structure which uses the MP_PLAT_PRINT_STRN macro to define how string are printed on the platform. The former is only used when MICROPY_PY_IO is defined. With this new scheme printing is generally more efficient (less layers to go through, less arguments to pass), and, given an mp_print_t* structure, one can call mp_print_str for efficiency instead of mp_printf("%s", ...). Code size is also reduced by around 200 bytes on Thumb2 archs.
-
- Apr 11, 2015
-
-
Damien George authored
This simplifies the API for objects and reduces code size (by around 400 bytes on Thumb2, and around 2k on x86). Performance impact was measured with Pystone score, but change was barely noticeable.
-
- Mar 20, 2015
-
-
Paul Sokolovsky authored
Given that there's already support for "fixed table" maps, which are essentially ordered maps, the implementation of OrderedDict just extends "fixed table" maps by adding an "is ordered" flag and add/remove operations, and reuses 95% of objdict code, just making methods tolerant to both dict and OrderedDict. Some things are missing so far, like CPython-compatible repr and comparison. OrderedDict is Disabled by default; enabled on unix and stmhal ports.
-