aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-08esp8266: Support CFLAGS_EXTRA.Paul Sokolovsky
2016-01-07minimal: Add enough code to run minimal build on STM32F4xx hardware.Damien George
Minimal support code for a Cortex-M CPU is added, along with set-up code for an STM32F4xx MCU, including a UART for a REPL. Tested on a pyboard. Code size is 77592 bytes.
2016-01-07py/viper: Truncate viper integer args so they can be up to 32-bit.Damien George
2016-01-07stmhal: Remove custom mod_machine_mem_get_{read,write}_addr functions.Damien George
They are no longer needed because stm constants can now be 32 bits wide.
2016-01-07stmhal: Make stm constants big ints when they don't fit in a small int.Damien George
Adds 924 bytes of code, but means that no more hacks and work-arounds are needed due to large constants becoming negative.
2016-01-07py/inlinethumb: Remove 30-bit restriction on movwt instruction.Damien George
movwt can now move a full 32-bit constant into a register.
2016-01-07py/inlinethumb: Allow assembler to use big ints as args to instructions.Damien George
2016-01-07py/parse: Improve constant folding to operate on small and big ints.Damien George
Constant folding in the parser can now operate on big ints, whatever their representation. This is now possible because the parser can create parse nodes holding arbitrary objects. For the case of small ints the folding is still efficient in RAM because the folded small int is stored inplace in the parse node. Adds 48 bytes to code size on Thumb2 architecture. Helps reduce heap usage because more constants can be computed at compile time, leading to a smaller parse tree, and most importantly means that the constants don't have to be computed at runtime (perhaps more than once). Parser will now be a little slower when folding due to calls to runtime to do the arithmetic.
2016-01-07py: Change mp_obj_int_is_positive to more general mp_obj_int_sign.Damien George
This function returns the sign (-1, 0 or 1) of the integer object.
2016-01-07py/parse: Optimise away parse node that's just parenthesis around expr.Damien George
Before this patch, (x+y)*z would be parsed to a tree that contained a redundant identity parse node corresponding to the parenthesis. With this patch such nodes are optimised away, which reduces memory requirements for expressions with parenthesis, and simplifies the compiler because it doesn't need to handle this identity case. A parenthesis parse node is still needed for tuples.
2016-01-04docs: Include extra functions in time documentation for pyboard.Henrik Sölver
2016-01-04docs: Add link from pyboard switch tutorial to ISR rules document.Damien George
2016-01-04py/modbuiltins: Fix access of mp_obj_t variable, wrap in MP_OBJ_TO_PTR.Damien George
2016-01-04py/objstr: In str.format, handle case of no format spec for string arg.Damien George
Handles, eg, "{:>20}".format("foo"), where there is no explicit spec for the type of the argument.
2016-01-03docs: Set author as 'Damien P. George and contributors'.Paul Sokolovsky
2016-01-03docs: Fix readthedocs build by updating Latex params.Paul Sokolovsky
2016-01-03tests/object_dict.py: Add test for obj.__dict__ .Paul Sokolovsky
2016-01-03py: Implement __dict__ for instances.stijn
Note that even though wrapped in MICROPY_CPYTHON_COMPAT, it is not fully compatible because the modifications to the dictionary do not propagate to the actual instance members.
2016-01-03py: Make dir report instance membersDave Hylands
2016-01-03tests/uctypes: Test item assignment for scalar arrays.Antonin ENFRUN
2016-01-03uctypes: Implement assignment for scalar arrayAntonin ENFRUN
2016-01-03py: Use polymorphic iterator type where possible to reduce code size.Damien George
Only types whose iterator instances still fit in 4 machine words have been changed to use the polymorphic iterator. Reduces Thumb2 arch code size by 264 bytes.
2016-01-03py/frozenmod: Store frozen module names together, to quickly scan them.Paul Sokolovsky
2016-01-03py: Change struct and macro for builtin fun so they can be type checked.Damien George
2016-01-02py: Change exception traceback data to use size_t instead of mp_uint_t.Damien George
The traceback array stores qstrs and line numbers. qstrs are typed as size_t, and line numbers should safely fit in size_t as well.
2016-01-02unix/Makefile: Move include of mpconfigport.mk to before mkenv.mk.Damien George
So that if MICROPY_FORCE_32BIT is set mpconfigport.mk it influences mkenv.mk.
2016-01-02unix/.gitignore: Ignore gcov files.Paul Sokolovsky
2016-01-01unix/unix_mphal: Be sure to wrap dupterm code with MICROPY_PY_OS_DUPTERM.Paul Sokolovsky
2016-01-01unix/unix_mphal: Handle exceptions in call to dupterm's .read().Paul Sokolovsky
2016-01-01extmod/moduos_dupterm: Handle exceptions in call to dupterm's .write()Paul Sokolovsky
2016-01-01extmod/moduos_dupterm: Make mp_uos_dupterm_tx_strn() function reusable.Paul Sokolovsky
Function to actually spool output terminal data to dupterm object.
2016-01-01py: Clean up instantiation of dupterm object.Paul Sokolovsky
To comply with already established scheme for extmod's.
2016-01-01py/mpconfig: Make configuration of dupterm object reusable.Paul Sokolovsky
2016-01-01extmod/moduos_dupterm: Make uos.dupterm() implementation reusable.Paul Sokolovsky
That's just function which sets/gets dup terminal object, and can be easily reused across ports.
2016-01-01py/frozenmod: Make frozen module content be 0-terminated.Paul Sokolovsky
To allow simple zero-terminated lexers.
2015-12-31docs: Bump version to 1.5.2.Damien George
2015-12-31lib/libc/string0: Use uintptr_t instead of uint32_t.Damien George
This makes the code portable to non-32-bit architectures.
2015-12-30stmhal: Fix USB on the STM32F429DISC boardDave Hylands
The USB REPL has been broken since commit 1be0fde45c8d84eaf04851af96f06aad8171b2b2 This patch allows the STM32F429DISC board (which uses the USB_HS PHY)
2015-12-31py/map: In map lookup, check for fixed map independent of ordered map.Damien George
It's possible to have a fixed map that is properly hashed (ie not simply ordered).
2015-12-31tools: Add C middle-processor to make builtin tables proper hash tables.Damien George
2015-12-31docs: Add discussion on interrupt handlers incl uPy specific techniques.Peter Hinch
2015-12-30extmod/modlwip: Use _ERR_BADF instead of magic number.Paul Sokolovsky
2015-12-30extmod/modlwip: Avoid magic numeric values in memcpy().Paul Sokolovsky
2015-12-30extmod/modlwip: User proper field name and value names for socket state.Paul Sokolovsky
2015-12-30esp8266/modesp: Allow to compile out proprietary espconn stuff.Paul Sokolovsky
2015-12-29extmod/modlwip: Mark some lwip_socket_obj_t's fields as volatile.Paul Sokolovsky
Any fields changed by asynchronous callbacks must be volatile.
2015-12-29extmod/modlwip: tcp_recv: Use more regular and responsive poll pattern.Paul Sokolovsky
Polling once in 100ms means dismal performance. TODO: Propagate this pattern to other polling places.
2015-12-28stmhal: Add struct qstr to block of qstrs needed for MICROPY_PY_STRUCT.Dave Hylands
Otherwise build fails if uctypes is disabled.
2015-12-28windows: Propagate MICROPY_PY_OS_DUPTERM handling from unix port.Paul Sokolovsky
2015-12-28unix: Implement uos.dupterm(). Conditional on MICROPY_PY_OS_DUPTERM.Paul Sokolovsky