summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
...
| * extmod/moduselect: Update to use size_t for array accessor.Damien George2017-03-29
| |
| * py: Convert mp_uint_t to size_t for tuple/list accessors.Damien George2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes mp_uint_t to size_t for the len argument of the following public facing C functions: mp_obj_tuple_get mp_obj_list_get mp_obj_get_array These functions take a pointer to the len argument (to be filled in by the function) and callers of these functions should update their code so the type of len is changed to size_t. For ports that don't use nan-boxing there should be no change in generate code because the size of the type remains the same (word sized), and in a lot of cases there won't even be a compiler warning if the type remains as mp_uint_t. The reason for this change is to standardise on the use of size_t for variables that count memory (or memory related) sizes/lengths. It helps builds that use nan-boxing.
| * extmod/vfs_fat: Fix calculation of total blocks in statvfs.Damien George2017-03-29
| |
| * py/compile: Provide terse error message for invalid dict/set literals.Damien George2017-03-29
| |
| * py: Shorten a couple of error messages.Damien George2017-03-29
| |
| * py/compile: Simplify syntax-error messages for illegal assignments.Damien George2017-03-29
| | | | | | | | | | | | | | | | With this patch all illegal assignments are reported as "can't assign to expression". Before the patch there were special cases for a literal on the LHS, and for augmented assignments (eg +=), but it seems a waste of bytes (and there are lots of bytes used in error messages) to spend on distinguishing such errors which a user will rarely encounter.
| * py/lexer: Simplify and reduce code size for operator tokenising.Damien George2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By removing the 'E' code from the operator token encoding mini-language the tokenising can be simplified. The 'E' code was only used for the != operator which is now handled as a special case; the optimisations for the general case more than make up for the addition of this single, special case. Furthermore, the . and ... operators can be handled in the same way as != which reduces the code size a little further. This simplification also removes a "goto". Changes in code size for this patch are (measured in bytes): bare-arm: -48 minimal x86: -64 unix x86-64: -112 unix nanbox: -64 stmhal: -48 cc3200: -48 esp8266: -76
| * zephyr/prj_base.conf: Enable TCP (and UDP explicitly).Paul Sokolovsky2017-03-29
| |
| * py: Use mp_raise_TypeError/mp_raise_ValueError helpers where possible.Damien George2017-03-28
| | | | | | | | Saves 168 bytes on bare-arm.
| * stmhal/dma: Fix reinitialisation of DMA on F7 MCUs, following F4.Damien George2017-03-28
| |
| * stmhal/hal: For F7 MCUs, expose DMA_CalcBaseAndBitshift function.Damien George2017-03-28
| | | | | | | | | | It's needed by the DMA driver to do an efficient reinitialisation. This patch follows what is done in the F4 HAL.
| * stmhal/spi: Clean and/or invalidate D-cache before SPI DMA transfers.Damien George2017-03-28
| | | | | | | | | | On MCUs with a cache (eg F7) this must be done or else the SPI data that is transferred is incorrect.
| * stmhal/board: Fix existing and add more pin defs for NUCLEO_F767ZI.Damien George2017-03-28
| |
| * stmhal/boards: Fix alt-func config for PA5 of STM32F767.Damien George2017-03-28
| |
| * zephyr/prj_base.conf: Disable legacy kernel compatibility.Paul Sokolovsky2017-03-27
| | | | | | | | | | This keeps dependency on mdef, sysgen and other stuff which complicates build integration.
| * py/objmap: Convert mp_uint_t to size_t.Damien George2017-03-27
| |
| * esp8266/modesp: Remove long-obsolete and unused espconn bindings.Damien George2017-03-27
| |
| * tests/basics: Add test for super() when self is closed over.Damien George2017-03-27
| |
| * py/compile: When compiling super(), handle closed-over self variable.Damien George2017-03-27
| | | | | | | | | | | | The self variable may be closed-over in the function, and in that case the call to super() should load the contents of the closure cell using LOAD_DEREF (before this patch it would just load the cell directly).
| * py/vm: Fix VM opcode tracing to print correct stack pointer.Damien George2017-03-27
| | | | | | | | Also const_table is now moved to the code_state->fun_bc structure.
| * zephyr/zephyr_getchar: Use native k_sem instead of legacy nano_sem.Paul Sokolovsky2017-03-27
| |
| * py/obj: Change mp_uint_t to size_t for mp_obj_get_array_fixed_n len arg.Damien George2017-03-26
| |
| * esp8266/modesp: Use mp_obj_str_get_str instead of mp_obj_str_get_data.Damien George2017-03-26
| |
| * extmod/modlwip: Use mp_obj_str_get_str instead of mp_obj_str_get_data.Damien George2017-03-26
| |
| * README: Change Travis & Coveralls badges to not use link references.Damien George2017-03-26
| | | | | | | | Link references don't seem to work anymore.
| * py/nlrx86: Better check for Zephyr (requires 1.7).Paul Sokolovsky2017-03-26
| |
| * README: Describe extmod/ dir.Paul Sokolovsky2017-03-25
| |
| * README: Add link to docs.micropython.org.Paul Sokolovsky2017-03-25
| |
| * unix: Use mp_obj_str_get_str instead of mp_obj_str_get_data.Damien George2017-03-25
| |
| * py/objarray: Use mp_obj_str_get_str instead of mp_obj_str_get_data.Damien George2017-03-25
| |
| * py: Remove MP_STATE_CTX, use MP_STATE_THREAD instead (it's an alias).Damien George2017-03-24
| | | | | | | | | | MP_STATE_CTX was recently aliased to MP_STATE_THREAD and can now be removed.
| * py: Use mp_locals/mp_globals accessor funcs instead of MP_STATE_CTX.Damien George2017-03-24
| | | | | | | | To improve maintainability of the code.
| * py/objnamedtuple: Use size_t where appropriate, instead of mp_uint_t.Damien George2017-03-24
| |
| * py/objtype: Use size_t where appropriate, instead of mp_uint_t or uint.Damien George2017-03-24
| |
| * tests/float: Add tests for round() of inf, nan and large number.Damien George2017-03-24
| |
| * py/modbuiltins: Allow round() to return a big int if necessary.Damien George2017-03-24
| | | | | | | | | | | | | | Previous to this patch, if the result of the round function overflowed a small int, or was inf or nan, then a garbage value was returned. With this patch the correct big-int is returned if necessary and exceptions are raised for inf or nan.
| * py/modbuiltins: For round() builtin use nearbyint instead of round.Damien George2017-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The C nearbyint function has exactly the semantics that Python's round() requires, whereas C's round() requires extra steps to handle rounding of numbers half way between integers. So using nearbyint reduces code size and potentially eliminates any source of errors in the handling of half-way numbers. Also, bare-metal implementations of nearbyint can be more efficient than round, so further code size is saved (and efficiency improved). nearbyint is provided in the C99 standard so it should be available on all supported platforms.
| * lib/libm: Add implementation of nearbyintf, from musl-1.1.16.Damien George2017-03-24
| |
| * tests/float: Add tests for math funcs that return ints.Damien George2017-03-23
| | | | | | | | One should test bigint, inf and nan to make sure all cases are covered.
| * py/objint: Handle special case of -0 when classifying fp as int.Damien George2017-03-23
| | | | | | | | | | Otherwise -0.0 is classified as a bigint, which for builds without bigints will lead unexpectedly to an overflow.
| * py/modmath: Allow trunc/ceil/floor to return a big int if necessary.Damien George2017-03-23
| | | | | | | | | | | | | | Previous to this patch, if the result of the trunc/ceil/floor functions overflowed a small int, or was inf or nan, then a garbage value was returned. With this patch the correct big-int is returned if necessary, and exceptions are raised for inf or nan.
| * py/lexer: Remove obsolete comment, since lexer can now raise exceptions.Damien George2017-03-23
| |
| * py: Define and use MP_OBJ_ITER_BUF_NSLOTS to get size of stack iter buf.Damien George2017-03-23
| | | | | | | | | | | | | | | | It improves readability of code and reduces the chance to make a mistake. This patch also fixes a bug with nan-boxing builds by rounding up the calculation of the new NSLOTS variable, giving the correct number of slots (being 4) even if mp_obj_t is larger than the native machine size.
| * py/sequence: Convert mp_uint_t to size_t where appropriate.Damien George2017-03-23
| |
| * py: Use size_t as len argument and return type of mp_get_index.Damien George2017-03-23
| | | | | | | | | | These values are used to compute memory addresses and so size_t is the more appropriate type to use.
| * msvc: Remove directory with generated files when cleaning.stijn2017-03-23
| | | | | | | | | | This assures after cleaning all build artefacts (qstr related files, generated version header) have been removed.
| * windows: Make msvc project file support any version from VS2013 to VS2017stijn2017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of having the PlatformToolset property hardcoded to a specific version just set it to the value of DefaultPlatformToolset: this gets defined according to the commandline environment in which the build was started. Instead of just supporting VS2015 the project can now be built by any version from VS2013 to VS2017 and normally future versions as well, without quirks like VS asking whether you want to upgrade the project to the latest version (as was the case when opening the project in VS2017) or not being able to build at all (as was the case when opening the project in VS2013). Also adjust the .gitignore file to ignore any artefacts from VS2017.
| * minimal/Makefile: Change C standard from gnu99 to c99.Damien George2017-03-23
| |
| * bare-arm/Makefile: Change C standard from gnu99 to c99.Damien George2017-03-23
| |
| * all/Makefile: Remove -ansi from GCC flags, its ignored anyway.Krzysztof Blazewicz2017-03-23
| | | | | | | | | | | | The -ansi flag is used for C dialect selection and it is equivalent to -std=c90. Because it goes right before -std=gnu99 it is ignored as for conflicting flags GCC always uses the last one.