aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-26Simplify names for argcheck.c / arg parsing.Damien George
2014-04-26Add ARRAY_SIZE macro, and use it where possible.Damien George
2014-04-26Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-26bare-arm: Disable more stuff to reduce binary size.Damien George
2014-04-26py: Make collections module configurable, enabled by default.Damien George
2014-04-26objstr: Optimize .rstrip() by scanning string from end.Paul Sokolovsky
2014-04-26objstr: Implement .lstrip() & .rstrip().Paul Sokolovsky
Share code with .strip(). TODO: optimize .rstrip().
2014-04-26modsocket: Make .send() support arbitrary objects with buffer interface.Paul Sokolovsky
This is CPython-compliant (except that CPython doesn't support buffer protocol for str).
2014-04-26streams: Make .write() support arbitrary objects with buffer interface.Paul Sokolovsky
This in particular fixes writing str vs bytes.
2014-04-25py: Add MICROPY_ENABLE_DOC_STRING, disabled by default.Damien George
Also add a few STATIC's to some compile functions that should have them. Addresses issue #521.
2014-04-25Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-25py, gc: Zero out newly allocated blocks in the GC.Damien George
Also add some more debugging output to gc_dump_alloc_table(). Now that newly allocated heap is always zero'd, maybe we just make this a policy for the uPy API to keep it simple (ie any new implementation of memory allocation must zero all allocations). This follows the D language philosophy. Before this patch, a previously used memory block which had pointers in it may still retain those pointers if the new user of that block does not actually use the entire block. Eg, if I want 5 blocks worth of heap, I actually get 8 (round up to nearest 4). Then I never use the last 3, so they keep their old values, which may be pointers pointing to the heap, hence preventing GC. In rare (or maybe not that rare) cases, this leads to long, unintentional "linked lists" within the GC'd heap, filling it up completely. It's pretty rare, because you have to reuse exactly that memory which is part of this "linked list", and reuse it in just the right way. This should fix issue #522, and might have something to do with issue #510.
2014-04-25py: Support instance __call__ method.Paul Sokolovsky
2014-04-25py, gc: Fix old gc_realloc for case when NULL is passed in as ptr.Damien George
2014-04-24Merge pull request #515 from errordeveloper/qemuDamien George
Qemu
2014-04-24py, vm: Fix recent bug where state is freed too early.Damien George
2014-04-24py, vm: Free heap-allocated state if it was allocated on the heap.Damien George
2014-04-24Merge pull request #519 from pfalcon/exc-no-ptr-to-fieldDamien George
objexcept: Don't store args tuple within exception object.
2014-04-24Merge pull request #518 from pfalcon/vm-traceDamien George
vm: Add rudimentary bytecode execution tracing capability.
2014-04-24Makefile: Allow to override "super optimization" options used for some files.Paul Sokolovsky
To help with debugging issue like #510 for example.
2014-04-23windows/README: Use CROSS_COMPILE instead of CC to cover other tools too.Paul Sokolovsky
Suggested by @lurch.
2014-04-23objexcept: Don't store args tuple within exception object.Paul Sokolovsky
To avoid pointer-to-field GC problem.
2014-04-23vm: Add rudimentary bytecode execution tracing capability.Paul Sokolovsky
2014-04-23showbc: MAKE_CLOSURE*: Update for new closed-over encoding.Paul Sokolovsky
2014-04-23emitglue: Typo fix in var name.Paul Sokolovsky
2014-04-22builtinimport: If there was error compiling imported module, raise exception.Paul Sokolovsky
2014-04-22unix: Workaround MP_OBJ_NEW_SMALL_INT() 64-bit issues.Paul Sokolovsky
2014-04-22modsocket: Clean up OSError-like exception a bit.Paul Sokolovsky
Some BSD socket functions don't return error numbers in errno namespace, but rather in other error namespaces. CPython resolves this by using OSError subclasses for them. We don't do that so far, so there's ambiguity here.
2014-04-22unix: OSError's args[0] should be errno numeric value.Paul Sokolovsky
Well, Python3 also defines an attribute for that, but that's bloat.
2014-04-22objexcept: Add mp_obj_new_exception_arg1() convenience function.Paul Sokolovsky
2014-04-22modffi: Don't use OSError for clearly unrelated errors.Paul Sokolovsky
2014-04-22modffi: Describe typecodes where they differ from used by struct module.Paul Sokolovsky
Exact behavior of typecodes may be not yet enforced.
2014-04-21travis: should test building qemu-arm as well.Ilya Dmitrichenko
2014-04-21qemu-arm: update makefile (d553be5).Ilya Dmitrichenko
2014-04-21qemu-arm: more generic port name.Ilya Dmitrichenko
2014-04-21cortex-m3-qemu: refactor the port.Ilya Dmitrichenko
Switch from CodeSourcery to ARM GCC and clean-up some stale files, also copy `main.c` and `mpconfigport.h` from bare-arm.
2014-04-21cortex-m3-qemu: a working portIlya Dmitrichenko
2014-04-21tools: Update pyboard.py to work with latest changes to RTC.Damien George
2014-04-21stmhal: Update help text.Damien George
2014-04-21stmhal: Fix bug with pin GPIO reading.Damien George
2014-04-21stmhal, usrsw: Wrap usrsw.c in #if, for when switch is not available.Damien George
2014-04-21stmhal, accel: Add TODO comment.Damien George
2014-04-21stmhal, usrsw: Update comments for new switch API.Damien George
2014-04-21stmhal: Make switch a class, to follow suit of all other modules.Damien George
Instead of pyb.switch() as a function, it's more consistent (with respect to all the other modules and peripherals) to have pyb.Switch() create a switch object. This then generalises to having multiple switches. Call the object to get its state. Use sw.callback to set the callback function for when the switch is pressed.
2014-04-21stmhal, servo: Rename calibrate method to calibration.Damien George
It should be a noun, since it supports getting and setting depending on the number of arguments given.
2014-04-21stmhal, timer: Remove obsolete global variable.Damien George
2014-04-21stmhal: Add Timer class: simple TIM control, incl callback on IRQ.Damien George
Simple but functional timer control. More sophistication will eventually be added, or for now just use direct register access :) Also added pyb.freq() function to get MCU clock frequencies.
2014-04-21py: Add 'align' and 'data' meta-instructions to inline assembler.Damien George
2014-04-21stmhal: Make DAC dynamically allocate instances; rename dma->write_timed.Damien George
2014-04-21stmhal: Clean up rtc.c a bit.Damien George