Damien George
9472907ae1
py: Fix handling of negative numbers in struct.pack of q/Q.
2015-04-25 23:51:14 +01:00
Paul Sokolovsky
ae2c81ff38
vm: On exiting except block, clear sys.exc_info() value.
...
This doesn't handle case fo enclosed except blocks, but once again,
sys.exc_info() support is a workaround for software which uses it
instead of properly catching exceptions via variable in except clause.
2015-04-26 01:40:37 +03:00
Damien George
0f553fe10b
py: Implement power op for long-long implementation of bignum.
2015-04-25 23:28:10 +01:00
Damien George
271d18eb08
py: Support conversion of bignum to bytes.
...
This gets int.to_bytes working for bignum, and also struct.pack with 'q'
and 'Q' args on 32-bit machines.
Addresses issue #1155 .
2015-04-25 23:16:39 +01:00
Daniel Campora
7c8b4c1a8b
cc3200: Correct MAKE_SOCKADDR and UNPACK_SOCKADDR byte order.
2015-04-25 23:36:45 +02:00
Paul Sokolovsky
8b85d14b92
modsys: Add basic sys.exc_info() implementation.
...
The implementation is very basic and non-compliant and provided solely for
CPython compatibility. The function itself is bad Python2 heritage, its
usage is discouraged.
2015-04-25 03:49:23 +03:00
Paul Sokolovsky
cf5b6f6974
objfun: Fix to stackless mode after recent refactor.
2015-04-25 01:43:45 +03:00
Damien George
8c1d23a0e2
py: Modify bytecode "with" behaviour so it doesn't use any heap.
...
Before this patch a "with" block needed to create a bound method object
on the heap for the __exit__ call. Now it doesn't because we use
load_method instead of load_attr, and save the method+self on the stack.
2015-04-24 01:52:28 +01:00
Damien George
ede0f3ab3d
py: Add optional code to check bytes constructor values are in range.
...
Compiled in only if MICROPY_CPYTHON_COMPAT is set.
Addresses issue #1093 .
2015-04-23 15:28:18 +01:00
Dave Hylands
fd787c5e4e
stmhal: Reset the timer counter to zero after changing the auto reload.
...
Because if the counter is above the new value of the auto-reload register
then it may be a long time until the timer wraps around.
2015-04-22 23:31:56 +01:00
Damien George
40d43ea88d
tests: Add more tests for viper, including tests for ViperTypeError's.
2015-04-22 23:18:28 +01:00
Damien George
5e9810396f
py/objint_mpz.c: Make int_from_uint actually return uint.
2015-04-22 23:17:34 +01:00
Damien George
f66ee4dfd7
py/mpz.c: Fix bug with shl not truncating zero digits correctly.
2015-04-22 23:16:49 +01:00
Damien George
8f6aad2f48
py/emitnative.c: Fix stack adjustment when erroring on binary op.
2015-04-22 23:16:03 +01:00
Daniel Campora
eaefc8b9d6
cc3200: Add WiPy specific information to README.md
2015-04-22 21:03:10 +02:00
Damien George
1f9e2188a6
tests: Add tests for attrtuple, and for more corner cases.
2015-04-22 16:52:03 +01:00
Damien George
956d765786
py: Fix printing of "inf" and "nan" floating point values.
2015-04-22 16:51:29 +01:00
stijn
c52f1258a8
msvc: Update genhdr script to emit MicroPython version numbers
2015-04-22 12:07:30 +02:00
Damien George
dea853d3a3
docs: Document pyb.stop, pyb.standby and pyb.RTC.wakeup.
2015-04-21 22:35:17 +01:00
Damien George
4735c45c51
py: Clean up some bits and pieces in parser, grammar.
2015-04-21 16:43:18 +00:00
Damien George
fa90ab1407
py: Simplify grammar for stmt rule (this is also how CPython has it).
2015-04-21 16:35:50 +00:00
Damien George
d8837cea6f
stmhal: Implement os.uname() to get details of OS and hardware.
2015-04-21 14:51:49 +00:00
Damien George
c3184aea63
py: Add sys.implementation, containing uPy name and version number.
...
Uses attrtuple if it's enabled, otherwise just a normal tuple.
2015-04-21 14:45:04 +00:00
Damien George
5aa311d330
py: Add attrtuple object, for space-efficient tuples with attr access.
...
If you need the functionality of a namedtuple but will only make 1 or a
few instances, then use an attrtuple instead.
2015-04-21 14:14:24 +00:00
Damien George
23a2b11abf
tools: Add STM32F4DISC and ESPRUINO_PICO to stmhal build script.
2015-04-21 13:16:41 +00:00
Damien George
43d56f9ba9
docs: Bump version to 1.4.2.
2015-04-21 12:51:14 +00:00
Damien George
e521f0eb68
acks: Add 2 names to ACKNOWLEDGEMENTS file.
2015-04-21 11:23:23 +01:00
Damien George
c8b60f013b
py: Make viper codegen raise proper exception (ViperTypeError) on error.
...
This fixes a long standing problem that viper code generation gave
terrible error messages, and actually no errors on pyboard where
assertions are disabled.
Now all compile-time errors are raised as proper Python exceptions, and
are of type ViperTypeError.
Addresses issue #940 .
2015-04-20 13:29:31 +00:00
Damien George
2bb5f41611
tools/pyboard.py: Make it 8-bit clean, so it works with unicode chars.
...
Addresses issue #1190 .
2015-04-19 21:31:28 +01:00
Damien George
f35b5d28db
stmhal/pyexec.c: Make raw REPL mode 8-bit clean.
2015-04-19 21:30:49 +01:00
Daniel Campora
df5d9c77f4
cc3200: Fix bootloader and modpyb after printf overhaul.
...
The bootloader needs string0.c because of memset, memcpy and others,
without string0.c it magically links, but calling any of those
functions results in a hard fault.
In debug mode, modpyb needs printf, and including stdio.h leads to
conflicts due to the redefinitions made in the simplelink drivers.
2015-04-19 20:59:10 +02:00
Damien George
d8475092d1
qemu-arm: Disable inline asm tests that use floating point.
2015-04-19 15:50:24 +01:00
=
5008972fef
py/inlinethumb: Support for core floating point instructions.
...
Adds support for the following Thumb2 VFP instructions, via the option
MICROPY_EMIT_INLINE_THUMB_FLOAT:
vcmp
vsqrt
vneg
vcvt_f32_to_s32
vcvt_s32_to_f32
vmrs
vmov
vldr
vstr
vadd
vsub
vmul
vdiv
2015-04-19 15:47:05 +01:00
Damien George
d8cbbcaa9d
py: Fix builtin ord so that it can handle bytes values >= 0x80.
...
Addresses issue #1188 .
2015-04-19 12:26:46 +01:00
Damien George
404b68da88
stmhal: Provide ADC capabilities for F401 and F411 MCUs.
...
Simply needed to define which pins have which ADC channel on them.
2015-04-18 22:39:06 +01:00
Damien George
b42a5050fb
stmhal: Add support for STM32F411 MCU.
2015-04-18 22:15:59 +01:00
Damien George
3e592531eb
stmhal: For flash storage use same params for F407 as F405.
2015-04-18 22:08:16 +01:00
Damien George
90e6d0c2ac
stmhal: Add support for Espruino Pico board.
...
To build:
make BOARD=ESPRUINO_PICO
To deploy: short the BOOT0/BTN contact on the back of the board (eg by
drawing over it with a graphite pencil), then hold down BTN while
inserting the board into the USB port. The board should then enter DFU
mode, and the firmware can be downloaded using:
make BOARD=ESPRUINO_PICO deploy
2015-04-18 21:40:59 +01:00
Damien George
e4b4e5aa31
stmhal: Add stm32f401.ld for linking F401 targets.
2015-04-18 21:40:59 +01:00
Damien George
0435e76250
stmhal: Make ld and af files configurable within Makefile.
...
Each board now needs an mpconfigboard.mk file which defines AF_FILE and
LD_FILE.
Also moved stm32f405.ld to boards/ directory to keep things organised.
2015-04-18 21:40:59 +01:00
Damien George
03ec6e4d01
stmhal: Add stm32f401_af.csv, for AF definitions of F401 MCUs.
2015-04-18 21:40:59 +01:00
Damien George
9253e7bdf7
stmhal: Rename stm32f4xx_af.csv to stm32f405_af.csv.
...
Since this file is only valid for F405 MCUs, not generic F4xx.
2015-04-18 21:40:59 +01:00
Damien George
6be0bbb886
stmhal: Add support for flash filesystem on F401 MCUs.
...
It uses a 16k cache buffer and so the filesystem size is limited.
2015-04-18 21:40:59 +01:00
Damien George
5a11086d64
stmhal: Allow extint.c to compile without USB HS support.
2015-04-18 21:40:59 +01:00
Damien George
d15fe5a6b3
stmhal: Make I2C busses and their pins configurable in mpconfigboard.h.
2015-04-18 21:40:59 +01:00
Damien George
8892f71dd0
stmhal: Exclude code for UARTs that don't exist in hardware.
2015-04-18 21:40:58 +01:00
Damien George
73f1a49137
stmhal: Exclude USB HS code when USB HS mode not enabled.
2015-04-18 21:40:58 +01:00
Damien George
c92c7a69fd
stmhal: Exclude code for those timers that don't exist in the hardware.
2015-04-18 21:40:58 +01:00
Damien George
7d6595fd18
stmhal: Make LCD initialiser use board pin names instead of cpu names.
2015-04-18 21:40:58 +01:00
Damien George
50ea86fe8b
stmhal: For pins, define macros mapping board names to cpu names.
2015-04-18 21:40:58 +01:00