summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* py: Small code space optimisations for memoryview slice assigment.Damien George2015-07-20
| | | | | Also adds #if guards to allow uPy core to compile without memoryview enabled, but with slice assignment enabled.
* qemu-arm: Enable array slice assignment to get memoryview1 test to pass.Delio Brignoli2015-07-20
|
* py: Implement memoryview slice assignment.Delio Brignoli2015-07-20
| | | | | Adds ability to do "memcpy" with memoryview objects, such as: m1[0:3] = m2[2:5].
* stmhal: Add CMSIS device header files for STM32F2xx series.Damien George2015-07-20
|
* stmhal: Add STM32CubeF2 version 1.1.0, in hal/f2 directory.Wojtek Siudzinski2015-07-20
| | | | | | | Only those files which are needed by the stmhal port are added. Also includes a dummy file (stm32f2xx_hal_pcd_ex.c) to keep the build system the same for f4 and f2 MCU series.
* stmhal: Update Makefile and board configs to compile with relocated hal.Damien George2015-07-20
|
* stmhal: Move HAL Cube files to f4/ subdir, keeping only those we use.Damien George2015-07-20
| | | | | | | | | This is in preparation for supporting other MCU series, such as STM32F2xx. Directory structure for the HAL is now hal/f4/{inc,src}, where "f4" will in the future be different for other series. HAL source/header files that are not use are removed to reduce the size of the code.
* CODECONVENTIONS: Add a short section about how to allocate heap memory.Damien George2015-07-20
|
* esp8266: Use m_new/m_renew/m_del funcs instead of private gc_xxx.Damien George2015-07-20
|
* py: Make qstr hash size configurable, defaults to 2 bytes.Damien George2015-07-20
| | | | | | | This patch makes configurable, via MICROPY_QSTR_BYTES_IN_HASH, the number of bytes used for a qstr hash. It was originally fixed at 2 bytes, and now defaults to 2 bytes. Setting it to 1 byte will save ROM and RAM at a small expense of hash collisions.
* modbuiltins: Implement round() to precision.Sebastian Plamauer2015-07-19
|
* esp8266: modesp: Update for gc_realloc() refactor.Paul Sokolovsky2015-07-19
| | | | TODO: Contributed code in modesp incorrectly uses private gc_* API.
* cc3200: Add socket.sendall() (aliases to send()).Daniel Campora2015-07-17
| | | | | Simplelink's socket send checks for the size of the packet and sends it in chunks if the size is too large.
* cc3200: Make socket stream methods return POSIX error codes.Daniel Campora2015-07-16
|
* cc3200: Remove superflous assignment since the result is not used.Daniel Campora2015-07-15
|
* cc3200: Create /flash/cert folder if it doesn't exist.Daniel Campora2015-07-15
|
* cc3200: Implement new OTA mechanism with 2 firmware update slots.Daniel Campora2015-07-15
|
* stmhal: Add qstr definition for ifconfig when building for WizNetDave Hylands2015-07-14
|
* py: Improve allocation policy of qstr data.Damien George2015-07-14
| | | | | | | | | | | | | | | | | | | | Previous to this patch all interned strings lived in their own malloc'd chunk. On average this wastes N/2 bytes per interned string, where N is the number-of-bytes for a quanta of the memory allocator (16 bytes on 32 bit archs). With this patch interned strings are concatenated into the same malloc'd chunk when possible. Such chunks are enlarged inplace when possible, and shrunk to fit when a new chunk is needed. RAM savings with this patch are highly varied, but should always show an improvement (unless only 3 or 4 strings are interned). New version typically uses about 70% of previous memory for the qstr data, and can lead to savings of around 10% of total memory footprint of a running script. Costs about 120 bytes code size on Thumb2 archs (depends on how many calls to gc_realloc are made).
* unix: modsocket: Implement inet_pton() in preference of inet_aton().Paul Sokolovsky2015-07-15
| | | | | | | | inet_pton supports both ipv4 and ipv6 addresses. Interface is also extensible for other address families, but underlying libc inet_pton() function isn't really extensible (e.g., it doesn't return length of binary address, i.e. it's really hardcoded to AF_INET and AF_INET6). But anyway, on Python side, we could extend it to support other addresses.
* unix: modsocket: Implement recvfrom().Paul Sokolovsky2015-07-14
| | | | Required to implement UDP servers.
* unix: modsocket: Implement sendto().Paul Sokolovsky2015-07-12
| | | | | | | | | sendto() turns out to be mandatory function to work with UDP. It may seem that connect(addr) + send() would achieve the same effect, but what connect() appears to do is to set source address filter on a socket to its argument. Then everything falls apart: socket sends to a broad-/multi-cast address, but reply is sent from real peer address, which doesn't match filter set by connect(), so local socket never sees a reply.
* unix: socket.getaddrinfo: Port is unsigned value.Paul Sokolovsky2015-07-11
| | | | Treating it as signed lead to buffer overflow for ports >= 32768.
* cc3200: Refactor and clean-up socket closing code.Daniel Campora2015-07-10
|
* cc3200: Set simplelink time and date when enabling WLAN.Daniel Campora2015-07-10
|
* cc3200: Add struct weak link for ustruct.Daniel Campora2015-07-10
|
* unix: socket.getaddrinfo: Accept family & socktype arguments.Paul Sokolovsky2015-07-10
| | | | This usually allows to get just a single address entry.
* cc3200: Increment telnet Tx retry delay on every try.Daniel Campora2015-07-09
|
* cc3200: Correct udelay us to ticks calculation.Daniel Campora2015-07-08
|
* cc3200: Use alternative HAL_Delay also when interrupts are disabled.Daniel Campora2015-07-08
|
* docs: Update pyb.Accel doc to reflect changes and explain filtered_xyz.Damien George2015-07-08
|
* modmachine: Implement physical memory access using /dev/mem (Linux, etc).Paul Sokolovsky2015-07-08
| | | | | | | | | | This requires root access. And on recent Linux kernels, with CONFIG_STRICT_DEVMEM option enabled, only address ranges listed in /proc/iomem can be accessed. The above compiled-time option can be however overriden with boot-time option "iomem=relaxed". This also removed separate read/write paths - there unlikely would be a case when they're different.
* cc3200: Translate simplelink's socket error numbers to POSIX values.Daniel Campora2015-07-07
|
* cc3200: Create /flash/sys and /flash/lib directories while booting.Daniel Campora2015-07-07
|
* cc3200: Make update-wipy.py more robust.Daniel Campora2015-07-07
|
* cc3200: Improve interrupt handling and fix bug in HAL_Delay().Daniel Campora2015-07-07
|
* cc3200: Increment interrupt stack size from 2K to 3K.Daniel Campora2015-07-07
|
* stmhal: Add I2S support to make-pins.pyDave Hylands2015-07-07
|
* tools: Fix pydfu.py to work with old and new versions of PyUSBDave Hylands2015-07-06
| | | | | | | | | Update pydfu.py to match with the version from openmv. I just updated the openmv version to work with both of the PyUSB 1.0.0.b1 and 1.0.0.b2 See: https://github.com/walac/pyusb/blob/master/ReleaseNotes.rst
* py: Prevent many extra vstr allocations.Dave Hylands2015-07-06
| | | | | | | | | | | | | | | | | | | | | | | | | I checked the entire codebase, and every place that vstr_init_len was called, there was a call to mp_obj_new_str_from_vstr after it. mp_obj_new_str_from_vstr always tries to reallocate a new buffer 1 byte larger than the original to store the terminating null character. In many cases, if we allocated the initial buffer to be 1 byte longer, we can prevent this extra allocation, and just reuse the originally allocated buffer. Asking to read 256 bytes and only getting 100 will still cause the extra allocation, but if you ask to read 256 and get 256 then the extra allocation will be optimized away. Yes - the reallocation is optimized in the heap to try and reuse the buffer if it can, but it takes quite a few cycles to figure this out. Note by Damien: vstr_init_len should now be considered as a string-init convenience function and used only when creating null-terminated objects.
* py/repl: Fix case where shorter names are shadowed by longer names.Damien George2015-07-06
| | | | | | Previous to this patch, if "abcd" and "ab" were possible completions to tab-completing "a", then tab would expand to "abcd" straight away if this identifier appeared first in the dict.
* tools/make-frozen.py: Use Python2-compatible shebang.Paul Sokolovsky2015-07-06
|
* tests: Catch ValueError instead of any exception to properly test error.Damien George2015-07-06
|
* extmod/modubinascii: Re-use error string to reduce code size.Damien George2015-07-06
| | | | Drops Thumb2 arch size by 24 bytes.
* tools/make-frozen.py: Actually make Python2-compatible.Paul Sokolovsky2015-07-06
|
* tools/make-frozen.py: Add Python2 compatibility.Paul Sokolovsky2015-07-06
|
* modstruct: Raise NotImplementedError for unsupported repeat specification.Paul Sokolovsky2015-07-05
|
* cc3200/README.md: Improve make deploy instructions.Daniel Campora2015-07-04
|
* cc3200: Enable base64 methods from modubinascii.Daniel Campora2015-07-04
|
* cc3200/README.md: Add notes about deploying a new software version.Daniel Campora2015-07-04
|