- 31 Jul, 2014 9 commits
-
-
Damien George authored
Some important changes to the way the file system is structured on the pyboard: 1. 0: and 1: drive names are now replaced with POSIX inspired directories, namely /flash and /sd. 2. Filesystem now supports the notion of a current working directory. Supports the standard Python way of manipulating it: os.chdir and os.getcwd. 3. On boot up, current directory is /flash if no SD inserted, else /sd if SD inserted. Then runs boot.py and main.py from the current dir. This is the same as the old behaviour, but is much more consistent and flexible (eg you can os.chdir in boot.py to change where main.py is run from). 4. sys.path (for import) is now set to '' (current dir), plus /flash and /flash/lib, and then /sd and /sd/lib if SD inserted. This, along with CWD, means that import now works properly. You can import a file from the current directory. 5. os.listdir is fixed to return just the basename, not the full path. See issue #537 for background and discussion.
-
Damien George authored
This reflects how it's done in stmhal/Makefile, via deploy.
-
Damien George authored
Reduces by about a factor of 10 on average the amount of RAM needed to store the line-number to bytecode map in the bytecode prelude. Using CPython3.4's stdlib for statistics: previously, an average of 13 bytes were used per (bytecode offset, line-number offset) pair, and now with this improvement, that's down to 1.3 bytes on average. Large RAM usage before was due to some very large steps in line numbers, both from the start of the first line in a function way down in the file, and also functions that have big comments and/or big strings in them (both cases were significant). Although the savings are large on average for the CPython stdlib, it won't have such a big effect for small scripts used in embedded programming. Addresses issue #648.
-
-
Damien George authored
This removes mpz_as_int, since that was a terrible function (it implemented saturating conversion). Use mpz_as_int_checked and mpz_as_uint_checked. These now work correctly (they previously had wrong overflow checking, eg print(chr(10000000000000)) on 32-bit machine would incorrectly convert this large number to a small int).
-
Damien George authored
Addresses issue #724.
-
Damien George authored
For accel to start-up reliably, need to wait 30ms between on/off, and 30ms for it to enter active mode. With this fix the accel can be read immediately after initialising it. Addresses issue #763.
-
Damien George authored
Before, pyb.stdin/pyb.stdout allowed some kind of access to the USB VCP device, but it was basic access. This patch adds a proper USB_VCP class and object with much more control over the USB VCP device. Create an object with pyb.USB_VCP(), then use this object as if it were a UART object. It has send, recv, read, write, and other methods. send and recv allow a timeout to be specified. Addresses issue 774.
-
Damien George authored
This allows to create str's with a smaller length than initially asked for.
-
- 30 Jul, 2014 1 commit
-
-
Damien George authored
Lexer is now 8-bit clean inside strings.
-
- 29 Jul, 2014 1 commit
-
-
Damien George authored
Add support for storing args during an exception raised by an irq.
-
- 28 Jul, 2014 2 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Many OSes/CPUs have affinity to put "user" data into lower half of address space. Take advantage of that and remap such addresses into full small int range (including negative part). If address is from upper half, long int will be used. Previously, small int was returned for lower quarter of address space, and upper quarter. For 2 middle quarters, long int was used, which is clearly worse schedule than the above.
-
- 27 Jul, 2014 1 commit
-
-
Damien George authored
-
- 25 Jul, 2014 1 commit
-
-
Dave Hylands authored
The user code should call micropython.alloc_emergency_exception_buf(size) where size is the size of the buffer used to print the argument passed to the exception. With the test code from #732, and a call to micropython.alloc_emergenncy_exception_buf(100) the following error is now printed: ```python >>> import heartbeat_irq Uncaught exception in Timer(4) interrupt handler Traceback (most recent call last): File "0://heartbeat_irq.py", line 14, in heartbeat_cb NameError: name 'led' is not defined ```
-
- 24 Jul, 2014 3 commits
-
-
Damien George authored
Add GNUmakefile to the .gitignore file.
-
Damien George authored
Addresses issue #765.
-
Dave Hylands authored
-
- 22 Jul, 2014 8 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Damien George authored
Allow DFU_UTIL to be overridden from the environment.
-
Damien George authored
Enable 16-bit memory addresses for i2c.mem_read and i2c_mem_write
-
Damien George authored
Deal with reading a buffer less than what was allocated.
-
blmorris authored
-
blmorris authored
to maintain compatibility with existing code.
-
Dave Hylands authored
With this fix, file_long_read now passes.
-
- 21 Jul, 2014 4 commits
-
-
Dave Hylands authored
-
Paul Sokolovsky authored
Currently broken for unicode input streams.
-
-
-
- 20 Jul, 2014 2 commits
-
-
Damien George authored
Recent changes to builtin print meant that print was printing to the mp_sys_stdout_obj, which was sending data raw to the USB CDC device. The data should be cooked so that \n turns into \r\n.
-
Damien George authored
Fixes printing bugs introduced by cb66f41e.
-
- 19 Jul, 2014 5 commits
-
-
Paul Sokolovsky authored
And not system printf(), like it was before. For this, move pfenv_printf() from stmhal port to py/.
-
Damien George authored
Add fsync for windows, i.e. _commit. See dce8876d
-
Damien George authored
py: Add stream reading of n unicode chars; unicode support by default.
-
Damien George authored
With unicode enabled, this patch allows reading a fixed number of characters from text-mode streams; eg file.read(5) will read 5 unicode chars, which can made of more than 5 bytes. For an ASCII stream (ie no chars > 127) it only needs to do 1 read. If there are lots of non-ASCII chars in a stream, then it needs multiple reads of the underlying object. Adds a new test for this case. Enables unicode support by default on unix and stmhal ports.
-
Damien George authored
-
- 18 Jul, 2014 1 commit
-
-
- 17 Jul, 2014 2 commits
-
-
Damien George authored
-
Paul Sokolovsky authored
-