Damien George
0107e90328
stmhal: Enable module weak links.
...
os, time, select modules are now prefixed with u, but are still
available (via weak links) as their original names.
ure and ujson now available as re and json via weak links.
2014-10-12 20:23:47 +01:00
Damien George
c14a81662c
py: Add module weak link support.
...
With this patch a port can enable module weak link support and provide
a dict of qstr->module mapping. This mapping is looked up only if an
import fails to find the requested module in the filesystem.
This allows to have the builtin module named, eg, usocket, and provide
a weak link of "socket" to the same module, but this weak link can be
overridden if a file by the name "socket.py" is found in the import
path.
2014-10-12 20:18:40 +01:00
Damien George
3c34d4140d
py: Fix x86 viper code generation, mem8 <-> mem16 for load.
2014-10-12 16:10:25 +00:00
Damien George
91cfd414c0
py: Implement native load for viper.
...
Viper can now do: ptr8(buf)[0], which loads a byte from a buffer using
machine instructions.
2014-10-12 16:59:29 +01:00
Damien George
1ef2348df0
py: Implement and,or,xor native ops for viper.
2014-10-12 14:21:06 +01:00
Paul Sokolovsky
1606607bd4
modure: Make sure that re1.5 compiled in only of modure itself is enabled.
...
This is achieved by including re1.5 *.c files straight from modure.c .
2014-10-12 03:40:20 +03:00
Paul Sokolovsky
457c0a606c
modure: Upgrade re1.5 to 0.5.1
...
Changes include:
regexp.h: Add double-include protection.
2014-10-12 03:12:19 +03:00
Damien George
fbf976c9aa
Merge pull request #902 from pfalcon/readme-unix
...
README: Update "unix" section with more info/details.
2014-10-11 18:58:46 +01:00
Damien George
37671c9a97
Merge branch 'pfalcon-modure'
2014-10-11 18:55:44 +01:00
Damien George
dd5ee9ff9c
stmhal: Enable ure module (tests pass on pyboard).
2014-10-11 18:55:12 +01:00
Damien George
26fa3e30ec
Merge branch 'modure' of https://github.com/pfalcon/micropython into pfalcon-modure
2014-10-11 18:49:02 +01:00
Paul Sokolovsky
945df4e564
README: Update "unix" section with more info/details.
2014-10-11 20:45:32 +03:00
Damien George
1ce916aefd
Merge pull request #900 from dhylands/comp-deadtime
...
Add support for complimentary channel output and deadtime.
2014-10-11 18:44:39 +01:00
Paul Sokolovsky
c36c75c4dc
unix: Update comment MICROPY_GCREGS_SETJMP (untested -> undertested).
2014-10-11 20:33:44 +03:00
Paul Sokolovsky
6c2ab5c315
unix: Add comment about needed dependencies for MICROPY_FORCE_32BIT.
2014-10-11 20:33:37 +03:00
Paul Sokolovsky
f7bcce0552
modure: Basic tests.
2014-10-11 14:36:33 +03:00
Paul Sokolovsky
5edbadefc1
modure: Import needed files from re1.5 v0.5.
...
https://github.com/pfalcon/re1.5
2014-10-11 14:36:32 +03:00
Paul Sokolovsky
c71e045165
modure: Initial module, using re1.5 (which is based on re1 codebase).
...
https://github.com/pfalcon/re1.5
2014-10-11 14:36:32 +03:00
Dave Hylands
1c795445b3
Add support for complimentary channel output and deadtime.
...
This patch enables output on the complimentary channels (TIMx_CHyN).
For timers 1 and 8, deadtime can also be inserted when the channels
transition. For the pyboard, TIM8_CH1/CH1N and TIM8_CH2/CH2N can
take advantage of this.
2014-10-10 13:54:03 -07:00
Damien George
9b6617ea8b
stmhal: Add pyb.stop() and pyb.standby() functions.
2014-10-09 19:02:47 +01:00
Damien George
cc5b4a2653
Merge pull request #899 from pfalcon/usocket-rename
...
unix: Rename "microsocket" module to "usocket".
2014-10-09 18:58:24 +01:00
Paul Sokolovsky
23b3b04072
unix: Rename "microsocket" module to "usocket".
...
Per new conventions, we'd like to consistently use "u*" naming conventions
for modules which don't offer complete CPython compatibility, while offer
subset or similar API.
2014-10-09 20:43:10 +03:00
Paul Sokolovsky
a2d8f98a7e
examples: Rename unix socket examples to have more precise naming (http).
2014-10-09 20:35:56 +03:00
Damien George
1e49b151a7
Merge branch 'master' of github.com:micropython/micropython
2014-10-09 16:54:14 +01:00
Damien George
f0f964807e
Merge branch 'dhylands-lexer-crash'
2014-10-09 16:54:03 +01:00
Damien George
9bf5f2857d
py: Add further checks for failed malloc in lexer init functions.
2014-10-09 16:53:37 +01:00
Damien George
a8202762f0
Merge branch 'lexer-crash' of https://github.com/dhylands/micropython into dhylands-lexer-crash
2014-10-09 16:48:55 +01:00
Damien George
40e4c777a1
Merge pull request #897 from tomvonclef/master
...
Updating README.md. The Unix build requires pkg-config for FFI.
2014-10-09 16:47:06 +01:00
Damien George
7989b07637
Merge branch 'dhylands-memory-error'
2014-10-09 16:45:15 +01:00
Damien George
4091445612
py: Add #if guard around gc-specific code.
2014-10-09 16:44:43 +01:00
Dave Hylands
e20cbbec73
Make lexer fail gracefully when memory can't be allocated.
2014-10-08 23:17:35 -07:00
Tom von Clef
2090a98e80
Updating README.md to include the fact that the Unix build requires pkg-config to build the FFI module.
2014-10-08 17:26:03 -04:00
Dave Hylands
3556e45711
Allow real memory errors (from locked gc) to be reported with traceback.
2014-10-07 08:07:49 -07:00
Paul Sokolovsky
67f25dfe6f
travis: Install realpath, required for teensy build.
2014-10-06 23:49:17 +03:00
Paul Sokolovsky
5d328cbeb9
windows: mingw32 gcc doesn't define endianness macros, so just assume little.
...
Specifically, at least Ubuntu's i586-mingw32msvc-gcc doesn't supply
__LITTLE_ENDIAN__ and friends. And as it's safe enough to assume that
Windows is only little-endian, then it's defined unconditionally,
instead of duplicating detection logic in py/mpconfig.h (or adding
windows-specific defines to it).
2014-10-06 23:18:59 +03:00
Paul Sokolovsky
5dc8f9b28a
tests: Skip ffi_float.py if module ffi is not available.
2014-10-06 22:37:40 +03:00
Paul Sokolovsky
9aeec0e3a3
tests: Add missing "import sys".
2014-10-06 22:30:46 +03:00
Damien George
f53c343363
tests: Force skip of LE test on non-LE arch; improve run-tests-exp.sh.
2014-10-06 17:35:46 +00:00
Damien George
9c6f7378f7
tests: Make run-tests-exp.sh skip tests that fail due to invalid decorator.
...
Should address issue #856 .
2014-10-06 17:06:49 +00:00
Damien George
f32498fe04
py: Extra autodetect for little endianness using __LITTLE_ENDIAN__.
2014-10-06 16:09:31 +00:00
Damien George
fec70ad369
stmhal: Remove long-obsolete pybwlan.[ch] files from old CC3k driver.
2014-10-06 15:40:25 +00:00
Damien George
9336ee320a
py: Make mp_binary_set_val work on big endian machine.
2014-10-06 15:05:35 +00:00
Damien George
fcdb239815
py: Make int.to_bytes work on big endian machine.
...
Partly addresses issue #856 .
2014-10-06 13:45:34 +00:00
Damien George
a9bcd51dc7
py: Try to autodetect machine endianness when not defined by port.
2014-10-06 13:44:59 +00:00
Damien George
5a04e2cca8
tests: Add check for micropython.native and then skip relevant tests.
...
If micropython.native decorator doesn't compile, then we skill all
native/viper tests.
This patch also re-enables the ujson_loads test on NT.
Addresses issue #861 , and partially addresses issue #856 .
2014-10-05 22:27:12 +01:00
Damien George
854c8c0153
unix: Detect and print compile error.
2014-10-05 22:25:36 +01:00
Damien George
d03c681608
stmhal: Use mp_uint_t where appropriate.
...
Found these by compiling stmhal with mp_uint_t of type uint32_t instead
of unsigned int. This actually makes a difference to the code, but just
a curiosity.
2014-10-05 21:51:54 +01:00
Damien George
c4d0868df1
py: Implement proper context save/restore for eval/exec; factor code.
...
This has benefits all round: code factoring for parse/compile/execute,
proper context save/restore for exec, allow to sepcify globals/locals
for eval, and reduced ROM usage by >100 bytes on stmhal and unix.
Also, the call to mp_parse_compile_execute is tail call optimised for
the import code, so it doesn't increase stack memory usage.
2014-10-05 20:13:34 +01:00
Damien George
a91ac2011f
py: Make compiler return a proper exception on SyntaxError.
2014-10-05 19:01:34 +01:00
Damien George
6dba992182
stmhal: Add config option to disable/enable CAN driver.
2014-10-05 18:05:26 +01:00