Daniel Campora
bf4576dc91
cc3200: Clean-up servers enable/disable algorithm.
2015-04-29 14:25:44 +02:00
Dave Hylands
c3e37a0cde
stmhal: Automatically re-enable IRQs on the USB REPL.
...
This allows errors to be seen and prevents hanging
the board from doing: pyb.disable_irq()
2015-04-29 08:27:38 +01:00
Damien George
f27aa27a0c
py/repl.c: Fix shadowing of local variable "i".
2015-04-29 01:01:48 +01:00
Damien George
a1a2c411b2
py, readline: Add tab autocompletion for REPL.
...
Can complete names in the global namespace, as well as a chain of
attributes, eg pyb.Pin.board.<tab> will give a list of all board pins.
Costs 700 bytes ROM on Thumb2 arch, but greatly increases usability of
REPL prompt.
2015-04-29 00:46:26 +01:00
Damien George
b7a4f15b34
mp-readline: Save "prompt" string in readline state.
2015-04-29 00:32:35 +01:00
Damien George
ad9daadf8a
py: Fix attrtuple array length in print and creation.
2015-04-29 00:17:48 +01:00
Damien George
95f53461c2
py: Replace py-version.sh with makeversionhdr.py, written in Python.
...
Also rename py-version.h to mpversion.h for consistency with mpconfig.h.
2015-04-28 23:52:36 +01:00
Daniel Campora
d11317bcab
cc3200: Make WLAN scan results a list of attrtupple.
...
Each result is displayed like this:
ssid='MySSID', bssid=b'\xc0J\x00z.\xcc', security=2, channel=None, rssi=-74
The CC3200 doesn't provide channel info, that why is 'None'.
2015-04-29 00:04:01 +02:00
Daniel Campora
94792dd88f
py: In attrtuple use the correct length value and index for 'fields'.
2015-04-29 00:04:00 +02:00
Daniel Campora
5225e29ce7
cc3200: Remove unneeded -lgcc in Makefile.
2015-04-29 00:03:58 +02:00
Daniel Campora
f81684141e
cc3200: Implement os.uname() to get details of the OS and hardware.
2015-04-29 00:03:56 +02:00
Daniel Campora
6fefd5d330
cc3200: Move telnet_process_credential with the other private functions.
...
Just for consistency.
2015-04-29 00:03:54 +02:00
Damien George
6bbbb1ab41
unix/modffi: Support passing float/double args.
2015-04-28 19:40:34 +01:00
Daniel Campora
f1ed8c8a2e
cc3200: Improve telnet_parse_input() in case of an incomplete option.
2015-04-28 16:48:33 +02:00
Matt Anderson
0458833072
cc3200: Make telnet login procedure work with Tera Term.
...
This is actually a workaround Ter Term's issue of not obeying to the
telnet options that the server is sending. Therefore, we must buffer
chars until either a '\r' or the max length of the username/password
is received.
2015-04-28 16:48:26 +02:00
Daniel Campora
abea1c38a9
lib/libc: Add memchr. We already have strchr, but memchr is useful too.
2015-04-28 16:48:20 +02:00
Daniel Campora
9fbc265eb8
cc3200: Add delays to allow the servers to start and stop properly.
2015-04-28 15:16:33 +02:00
Daniel Campora
d34c4784a5
cc3200: Select NIC when the socket is created.
...
This makes sense since only WLAN is supported here.
2015-04-28 15:14:36 +02:00
Dave Hylands
fdcb3b7ebb
stmhal: Actually disable unhandled timer interrupts.
2015-04-28 00:17:05 -07:00
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