- Nov 29, 2017
-
-
Damien George authored
-
- Nov 28, 2017
-
-
Paul Sokolovsky authored
This time hopefully should work reliably, using make $(wildcard) function, which in this case either expands to existing prj_$(BOARD).conf file, or to an empty string for non-existing one.
-
Paul Sokolovsky authored
Zephyr 1.10 switches to CMake-based build system (already in master).
-
Paul Sokolovsky authored
As useful for CI systems. 1.10 doesn't build .bin for qemu_* for example. Also, remove deprecated CONFIG_LEGACY_KERNEL option.
-
Paul Sokolovsky authored
Fails for Zephyr qemu_x86 with: -9e-36 +9.000001e-36
-
Paul Sokolovsky authored
-
- Nov 27, 2017
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
It has equivalent behaviour and reusing it saves some code bytes.
-
Damien George authored
-
Damien George authored
This patch improves parsing of floating point numbers by converting all the digits (integer and fractional) together into a number 1 or greater, and then applying the correct power of 10 at the very end. In particular the multiple "multiply by 0.1" operations to build a fraction are now combined together and applied at the same time as the exponent, at the very end. This helps to retain precision during parsing of floats, and also includes a check that the number doesn't overflow during the parsing. One benefit is that a float will have the same value no matter where the decimal point is located, eg 1.23 == 123e-2.
-
- Nov 26, 2017
-
-
Paul Sokolovsky authored
Per POSIX, http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html these flags aren't valid in the input eventmask. Instead, they can be returned in unsolicited manner in the output eventmask at any time.
-
- Nov 25, 2017
-
-
Paul Sokolovsky authored
Put offset first in OR expressions, and use "offset" var instead of hardcoded numbers. Hopefully, this will make it more self-describing and show patterns better.
-
Paul Sokolovsky authored
-
- Nov 24, 2017
-
-
Damien George authored
Dramatically improves TCP sending throughput because without an explicit call to tcp_output() the data is only sent to the lower layers via the lwIP slow timer which (by default) ticks every 500ms.
-
Damien George authored
The key and cert must both be a str/bytes object in DER format.
-
Damien George authored
-
Damien George authored
-
Damien George authored
Before this patch MP_BINARY_OP_IN had two meanings: coming from bytecode it meant that the args needed to be swapped, but coming from within the runtime meant that the args were already in the correct order. This lead to some confusion in the code and comments stating how args were reversed. It also lead to 2 bugs: 1) containment for a subclass of a native type didn't work; 2) the expression "{True} in True" would illegally succeed and return True. In both of these cases it was because the args to MP_BINARY_OP_IN ended up being reversed twice. To fix these things this patch introduces MP_BINARY_OP_CONTAINS which corresponds exactly to the __contains__ special method, and this is the operator that built-in types should implement. MP_BINARY_OP_IN is now only emitted by the compiler and is converted to MP_BINARY_OP_CONTAINS by swapping the arguments.
-
Damien George authored
By directly including runtime0.h the mpconfig.h settings are not included and so the enums in runtime0.h can be incorrect.
-
Damien George authored
In mp_binary_op, there is no need to explicitly check for type->getiter being non-null and raising an exception because this is handled exactly by mp_getiter(). So just call the latter unconditionally.
-
- Nov 23, 2017
-
-
Paul Sokolovsky authored
-
Peter Hinch authored
-
- Nov 22, 2017
-
-
Damien George authored
-
Damien George authored
-
- Nov 21, 2017
-
-
Damien George authored
This generalises and simplifies the code and follows CPython behaviour.
-
- Nov 20, 2017
-
-
Paul Sokolovsky authored
By declaring interface in objnamedtuple.h and introducing a helper allocation function.
-
Damien George authored
This patch introduces a new compile-time config option to disable multiple inheritance at the Python level: MICROPY_MULTIPLE_INHERITANCE. It is enabled by default. Disabling multiple inheritance eliminates a lot of recursion in the call graph (which is important for some embedded systems), and can be used to reduce code size for ports that are really constrained (by around 200 bytes for Thumb2 archs). With multiple inheritance disabled all tests in the test-suite pass except those that explicitly test for multiple inheritance.
-
Damien George authored
-
Damien George authored
These board-level macros have been completely replaced by feature-level config options.
-
Jaroslav Sykora authored
This is a low-cost evaluation kit board from ST based on the STM32 Nucleo-144 form factor. It uses the STM32F746ZG MCU in the LQFP144 package. The MCU has 1MB of flash and 320kB of System RAM. Cortex-M7 runs at up to 216MHz.
-
Damien George authored
-
Damien George authored
It's possible to use the methods (eg ilistdir) of a VFS FatFS object without it being mounted in the VFS itself. This previously worked but only because FatFS was "mounting" the filesystem automatically when any function (eg f_opendir) was called. But it didn't work for ports that used synchronisation objects (_FS_REENTRANT) because they are only initialised via a call to f_mount. So, call f_mount explicitly when creating a new FatFS object so that everything is set up correctly. Then also provide a finaliser to do the f_umount call, but only if synchronisation objects are enabled (since otherwise the f_umount call does nothing).
-
Peter Hinch authored
-
- Nov 16, 2017
-
-
Damien George authored
The argument is optional and if given should be a string naming the status variable to query.
-
Damien George authored
This patch uses existing qstr data where possible when constructing a str from a bytes object.
-
Damien George authored
The function mp_obj_new_str_of_type is a general str object constructor used in many places in the code to create either a str or bytes object. When creating a str it should first check if the string data already exists as an interned qstr, and if so then return the qstr object. This patch makes the function have such behaviour, which helps to reduce heap usage by reusing existing interned data where possible. The old behaviour of mp_obj_new_str_of_type (which didn't check for existing interned data) is made available through the function mp_obj_new_str_copy, but should only be used in very special cases. One consequence of this patch is that the following expression is now True: 'abc' is ' abc '.split()[0]
-
Damien George authored
This patch simplifies the str creation API to favour the common case of creating a str object that is not forced to be interned. To force interning of a new str the new mp_obj_new_str_via_qstr function is added, and should only be used if warranted. Apart from simplifying the mp_obj_new_str function (and making it have the same signature as mp_obj_new_bytes), this patch also reduces code size by a bit (-16 bytes for bare-arm and roughly -40 bytes on the bare-metal archs).
-
Damien George authored
-
- Nov 15, 2017
-
-
Damien George authored
-