Paul Sokolovsky
645582fe14
py: Make id() return small int for the most common address space mapping.
...
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.
2014-07-28 21:21:59 +03:00
Damien George
adf0f2ae1a
py: Change stream protocol API: fns return uint; is_text for text.
2014-07-27 22:38:58 +01:00
Dave Hylands
5b7fd20fea
Add support for storing args during an exception raised by an irq.
...
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
```
2014-07-25 14:00:06 -07:00
Damien George
05c255f039
Merge pull request #771 from dhylands/gitignore-GNUmakefile
...
Add GNUmakefile to the .gitignore file.
2014-07-24 14:32:20 +01:00
Damien George
ffe911d228
py: Make long ints hashable.
...
Addresses issue #765 .
2014-07-24 14:21:37 +01:00
Dave Hylands
1bbdd4ed2a
Add GNUmakefile to the .gitignore file.
2014-07-24 00:09:56 -07:00
Paul Sokolovsky
4ecb700fe3
streams: Treat non-error output size as unsigned.
2014-07-23 00:25:46 +03:00
Paul Sokolovsky
e1b1abc1e8
stream: Revert to checking for the correct error value.
2014-07-23 00:23:44 +03:00
Damien George
de993f4573
Merge pull request #766 from dhylands/allow-dfu-override
...
Allow DFU_UTIL to be overridden from the environment.
2014-07-22 11:02:59 +01:00
Damien George
7cfae9693b
Merge pull request #746 from blmorris/master
...
Enable 16-bit memory addresses for i2c.mem_read and i2c_mem_write
2014-07-22 11:01:42 +01:00
Damien George
3e0bce3587
Merge pull request #767 from dhylands/fix-short-read
...
Deal with reading a buffer less than what was allocated.
2014-07-22 11:01:24 +01:00
blmorris
7a03b5f56a
remove Myriad2 board config files from master
2014-07-21 23:12:07 -04:00
blmorris
86f0b31bcf
Change boolean 'use_16bit_addr' to int 'addr_size', can be either 8 or 16 bits, default value is 8
...
to maintain compatibility with existing code.
2014-07-21 22:45:04 -04:00
Dave Hylands
1d8816c36b
Deal with reading a buffer less than what was allocated.
...
With this fix, file_long_read now passes.
2014-07-21 19:10:10 -07:00
Dave Hylands
a2e7a1315d
Allow DFU_UTIL to be overridden from the environment.
2014-07-21 16:28:07 -07:00
Paul Sokolovsky
512465bc66
tests: Add testcase for read by length past EOF.
...
Currently broken for unicode input streams.
2014-07-22 00:11:37 +03:00
blmorris
721d6240c9
Merge https://github.com/blmorris/micropython into Myriad2
2014-07-21 12:50:10 -04:00
blmorris
4038f513ea
Merge https://github.com/micropython/micropython
2014-07-21 12:47:57 -04:00
Damien George
951ed9d02f
stmhal: Fix REPL printing by cooking output sent to stdout_obj.
...
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.
2014-07-20 13:57:43 +01:00
Damien George
1163cb9cb5
stmhal: Change calls to pfenv_printf to pfenv_vprintf.
...
Fixes printing bugs introduced by
cb66f41ebc
.
2014-07-20 13:10:18 +01:00
Paul Sokolovsky
cb66f41ebc
py: Make print() accept "file" argument, and actually print to stream.
...
And not system printf(), like it was before. For this, move pfenv_printf()
from stmhal port to py/.
2014-07-19 21:27:22 +03:00
Damien George
04c9fec7d1
Merge pull request #757 from stinos/windows-fsync
...
Add fsync for windows, i.e. _commit. See dce8876
2014-07-19 18:40:49 +01:00
Damien George
2c0701101b
Merge pull request #759 from micropython/unicode-read-chars
...
py: Add stream reading of n unicode chars; unicode support by default.
2014-07-19 18:38:28 +01:00
Damien George
1694bc733d
py: Add stream reading of n unicode chars; unicode support by default.
...
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.
2014-07-19 18:34:04 +01:00
Damien George
02bc882c3d
stmhal: Add file.flush and os.stat.
2014-07-19 16:39:13 +01:00
blmorris
0f4ee2e44a
Merge https://github.com/micropython/micropython
2014-07-18 16:06:22 -04:00
Damien George
5467186b0e
py: Remove unnecessary argument in bytearray print.
2014-07-17 21:56:32 +01:00
Paul Sokolovsky
e3737b858a
formatfloat.c: Typo fix in comment.
2014-07-17 20:45:58 +03:00
Damien George
a4022c92f0
py, inline asm: Change "and" op name to "and_" to avoid keyword clash.
...
Addresses issue #753 .
2014-07-17 12:37:56 +01:00
Damien George
a50494ab68
Merge pull request #755 from dhylands/teensy-core
...
Add teensy core files and use same toolchain as stmhal
2014-07-17 12:30:44 +01:00
Damien George
db56ad2915
Merge pull request #754 from dhylands/fix-teensy
...
Fix teensy to build on latest tree.
2014-07-17 12:26:35 +01:00
stijn
73ab8cc21d
Add fsync for windows, i.e. _commit. See dce8876
2014-07-16 09:37:09 +02:00
blmorris
ef204733d6
Initial commit of Myriad2 board-specific configuration files
2014-07-15 15:10:56 -04:00
blmorris
0429d35f37
Merge https://github.com/micropython/micropython
2014-07-15 12:28:49 -04:00
Dave Hylands
04f5ae1d1c
Add core files and use same toolchain as stmhal
2014-07-14 22:48:22 -07:00
Dave Hylands
4d9dd26818
Fix teensy to build on latest tree.
...
Put #include of mpconfig.h before misc.h
Replace uses of ARRAY_SIZE with MP_ARRAY_SIZE
2014-07-14 22:19:27 -07:00
Paul Sokolovsky
dce8876dbe
unix: file: No fsync() on Windows.
2014-07-13 23:34:35 +03:00
Paul Sokolovsky
ac736f15c9
stream: Factor out mp_stream_write() method to write a memstring to stream.
2014-07-13 23:14:32 +03:00
Paul Sokolovsky
122c9db3db
unix: file: Implement .flush() method.
...
This method apparently should be part of stream interface.
2014-07-13 23:14:24 +03:00
Paul Sokolovsky
a1760a56ff
test: Add run-tests-exp.sh, script to run testsuite with only sh dependency.
...
This script uses expected test results as generated by run-tests --write-exp,
and requires only standard unix shell funtionality (no bash). It is useful
to run testsuite on embedded systems, where there's no CPython and Bash.
2014-07-13 18:49:56 +03:00
Paul Sokolovsky
b82f34edde
unix: Allow to disable MICROPY_EMIT_X64 from commandline.
...
emitnative in particular requires nlr_* to be real functions, so doesn't
compile with MICROPY_NLR_SETJMP=1.
2014-07-13 13:49:51 +03:00
Paul Sokolovsky
2cf381081a
run-tests: Add option to write CPython's test results to .exp files.
...
Mostly to run testsuite on targets which doesn't have CPython.
2014-07-12 16:34:51 +03:00
Paul Sokolovsky
564e46452d
py: Add generic helper to align a pointer.
2014-07-12 15:57:28 +03:00
Paul Sokolovsky
58c9586c34
emitbc: Fix structure field alignment issue.
...
dummy_data field is accessed as uint value (e.g.
in emit_write_bytecode_byte_ptr), but is not aligned as such, which causes
bus errors or incorrect behavior on any arch requiring strictly aligned
data (ARM pre-v7, MIPS, etc, etc).
2014-07-12 15:57:28 +03:00
blmorris
847a6b30b1
Incorporate stylistic changes suggested by @dhylands
2014-07-11 21:18:09 -04:00
blmorris
e687fdbcbc
Add keyword argument 'memaddr_use_16b' to i2c.mem_read and mem_write methods
...
to allow these methods to transmit 16 bit addresses to an i2c device
Add 'memaddr_use_16b' to qstrdefsport.h
2014-07-11 16:14:01 -04:00
Paul Sokolovsky
2097c8b1e1
moductypes: Add symbolic constants to specify bitfield position/length.
2014-07-11 00:06:36 +03:00
Paul Sokolovsky
8215847b4d
moductypes: Foreign data interface module, roughly based on ctype ideas.
...
But much smaller and memory-efficient. Uses Python builtin data structures
(dict, tuple, int) to describe structure layout.
2014-07-09 19:28:24 +03:00
Damien George
42b6419056
Merge branch 'dhylands-fix-sdcard-read'
2014-07-07 07:29:52 +01:00
Damien George
594699bc88
stmhal: Protect SD_WriteBlocks by IRQ disable/enable pair.
2014-07-07 07:29:06 +01:00