Paul Sokolovsky
ee831cafa9
tests: Add another testcase for relative imports.
2015-02-16 12:11:41 +02:00
Paul Sokolovsky
9e6c82960e
builtinimport: Revamp&refactor handling of relative imports.
...
Relative imports are based of a package, so we're currently at a module
within a package, we should get to package first.
Also, factor out path travsering operation, but this broke testing for
boundary errors with relative imports. TODO: reintroduce them, together
with proper tests.
2015-02-16 12:11:34 +02:00
Paul Sokolovsky
078172dcab
builtinimport: Improve debugging output.
2015-02-16 12:11:03 +02:00
Paul Sokolovsky
e8432b3c72
stackctrl: Encode "recursion depth exceeded" message as qstr.
...
So corresponding exception can be thrown even under tight memory conditions.
2015-02-15 22:41:14 +03:00
Paul Sokolovsky
fa3b895145
objexcept: Optimize traceback allocation for exception.
...
Traceback allocation for exception will now never lead to recursive
MemoryError exception - if there's no memory for traceback, it simply
won't be created.
2015-02-15 22:41:14 +03:00
Paul Sokolovsky
29c4f92e13
objexcept: Optimize using messages without formatting substitutions.
...
They are directly cast to str object, skipping allocation of formatting
buffer.
2015-02-15 22:41:14 +03:00
Paul Sokolovsky
3077fbff26
nlr: Add even more optional debugging logging.
...
Has to be enabled by manual editing, but at least it's there, as debugging
NLR issues may be weird.
2015-02-15 20:28:18 +03:00
Paul Sokolovsky
e89cc13e5c
nlr: If DEBUG, guard against recursive nlr_push().
...
Pushing same NLR record twice would lead to "infinite loop" in nlr_jump
(but more realistically, it will crash as soon as NLR record on stack is
overwritten).
2015-02-15 20:23:52 +03:00
Paul Sokolovsky
53e5e0fa28
py: Make old_globals part of mp_code_state structure.
...
Conceptually it is part of code state, so let it be allocated in the same way
as the rest of state.
2015-02-15 19:24:15 +03:00
Damien George
e5039c6ff8
py: Use TextIOWrapper only if PY_IO_FILEIO def'd; cast size_t for print.
2015-02-15 13:17:11 +00:00
Henrik Sölver
f80f1a7077
stmhal: Add support for CAN rx callbacks.
2015-02-15 03:10:53 +00:00
Damien George
ed8b4da0db
tests: Remove obsolete test; don't use fp in micropython/ tests.
2015-02-15 01:57:39 +00:00
Damien George
f6532bb9e0
py: Simplify and remove redundant code for __iter__ method lookup.
2015-02-15 01:10:13 +00:00
Damien George
d1c3788375
py: Fix loading of immediate pointer in Thumb assembler.
...
Addresses issue #1117 .
2015-02-15 00:45:28 +00:00
Damien George
0868942e77
py: Check for valid file when creating lexer for execfile.
...
Addresses issue #1119 .
2015-02-15 00:02:27 +00:00
stijn
1b8e76b8e6
py: Cleanup duplication in instance_is_callable/instance_call.
2015-02-14 23:49:04 +00:00
stijn
c1832fd206
py: Add setattr builtin.
2015-02-14 23:35:00 +00:00
Damien George
aa730620bb
stmhal: Fix setting of VID.
2015-02-13 22:25:55 +00:00
Damien George
87c6250b4c
esp8266: Add basic pyb.Pin class; supports output mode only.
2015-02-13 22:21:44 +00:00
Damien George
baafb290ad
stmhal: Add uart.sendbreak() method, to send a break condition.
2015-02-13 19:04:24 +00:00
Paul Sokolovsky
089c3f321e
py/asm*.c: Typo fixes in comments.
2015-02-14 02:20:35 +08:00
danicampora
99f3f6b5de
cc3200: Add I2C module. Only master mode is currently supported.
2015-02-13 17:54:04 +01:00
Damien George
601c814603
minimal: Allow to compile without defining MICROPY_HAL_H.
2015-02-13 15:26:53 +00:00
Damien George
ccf45a4283
cc3200: Get bootloader compiling with changes to HAL.
2015-02-13 15:26:22 +00:00
Damien George
0b32e50365
stmhal: Make pybstdio usable by other ports, and use it.
...
Now all ports can use pybstdio.c to provide sys.stdin/stdout/stderr, so
long as they implement mp_hal_stdin_* and mp_hal_stdout_* functions.
2015-02-13 15:04:53 +00:00
Damien George
c385a639e6
stmhal: Remove obsolete usbdev file.
2015-02-13 14:03:44 +00:00
Damien George
b157a99a8b
stmhal: Coding style cleanup in usbd_cdc_msc_hid.c.
2015-02-13 14:02:51 +00:00
Damien George
55d6218b9a
stmhal: Properly define pyb.usb_mode() semantics.
2015-02-13 14:02:51 +00:00
Damien George
65af7ebdc5
stmhal: Put CDC last in config descriptors to match with iface nums.
...
Apparently the order of interface numbers should be sequential and
increasing in a config descriptor. So as to retain compatibility with
Windows drivers for the CDC+MSC and CDC+HID modes, we move the CDC
configs to the end of the descriptors, instead of changing the interface
numbers.
See PR #957 for background.
2015-02-13 14:02:51 +00:00
Damien George
39ce2db181
stmhal: Add "CDC" option to pyb.usb_mode, for CDC device only.
2015-02-13 14:02:51 +00:00
Damien George
d39c7aa517
stmhal: Add Python-configurable USB HID mode.
...
Different HID modes can be configured in Python. You can either use
predefined mouse or keyboard, or write your own report descriptor.
2015-02-13 14:02:51 +00:00
Damien George
b384bcc5de
stmhal: Remove unused usbdev files, and move used ones up a dir.
...
The unused files are from the ST demos for different USB classes and are
not needed for the stmhal port.
2015-02-13 14:02:51 +00:00
Damien George
fb2006cc69
tools: Make gen-changelog.sh sort version strings correctly.
2015-02-13 13:31:02 +00:00
Damien George
79dc0a0886
docs: Bump version to 1.3.10.
2015-02-13 13:26:44 +00:00
Damien George
418ec8bbba
stmhal: Properly deinit timer object.
...
Addresses issue #1113 .
2015-02-13 11:57:29 +00:00
Damien George
192d536fe4
py: Implement clz and rbit for inline Thumb assembler.
2015-02-13 11:06:23 +00:00
Damien George
32f0b7942c
py: Implement sdiv/udiv for inline Thumb assembler.
2015-02-13 10:43:05 +00:00
Damien George
0d967b8ae4
py: Implement push/pop for inline Thumb assembler.
2015-02-13 02:30:35 +00:00
Damien George
dfe944c3e5
py: Expose compile.c:list_get as mp_parse_node_extract_list.
2015-02-13 02:29:46 +00:00
Damien George
8dfbd2d589
py: Make inline assembler raise proper SyntaxError exception on error.
...
Also gives line number of location of error. Very useful!
2015-02-13 01:00:51 +00:00
Damien George
1bf5a022fe
py: Add ldrex and strex to thumb2 inline assembler.
...
These are useful for implementing atomic lock operations.
2015-02-12 22:52:42 +00:00
Damien George
91fc4a9ce1
stmhal: Fix ADC multiplier from 4096 to 4095; optimise fp operation.
2015-02-11 00:25:22 +00:00
Paul Sokolovsky
99bcaa2fb6
modffi: Add toplevel func() function to create a function by pointer.
2015-02-11 07:21:03 +08:00
Damien George
891e444fec
stmhal: Add boot.py and main.py to qstr definitions, to save some RAM.
2015-02-10 22:27:47 +00:00
Damien George
596f41da04
py: Reuse value stack in VM WITH_CLEANUP opcode to reduce C-stack size.
...
Saves 8 bytes C-stack on stmhal and 16 bytes on unix x86.
2015-02-10 13:21:42 +00:00
Damien George
ea0461dcd3
py: Add option to micropython.qstr_info() to dump actual qstrs.
2015-02-10 11:02:28 +00:00
danicampora
53716fcc3e
cc3200: Rename GPIO module to Pin.
...
This change helps making the cc3200 port API a bit closer to stmhal.
The ramaining differences are due to the specific hardware details
of each chip. One feature that has been deliberately disabled is the
possibility to add custom names and custom pin mappings. Those
features are nice and convenient, but in this port, code size is a
major concern.
2015-02-09 20:01:54 +01:00
Damien George
d0df10b2c6
py: Don't unnecessarily create a bound method.
2015-02-09 16:59:15 +00:00
Damien George
48244044a2
py: Allow subclass of native object to delegate to the native buffer_p.
...
Addresses issue #1109 .
2015-02-09 15:08:00 +00:00
Damien George
1a6721fefd
py: Remove obsolete MP_F_LOAD_CONST_{INT,DEC} from emitnative.c.
2015-02-09 14:53:16 +00:00