- Jul 20, 2015
-
-
Damien George authored
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.
-
- Jul 19, 2015
-
-
Sebastian Plamauer authored
-
- Jul 18, 2015
-
-
Paul Sokolovsky authored
TODO: Contributed code in modesp incorrectly uses private gc_* API.
-
- Jul 17, 2015
-
-
Daniel Campora authored
Simplelink's socket send checks for the size of the packet and sends it in chunks if the size is too large.
-
- Jul 16, 2015
-
-
Daniel Campora authored
-
- Jul 15, 2015
-
-
Daniel Campora authored
-
Daniel Campora authored
-
Daniel Campora authored
-
- Jul 14, 2015
-
-
Dave Hylands authored
-
Damien George authored
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).
-
Paul Sokolovsky authored
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.
-
- Jul 13, 2015
-
-
Paul Sokolovsky authored
Required to implement UDP servers.
-
- Jul 12, 2015
-
-
Paul Sokolovsky authored
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.
-
- Jul 10, 2015
-
-
Paul Sokolovsky authored
Treating it as signed lead to buffer overflow for ports >= 32768.
-
Daniel Campora authored
-
Daniel Campora authored
-
Daniel Campora authored
-
- Jul 09, 2015
-
-
Paul Sokolovsky authored
This usually allows to get just a single address entry.
-
Daniel Campora authored
-
- Jul 08, 2015
-
-
Daniel Campora authored
-
Daniel Campora authored
-
Damien George authored
-
Paul Sokolovsky authored
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.
-
- Jul 07, 2015
-
-
Daniel Campora authored
-
Daniel Campora authored
-
Daniel Campora authored
-
Daniel Campora authored
-
Daniel Campora authored
-
Dave Hylands authored
-
- Jul 06, 2015
-
-
Dave Hylands authored
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
-
Dave Hylands authored
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.
-
Damien George authored
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.
-
Paul Sokolovsky authored
-
Damien George authored
-
Damien George authored
Drops Thumb2 arch size by 24 bytes.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- Jul 05, 2015
-
-
Paul Sokolovsky authored
-
- Jul 04, 2015
-
-
Daniel Campora authored
-
Daniel Campora authored
-