summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-11-23py/emitglue: Implement persistent saving and loading of const objects.Damien George
2015-11-23py/emitglue: Add feature-flag header to .mpy to detect bytecode compat.Damien George
Loading .mpy files will now check to make sure that the target VM can support the bytecode.
2015-11-23unix/main: Get rid of perror() which uses stdio.Paul Sokolovsky
2015-11-22tests/int_big_*: Add more tests for result normalization.Paul Sokolovsky
Tested by comparability to small int/casting to bool.
2015-11-22py/mpz: Normalize (remove leading zeros) xor operation result.Paul Sokolovsky
2015-11-22tests/int_big_xor: Test that xor result is normalized.Paul Sokolovsky
And thus can be successfully used in comparisons, etc.
2015-11-22py/formatfloat: Handle calculation of integer digit for %f format properly.Paul Sokolovsky
%f prints true integer digit, so its calculation should happen before any exponential scaling.
2015-11-22py/formatfloat: Workaround (fix?) incorrect rounding for %f format.Paul Sokolovsky
2015-11-22tests/float/string_format: Add testcase for incorrect rounding for %f.Paul Sokolovsky
2015-11-22py/formatfloat: Convert to fully portable implementation.Paul Sokolovsky
This takes previous IEEE-754 single precision float implementation, and converts it to fully portable parametrizable implementation using C99 functions like signbit(), isnan(), isinf(). As long as those functions are available (they can be defined in adhoc manner of course), and compiler can perform standard arithmetic and comparison operations on a float type, this implementation will work with any underlying float type (including types whose mantissa is larger than available intergral integer type).
2015-11-22lib/utils/printf: Fix issue with putchar define for some ports.Paul Sokolovsky
2015-11-22lib/utils/printf: Add extra prototypes.Paul Sokolovsky
2015-11-22unix: Use printf() implementation in terms of mp_printf().Paul Sokolovsky
In other words, unix port now uses overriden printf(), instead of using libc's. This should remove almost all dependency on libc stdio (which is bloated).
2015-11-21unix/modsocket: Use snprintf(), as defined by lib/utils/printf.c.Paul Sokolovsky
2015-11-21py/emitglue: Host definition of mp_verbose_flag.Paul Sokolovsky
This may not seem like the ideal place, but is actually the only place in py/ where it gets referenced, so is just right.
2015-11-21py/modsys: Consistently use indented #if's.Paul Sokolovsky
2015-11-21unix/modsocket: Implement sockaddr() function to decode raw socket address.Paul Sokolovsky
Return tuple of (address_family, net_addr, [port, [extra_data]]). net_addr is still raw network address as bytes object, but suitable for passing to inet_ntop() function. At the very least, sockaddr() will separate address family value from binary socket address (and currently, only AF_INET family is decoded).
2015-11-20unix/modsocket: Removed dangling references to sockaddr_in_type.Paul Sokolovsky
2015-11-20unix/modffi: Mark 'O' type specifier as implemented.Paul Sokolovsky
2015-11-20py: Use MP_OBJ_NULL instead of NULL when appropriate.Damien George
2015-11-20unix/moduselect: Initialise variable so can compile in non-debug mode.Damien George
2015-11-20py/emitglue: Add mp_raw_code_load_mem to load raw-code from memory.Damien George
2015-11-20py/emitglue: Only compile raw-code fatfs loader when on thumb2 platform.Damien George
Here we are assuming that a thumb2 port will have fatfs, which is only roughly true. We need a better way of enabling specific raw-code file readers.
2015-11-20py/compile: Add mp_compile_to_raw_code() to return raw code object.Damien George
This can then be passed to mp_raw_code_save_file to save a .mpy file.
2015-11-19py: Added Cygwin support to py/nlrx86.S.Igor Gatis
2015-11-19py/map: Store key/value in earliest possible slot in hash table.Damien George
This change makes the code behave how it was supposed to work when first written. The avail_slot variable is set to the first free slot when looking for a key (which would come from deleting an entry). So it's more efficient (for subsequent lookups) to insert a new key into such a slot, rather than the very last slot that was searched.
2015-11-18cc3200: Bump version to 1.1.1.danicampora
2015-11-18cc3200/README.md: Correct cc3200's update file name.danicampora
2015-11-18docs/wipy: Make wifi/wlan naming consistent with tutorial.rst.Chris Liechti
2015-11-18docs/wipy: Add warning about losing wlan connection when changing mode.Jason Hildebrand
Also provide workarounds, link to other revelant sections, and fix some typos.
2015-11-18cc3200/appsign.sh: Use md5 if running under Darwin.Gary Ashton-Jones
2015-11-18docs: Update docs for WiPy wlan.connect().Noah
- The link establishment timeout is infinite by default - Fix typo in notes about the auth kwarg
2015-11-18docs/wipy: Fixed some typos in the WiPy's tutorials.Dave Hylands
2015-11-17py/mpstate: Make mp_pending_exception volatile.Damien George
It can change asynchronously.
2015-11-17py/modmath: Make log2, log10 and hyperbolic funcs be SPECIAL_FUNCTIONS.Damien George
Will be included only when MICROPY_PY_MATH_SPECIAL_FUNCTIONS is enabled. Also covers cmath module (but only log10 is there at the moment).
2015-11-17py: Implement default and star args for lambdas.Damien George
2015-11-17py/compile: Don't unnecessarily save state when compiling param list.Damien George
Parameter lists can't be nested so there is no need to save the global state when compiling them.
2015-11-16cc3200: Unmount all user file systems after a soft reset.danicampora
2015-11-17unix: Add "uselect" module, with poll() function.Paul Sokolovsky
Underlyingly, uses standard POSIX poll() for portability.
2015-11-16unix/input: Switch to POSIX I/O for history reading/writing.Paul Sokolovsky
2015-11-15tools: Update to upip 0.6.2. Fixes issue due to MacOSX undocumented behavior.Paul Sokolovsky
2015-11-14tools: Update upip to 0.6.1. Fixes normal installs without -p switch.Paul Sokolovsky
2015-11-14unix/modos: getenv(): Handle non-existing envvar correctly.Paul Sokolovsky
2015-11-14stmhal/modmachine: Initial attempt to add I2C & SPI classes.Paul Sokolovsky
In new hardware API, these classes implement master modes of interfaces, and "mode" parameter is not accepted. Trying to implement new HW API in terms of older pyb module leaves variuos corner cases: In new HW API, I2C(1) means "I2C #1 in master mode" (? depends on interpretation), while in old API, it means "I2C #1, with no settings changes". For I2C class, it's easy to make mode optional, because that's last positional param, but for SPI, there's "baudrate" after it (which is inconsistent with I2C, which requires "baudrate" to be kwonly-arg).
2015-11-14unix/modos: Add Windows workaround for mkdir().Paul Sokolovsky
2015-11-14windows: Define ssize_t and use renamed mphal headerstijn
This fixes the build after changes in [66fd3e4] and [3a6b3d2]
2015-11-14py/modmath: Don't create symbol entry for expm1() if not needed.Paul Sokolovsky
2015-11-14py/modmath: Make expm1() be in MICROPY_PY_MATH_SPECIAL_FUNCTIONS.Paul Sokolovsky
2015-11-14tools: Update upip to 0.6.Paul Sokolovsky
Removes FFI dependency, instead uses builtin os module. Thus can work on systems where dynamic library loading is not available.
2015-11-13unix/modos: Add mkdir().Paul Sokolovsky
Dependency of upip.