Damien George
3c658a4e75
py: Fix bug where GC collected native/viper/asm function data.
...
Because (for Thumb) a function pointer has the LSB set, pointers to
dynamic functions in RAM (eg native, viper or asm functions) were not
being traced by the GC. This patch is a comprehensive fix for this.
Addresses issue #820 .
2014-08-24 16:28:17 +01:00
Damien George
25fc41dd31
unix, modtermios: Make it properly configurable; fix spelling mistake.
2014-08-24 13:19:22 +01:00
Paul Sokolovsky
4f9ebade60
modtermios: Add "termios" unix module, subset of CPython's.
...
Also provides setraw() function from "tty" module (which in CPython is
implemented in Python). The idea here is that 95% of "termios" module usage
is to set raw mode to allow access to normal serial devices. Then, instead
of exporting gazillion termios symbols, it's better to implement it in C,
and export minimal number of symbols (mostly baud rates and drain values).
2014-08-23 06:09:46 +03:00
Damien George
72b115cbaa
extmod, zlibd: Make some simple ROM and RAM savings.
...
ROM down by 320 bytes on stmhal. RAM down by 5.5k for a decompression
object.
2014-08-22 18:38:16 +01:00
Damien George
26a0d4f4f1
py: Change hash and len members of str from 16 bit to full word.
...
This allows to make strings longer than 64k. It doesn't use any more
RAM with current GC because a str object still fits in a GC block.
2014-08-22 18:34:28 +01:00
Damien George
69b7dae362
py: Small cleanup in stream.c.
2014-08-22 18:30:02 +01:00
Damien George
d5e7f6e37e
py: Speed up GC allocation.
...
This simple patch gives a very significant speed up for memory allocation
with the GC.
Eg, on PYBv1.0:
tests/basics/dict_del.py: 3.55 seconds -> 1.19 seconds
tests/misc/rge_sm.py: 15.3 seconds -> 2.48 seconds
2014-08-22 18:17:02 +01:00
Paul Sokolovsky
13ec400f28
Merge pull request #796 from turbinenreiter/makeinstall
...
unix: Added install/uninstall
2014-08-18 22:29:37 +03:00
Damien George
7fe2191c9b
py: Code clean-up in native emitter; improve thumb native calls.
2014-08-16 22:31:57 +01:00
Damien George
86de21b810
py: Viper can call functions with native types, and raise exceptions.
2014-08-16 22:06:11 +01:00
Damien George
339bdccc58
Merge pull request #803 from dhylands/ld-opt
...
Put some code into the first 16K of flash
2014-08-16 16:09:39 +01:00
Dave Hylands
3688414d9d
Put some code into the first 16K of flash
...
This basically shrinks the remaining size of flash in the portion
that goes after the internal flash drive.
2014-08-16 08:00:12 -07:00
Damien George
8f81b5cb4b
py: Put SystemExit in builtin namespace.
...
Also fix unix port so that SystemExit with no arg exits with value 0.
2014-08-16 14:32:06 +01:00
Damien George
b63be37be1
stmhal: In safe mode, still mount SD card and present as MSD over USB.
...
It's still "safe" because no scripts are run. Remove the SD card if you
want to access the internal flash filesystem. Addresses issue #616 .
Also: remove obsolete pyb.source_dir setting, and reset pyb.main and
pyb.usb_mode settings on soft-reset.
2014-08-16 14:23:22 +01:00
Damien George
b0accc8571
stmhal: Fix printing of pin name in error message.
2014-08-16 13:56:19 +01:00
Damien George
d779b9642f
tests: Wait for just over 1 sec when testing RTC.
...
Waiting for 1000ms between seconds of RTC is sometimes too quick.
Waiting for 1001ms is enough for the RTC to pass 1 second.
2014-08-16 13:39:14 +01:00
Damien George
244476e3e6
stmhal: For non-debug compile, enable CC/LD opt to remove dead code.
...
Saves over 35k ROM due to elimination of unused HAL functions. All
tests pass.
Addresses issue #702 .
2014-08-16 13:37:05 +01:00
Damien George
c84aa41990
Merge branch 'danpeirce-master'
2014-08-16 11:56:16 +01:00
Dan Peirce
f0c3a7e781
teensy/README.md (corrected typo)
2014-08-16 11:54:36 +01:00
Dan Peirce
6009309c33
modified: teensy/README.md
...
Updated teensy/README.md to reflect change in build process (teensyduino is no
longer required for build).
2014-08-16 11:54:36 +01:00
Damien George
e6c0dff967
py: Viper can now store to global.
2014-08-15 23:47:59 +01:00
Damien George
a5190a7dac
py: Fix typing of viper locals; allow default types in annotation.
2014-08-15 22:39:08 +01:00
Damien George
2ac4af6946
py: Allow viper to have type annotations.
...
Viper functions can now be annotated with the type of their arguments
and return value. Eg:
@micropython.viper
def f(x:int) -> int:
return x + 1
2014-08-15 16:45:41 +01:00
Damien George
6be0b0a8ec
py: Clean up and simplify functions in scope; add STATIC in compiler.
...
Some small code clean-ups that result in about 80 bytes ROM saving for
stmhal.
2014-08-15 14:30:52 +01:00
Damien George
bf133f7737
stmhal: Resolve question in comment about timer clock.
2014-08-14 00:30:14 +01:00
Damien George
2c781eabbd
Merge pull request #798 from stinos/msvc-alignof
...
msvc: Use built-in alignof
2014-08-13 13:34:41 +01:00
Damien George
9b7a8ee8f1
py: Fix mult by negative number of tuple, list, str, bytes.
...
Multiplication of a tuple, list, str or bytes now yields an empty
sequence (instead of crashing). Addresses issue #799
Also added ability to mult bytes on LHS by integer.
2014-08-13 13:22:24 +01:00
stijn
8cce8b7c4c
msvc: Use built-in alignof
...
This also fixes a 'unnamed type definition in parentheses' warning on the
alignof implementation define in binary.c
2014-08-13 10:19:56 +02:00
Damien George
9d02780eaf
Merge branch 'pfalcon-modzlibd'
2014-08-12 23:24:29 +01:00
Damien George
1ddd844815
extmod: Finish rename of zlib to zlibd; enable zlibd on stmhal.
2014-08-12 23:23:53 +01:00
Paul Sokolovsky
5073d3da07
tests: Add test for zlibd module.
2014-08-13 00:26:26 +03:00
Paul Sokolovsky
8882c20b8f
modzlibd: Add tinfl.c from miniz SVN repo, r63.
...
The only change is line-ending convesion to LF.
2014-08-13 00:26:19 +03:00
Paul Sokolovsky
510296f25a
modzlibd: Decompress part of "zlib" module, based on miniz tinfl.c .
2014-08-13 00:26:19 +03:00
Damien George
75ec22bf11
py: #if guard qstrs that are optional.
...
Also disable gc module on bare-arm port.
2014-08-12 20:16:03 +01:00
Damien George
105e32f1a5
stmhal: Enable moductypes by default.
...
Also fixes compiler error in moductypes when compiled without debugging.
Addresses issue #778 .
2014-08-12 20:02:26 +01:00
Damien George
f20375eedd
py: Add .real and .imag attributes to complex numbers.
2014-08-12 19:57:52 +01:00
Damien George
bb91f1195a
py: Improve range: add len, subscr, proper print.
...
Can now index ranges with integers and slices, and reverse ranges
(although reversing is not very efficient).
Not sure how useful this stuff is, but gets us closer to having all of
Python's builtins.
2014-08-12 19:41:18 +01:00
Damien George
4c03b3a899
py: Implement builtin reversed() function.
...
reversed function now implemented, and works for tuple, list, str, bytes
and user objects with __len__ and __getitem__.
Renamed mp_builtin_len to mp_obj_len to make it publically available (eg
for reversed).
2014-08-12 18:33:40 +01:00
Damien George
69c5fe1df6
py: Make a function static; replace NULL with MP_OBJ_NULL.
2014-08-12 18:13:44 +01:00
Damien George
2eb1f604ee
py, objstr: Optimise bytes subscr when unicode is enabled.
...
Saves code bytes and makes it faster, so why not?
2014-08-11 23:24:29 +01:00
Damien George
7703d71938
py, modcmath: Fix doc comment, and add some more of them.
2014-08-11 22:19:44 +00:00
Paul Sokolovsky
9749b2fb0d
objstr: Make sure that bytes are indexed as bytes, not as unicode.
...
Fixes #795 .
2014-08-11 22:38:00 +03:00
Sebastian Plamauer
2eeeafcba5
added install/uninstall
2014-08-11 19:47:00 +02:00
Damien George
6e6bcccdc1
Merge branch 'master' of github.com:micropython/micropython
2014-08-10 22:27:52 +01:00
Damien George
101d87da6a
stmhal: Working STM32F4DISC accelerometer, via Python script.
...
Thanks to David Siorpaes.
2014-08-10 22:26:20 +01:00
Paul Sokolovsky
0c5498540b
objstr: split(): check arg type consistency (str vs bytes).
...
Similar to other methods and following CPython3 strictness.
2014-08-10 23:21:16 +03:00
Paul Sokolovsky
ecca53bd34
py: binary.c: Properly implement alignment for native unpacked structs.
2014-08-10 23:21:08 +03:00
Paul Sokolovsky
2831a8f800
modsocket: .recv() returns bytes object.
2014-08-10 21:24:47 +03:00
Damien George
4ef26c14b1
doc: Fix up a few docs in sys module.
2014-08-10 17:53:43 +01:00
Damien George
30dd23aa7f
doc: Document gc, sys, math, cmath.
2014-08-10 17:50:28 +01:00