Paul Sokolovsky
a1f2245a81
py/vstr: vstr_null_terminated_str(): Extend string by at most one byte.
...
vstr_null_terminated_str is almost certainly a vstr finalization operation,
so it should add the requested NUL byte, and not try to pre-allocate more.
The previous implementation could actually allocate double of the buffer
size.
2016-05-09 22:39:57 +03:00
Paul Sokolovsky
6de8dbb488
py/objstr: .format(): Avoid call to vstr_null_terminated_str().
...
By comparing with string end pointer instead of checking for NUL byte.
Should alleviate reallocations and fragmentation a tiny bit.
2016-05-09 21:55:09 +03:00
Damien George
460b086333
py/mpz: Fix mpn_div so that it doesn't modify memory of denominator.
...
Previous to this patch bignum division and modulo would temporarily
modify the RHS argument to the operation (eg x/y would modify y), but on
return the RHS would be restored to its original value. This is not
allowed because arguments to binary operations are const, and in
particular might live in ROM. The modification was to normalise the arg
(and then unnormalise before returning), and this patch makes it so the
normalisation is done on the fly and the arg is now accessed as read-only.
This change doesn't increase the order complexity of the operation, and
actually reduces code size.
2016-05-09 17:21:42 +01:00
Paul Sokolovsky
de5e0ed2e0
esp8266/main: Bump heap size to 28K.
...
This is kind of compensation for 4K FatFs buffer size which is eaten away
from it on FS mount. This should still leave enough of networking ("OS")
heap.
2016-05-09 19:02:40 +03:00
Damien George
65402ab1ec
py/mpz: Do Python style division/modulo within bignum divmod routine.
...
This patch consolidates the Python logic for division/modulo to one place
within the bignum code.
2016-05-08 22:21:21 +01:00
Damien George
dc3faea040
py/mpz: Fix bug with overflowing C-shift in division routine.
...
When DIG_SIZE=32, a uint32_t is used to store limbs, and no normalisation
is needed because the MSB is already set, then there will be left and
right shifts (in C) by 32 of a 32-bit variable, leading to undefined
behaviour. This patch fixes this bug.
2016-05-08 21:38:43 +01:00
Paul Sokolovsky
d59c2e5e45
py/repl: If there're no better alternatives, try to complete "import".
...
Also do that only for the first word in a line. The idea is that when you
start up interpreter, high chance that you want to do an import. With this
patch, this can be achieved with "i<tab>".
2016-05-08 20:40:47 +03:00
Paul Sokolovsky
13a1acc7e2
esp8266/scripts/webrepl: Add start_foreground() method.
...
Starts WebREPL server in foreground and waits for (single) connection.
2016-05-08 20:01:15 +03:00
Henrik Sölver
c4587e2426
stmhal/can: Allow to get existing CAN obj if constructed without args.
...
Initialisation of CAN objects should now behave as other peripheral
objects.
Fixes issue #2001 .
2016-05-08 12:47:33 +01:00
stijn
87106d025b
windows: Enable multi-processor compilation for msvc
...
This will launch about as many compiler instances as there are logical
processors on a machine, and as such significantly speeds up compilation.
2016-05-08 12:07:57 +02:00
Paulus Schoutsen
c156e89379
Fix ESP8266 Network tutorial
...
The socket should either connect to `addr` or `addr_info[0][-1]`. Not to `addr[0][-1]`.
2016-05-07 23:24:24 -07:00
Damien George
9e47c145c7
tests: Disable memoryview tests that overflow int conversion.
...
They fail on builds with 32-bit word size.
2016-05-07 22:36:49 +01:00
Damien George
470c429ee1
py/runtime: Properly handle passing user mappings to ** keyword args.
2016-05-07 22:02:46 +01:00
Damien George
12dd8df375
py/objstr: Binary type of str/bytes for buffer protocol is 'B'.
...
The type is an unsigned 8-bit value, since bytes objects are exactly
that. And it's also sensible for unicode strings to return unsigned
values when accessed in a byte-wise manner (CPython does not allow this).
2016-05-07 21:18:17 +01:00
Noah Rosamilia
2724bd4a94
esp8266/scripts/webrepl: Add optional password argument to webrepl.start()
...
This commit fixes issue #2045
2016-05-07 22:45:08 +03:00
Paul Sokolovsky
cea1c621e0
CODECONVENTIONS.md: Describe git commit messages conventions.
2016-05-07 22:32:13 +03:00
Pavol Rusnak
bc7ca7ca01
unix/mphalport: Add mp_hal_delay_us() for consistency with other ports.
2016-05-07 21:18:44 +03:00
Mike Causer
13d06a83e1
esp8266/scripts/: Add fill() to NeoPixel
2016-05-07 21:15:33 +03:00
Radomir Dopieralski
0c86a9471a
docs/machine.UART: Filter out unimplemented UART methods from esp8266 docs.
2016-05-07 20:20:04 +03:00
Paul Sokolovsky
8db61e5b5a
esp8266/scripts/inisetup: Don't start WebREPL on boot in master branch.
...
It interferes with running testsuite. master branch should be optimized for
development, so any features which interfere with that, would need to be
disabled by default.
2016-05-07 20:04:45 +03:00
Paul Sokolovsky
5ec11f565b
tests/run-tests: Factor out list supported external boards.
...
To get consistent error messages, etc.
2016-05-07 18:45:16 +03:00
Damien George
88153dc56a
stmhal/sdcard: Fix initialisation of DMA TX so that writes work.
...
Addresses issue #2034 .
2016-05-06 10:53:25 +01:00
Dave Hylands
cbbeb786d7
stmhal/dma: Fix builds for boards with an F4 or F7 but no DAC.
2016-05-06 09:57:33 +01:00
Paul Sokolovsky
df2b1a4758
esp8266/scripts/: Remove use of pin.PULL_NONE.
...
This constant is no longer part of hardware API (replaced with just None),
and is a default, so not needed in calls.
2016-05-05 23:47:37 +03:00
Damien George
08d3d5d9ab
stmhal: For LIMIFROG board, add early-init function to get to DFU mode.
2016-05-05 17:00:30 +01:00
Tobias Badertscher
770f169e63
stmhal: Add board files for LIMIFROG board.
2016-05-05 17:00:16 +01:00
Damien George
05d1664981
stmhal/dma: Make DAC DMA descriptors conditional on having a DAC.
2016-05-05 15:34:01 +01:00
Tobias Badertscher
0f846e563c
stmhal: L4: Add support for machine.sleep on STM32L4 MCUs.
...
Also raise an exception for machine.freq and machine.deepsleep on this
MCU, since they are not yet implemented.
2016-05-05 15:28:55 +01:00
Tobias Badertscher
7441ba7749
stmhal: L4: Make CCM/DTCM RAM start-up conditional on MCU type.
2016-05-05 15:19:33 +01:00
Tobias Badertscher
adaaf439b0
stmhal: L4: Adapt startup code, clock configuration and interrupts.
2016-05-05 15:14:42 +01:00
Tobias Badertscher
e64032d6fd
stmhal: L4: Adapt DMA to be able to support STM32L4 MCU series.
...
The main thing is to change the DMA code in a way that the structure
DMA_Stream_TypeDef (which is similar to DMA_Channel_TypeDef on stm32l4)
is no longer used outside of dma.c, as this structure only exists for the
F4 series. Therefore I introduced a new structure (dma_descr_t) which
handles all DMA specific stuff for configuration. Further the periphery
(spi, i2c, sdcard, dac) does not need to know the internals of the dma.
2016-05-05 14:51:20 +01:00
Damien George
eb54e4d065
py/obj: Add warning note about get_array return value and GC blocks.
2016-05-04 10:19:08 +01:00
Damien George
2c2fc070ec
docs: Bump version to 1.8.
2016-05-03 17:32:32 +01:00
Damien George
56fd33a6dd
docs/esp8266/tutorial: Change name of ESP8266 firmware to match actual.
2016-05-03 16:42:52 +01:00
Paul Sokolovsky
c68c327310
docs/esp8266/tutorial/repl: Reword description of initial WebREPL setup a bit.
2016-05-03 18:40:16 +03:00
Paul Sokolovsky
1f396c58d9
docs/esp8266/tutorial/repl: Suggest using hosted WebREPL client.
...
At http://micropython.org/webrepl .
2016-05-03 18:35:43 +03:00
Paul Sokolovsky
fb5017f9dc
esp8266/main: Set sys.path to ["", "/", "/lib"].
2016-05-03 18:25:27 +03:00
Damien George
496a601c3b
esp8266: Shrink help text by a few lines, to fit in smaller windows.
2016-05-03 15:54:57 +01:00
Paul Sokolovsky
f873a5005a
esp8266/scripts/ntptime: Add simple NTP client.
...
.time() returns seconds since MicroPython epoch (2000-01-01 00:00UTC),
.settime() sends current system time, assuming UTC timezone.
2016-05-03 16:47:42 +03:00
Damien George
5d05993f10
esp8266/tutorial: Mention that esptool is available via pip.
2016-05-03 14:05:50 +01:00
Damien George
8af64bcf2b
docs/esp8266/tutorial: Update pins tutorial to reflect changes in API.
2016-05-03 13:56:15 +01:00
Damien George
5036b6ad18
docs/library/machine.Pin: Update pin docs to reflect ESP8266 support.
2016-05-03 13:55:37 +01:00
Damien George
8e130fcf2b
esp8266/modpybpin: Make pin.irq() methods take keyword args.
2016-05-03 13:47:10 +01:00
Damien George
8a3e9036eb
esp8266/modpybpin: Use None instead of PULL_NONE for no-pull config.
2016-05-03 13:13:56 +01:00
Damien George
9df6b3a2c2
esp8266/modpybpin: Use enum+array instead of struct for parsing args.
2016-05-03 12:44:28 +01:00
Damien George
02fd83bcbc
tools/mpy-tool: Make sure that all C-level variables are unique.
...
Fixes issue #2023 .
2016-05-03 12:24:39 +01:00
Damien George
b539a61490
esp8266/scripts/neopixel.py: Swap red and green in pixel accessor.
2016-05-03 11:17:37 +01:00
Paul Sokolovsky
81a99eb388
docs/machine: idle() description generalization.
2016-05-03 12:53:57 +03:00
Paul Sokolovsky
bb6458bf43
docs/machine: More generic description of sleep's, WiPy details to its genref.
2016-05-03 12:48:20 +03:00
Paul Sokolovsky
db99ae00a2
docs/machine: Move WiPy-specific hardware details to its general reference.
2016-05-03 12:26:55 +03:00