aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-20stmhal: Move HAL Cube files to f4/ subdir, keeping only those we use.Damien George
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.
2015-07-20CODECONVENTIONS: Add a short section about how to allocate heap memory.Damien George
2015-07-20esp8266: Use m_new/m_renew/m_del funcs instead of private gc_xxx.Damien George
2015-07-20py: Make qstr hash size configurable, defaults to 2 bytes.Damien George
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.
2015-07-19modbuiltins: Implement round() to precision.Sebastian Plamauer
2015-07-19esp8266: modesp: Update for gc_realloc() refactor.Paul Sokolovsky
TODO: Contributed code in modesp incorrectly uses private gc_* API.
2015-07-17cc3200: Add socket.sendall() (aliases to send()).Daniel Campora
Simplelink's socket send checks for the size of the packet and sends it in chunks if the size is too large.
2015-07-16cc3200: Make socket stream methods return POSIX error codes.Daniel Campora
2015-07-15cc3200: Remove superflous assignment since the result is not used.Daniel Campora
2015-07-15cc3200: Create /flash/cert folder if it doesn't exist.Daniel Campora
2015-07-15cc3200: Implement new OTA mechanism with 2 firmware update slots.Daniel Campora
2015-07-14stmhal: Add qstr definition for ifconfig when building for WizNetDave Hylands
2015-07-14py: Improve allocation policy of qstr data.Damien George
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).
2015-07-15unix: modsocket: Implement inet_pton() in preference of inet_aton().Paul Sokolovsky
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.
2015-07-14unix: modsocket: Implement recvfrom().Paul Sokolovsky
Required to implement UDP servers.
2015-07-12unix: modsocket: Implement sendto().Paul Sokolovsky
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.
2015-07-11unix: socket.getaddrinfo: Port is unsigned value.Paul Sokolovsky
Treating it as signed lead to buffer overflow for ports >= 32768.
2015-07-10cc3200: Refactor and clean-up socket closing code.Daniel Campora
2015-07-10cc3200: Set simplelink time and date when enabling WLAN.Daniel Campora
2015-07-10cc3200: Add struct weak link for ustruct.Daniel Campora
2015-07-10unix: socket.getaddrinfo: Accept family & socktype arguments.Paul Sokolovsky
This usually allows to get just a single address entry.
2015-07-09cc3200: Increment telnet Tx retry delay on every try.Daniel Campora
2015-07-08cc3200: Correct udelay us to ticks calculation.Daniel Campora
2015-07-08cc3200: Use alternative HAL_Delay also when interrupts are disabled.Daniel Campora
2015-07-08docs: Update pyb.Accel doc to reflect changes and explain filtered_xyz.Damien George
2015-07-08modmachine: Implement physical memory access using /dev/mem (Linux, etc).Paul Sokolovsky
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.
2015-07-07cc3200: Translate simplelink's socket error numbers to POSIX values.Daniel Campora
2015-07-07cc3200: Create /flash/sys and /flash/lib directories while booting.Daniel Campora
2015-07-07cc3200: Make update-wipy.py more robust.Daniel Campora
2015-07-07cc3200: Improve interrupt handling and fix bug in HAL_Delay().Daniel Campora
2015-07-07cc3200: Increment interrupt stack size from 2K to 3K.Daniel Campora
2015-07-07stmhal: Add I2S support to make-pins.pyDave Hylands
2015-07-06tools: Fix pydfu.py to work with old and new versions of PyUSBDave Hylands
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
2015-07-06py: Prevent many extra vstr allocations.Dave Hylands
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.
2015-07-06py/repl: Fix case where shorter names are shadowed by longer names.Damien George
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.
2015-07-06tools/make-frozen.py: Use Python2-compatible shebang.Paul Sokolovsky
2015-07-06tests: Catch ValueError instead of any exception to properly test error.Damien George
2015-07-06extmod/modubinascii: Re-use error string to reduce code size.Damien George
Drops Thumb2 arch size by 24 bytes.
2015-07-06tools/make-frozen.py: Actually make Python2-compatible.Paul Sokolovsky
2015-07-06tools/make-frozen.py: Add Python2 compatibility.Paul Sokolovsky
2015-07-05modstruct: Raise NotImplementedError for unsupported repeat specification.Paul Sokolovsky
2015-07-04cc3200/README.md: Improve make deploy instructions.Daniel Campora
2015-07-04cc3200: Enable base64 methods from modubinascii.Daniel Campora
2015-07-04cc3200/README.md: Add notes about deploying a new software version.Daniel Campora
2015-07-04ubinascii: Fix a shadowed variable case.Paul Sokolovsky
2015-07-04ubinascii: b2a_base64: Optimize away a modulo operation.Paul Sokolovsky
2015-07-04extmod: Add a2b_base64 and b2a_base64 functions to ubinascii.Galen Hazelwood
2015-07-04esp8266: Allow to easily override programming baudrate.Paul Sokolovsky
2015-07-02cc3200: Fix socket recv and recvfrom return value type.Daniel Campora
2015-07-02py/objarray.c: Allow to build with debugging and bytearray but no array.Damien George