Damien George
62a3a287d9
py: Set compiler scope before folding constants so error messages work.
...
Addresses issue #1140 .
2015-03-01 12:04:05 +00:00
danicampora
d01060241a
cc3200: Add heartbeat signal on system led.
2015-02-28 19:03:21 +01:00
Johan Hendriks
6a41bf99bd
cc3200: Create separate release/debug build directories
2015-02-28 19:03:17 +01:00
Damien George
7711afbb4a
py: Combine complie functions for or_test/and_test to reduce code size.
...
Saves around 60 bytes code on Thumb2 archs.
2015-02-28 15:10:18 +00:00
Damien George
63f3832e81
py: Combine emit functions for jump true/false to reduce code size.
...
Saves 116 bytes for stmhal and 56 bytes for cc3200 port.
2015-02-28 15:04:06 +00:00
Damien George
0b2fd91890
py: Combine logic for compiling and/or tests, to reduce code size.
...
Reduces code size by 72 bytes on Thumb2 archs.
2015-02-28 14:37:54 +00:00
Paul Sokolovsky
562fa575a6
qemu-arm: Handle sys.exit() to allow skip tests in testsuite.
2015-02-28 00:31:18 +02:00
Paul Sokolovsky
992284be39
tests: Add test for array slice assignment.
2015-02-27 22:17:24 +02:00
Paul Sokolovsky
cefcbb22b2
objarray: Implement array slice assignment.
...
This is rarely used feature which takes enough code to implement, so is
controlled by MICROPY_PY_ARRAY_SLICE_ASSIGN config setting, default off.
But otherwise it may be useful, as allows to update arbitrary-sized data
buffers in-place.
Slice is yet to implement, and actually, slice assignment implemented in
such a way that RHS of assignment should be array of the exact same item
typecode as LHS. CPython has it more relaxed, where RHS can be any sequence
of compatible types (e.g. it's possible to assign list of int's to a
bytearray slice).
Overall, when all "slice write" features are implemented, it may cost ~1KB
of code.
2015-02-27 22:17:15 +02:00
Damien George
0bb971370b
py: Transform assert logic in compiler to save code space.
...
Saves about 250 code bytes for Thumb2 archs.
2015-02-27 14:25:47 +00:00
Damien George
4d77e1a034
py: Use m_{new,renew,del} consistently.
...
This is so all memory requests go through the same interface.
2015-02-27 09:34:51 +00:00
Damien George
eb0a7129a5
travis: Use CPython3.4 instead of 3.3.
2015-02-27 01:07:04 +00:00
Damien George
b67253e96f
tests: Update pyb/uart.py test since baudrate of 1200 is too low.
2015-02-27 00:40:08 +00:00
Damien George
4852e09c79
py: Fix adding of traceback so that it appends to existing info.
...
This makes exception traceback info self contained (ie doesn't rely on
list object, which was a bit of a hack), reduces code size, and reduces
RAM footprint of exception by eliminating the list object.
Addresses part of issue #1126 .
2015-02-27 00:36:39 +00:00
Paul Sokolovsky
d155fecf9e
README.md: Update subdir descriptions.
2015-02-26 21:51:25 +02:00
Damien George
12d6d777e1
py: Small optimisation of logic flow in BC_WITH_CLEANUP bytecode.
...
Slightly smaller code, and does not need to use C stack to save
temporaries.
2015-02-26 17:54:50 +00:00
danicampora
74589cbeeb
cc3200: Move code that disables/enables servers to wlan_sl_enable().
2015-02-26 11:19:15 +01:00
danicampora
5330d8996f
cc3200: Modify simplelink FreeRTOS OSI layer to only use semaphores.
...
Before, both mutexes and semaphores were used. Using only the latter
and with a bit of cleanup to remove some code bloat, we save ~600
bytes of code.
2015-02-26 11:18:18 +01:00
danicampora
f3661d4100
cc3200: Change PRCM_PeriphRegs_t fields to unsigned char.
...
This helps saving ~300 bytes. Thanks to dpgeorge.
2015-02-25 23:25:23 +01:00
danicampora
7a074a14ce
cc3200: Implement safe boot pin and system led behaviour.
...
The safe boot pin, when pulled high during reset rolls back the
firmware to the "factory" image and skips execution of 'boot.py'
and 'main.py'. This is useful to recover from a crash condition.
The system led is used mostly to signal errors.
2015-02-25 23:17:17 +01:00
danicampora
8a5aee103d
cc3200: Fix md5 application signing, add missing accents.
2015-02-25 23:17:12 +01:00
Paul Sokolovsky
bbaf68f2cb
modffi: Implement 'O' type handling for func arguments.
2015-02-25 23:38:22 +02:00
Damien George
534574348e
py: Make inline assembler raise exception when branch not in range.
...
Addresses issue #1132 .
2015-02-25 15:45:55 +00:00
danicampora
11aa6ba456
cc3200: Add WDT functionality as part of the pyb module.
...
Also improve pybsd, and make it save it's pin configuration.
This is a necessary step towards supporting the CC3200 low
power deep sleep (LPDS) mode.
2015-02-25 11:37:29 +01:00
danicampora
fe2eb5f58a
cc3200: Update README.md to add step for flashing the bootloader.
2015-02-25 11:36:56 +01:00
Damien George
993f067fa2
py: In inline assembler, add return statement to fix flow logic.
2015-02-24 22:43:01 +00:00
Damien George
e5315f7ffd
py: Factor some code in inline thumb assembler to reduce code size.
2015-02-24 16:35:37 +00:00
Damien George
e41b21c01e
py: Make more asmthumb functions inline to reduce code size.
2015-02-24 16:32:52 +00:00
Damien George
8f7976ba0d
py: Reduce code size of inline thumb assembler by using static tables.
...
Reduces stmhal by about 300 bytes ROM.
2015-02-24 16:10:58 +00:00
Paul Sokolovsky
2330fe08fe
README.md: Update list of supported Python types.
2015-02-24 16:40:15 +02:00
Paul Sokolovsky
8c437f95fc
README.md: Promote project status from "early beta" to just "beta".
...
Also, reword purpose to avoid impression that uPy supports just one
microcontroller.
2015-02-24 16:31:00 +02:00
Damien George
4fddbe5ab6
docs: Correct the documentation for math.frexp.
2015-02-23 22:15:11 +00:00
Damien George
1babb6d0c7
docs: Update timer tutorial to reflect new behaviour of timer.
2015-02-23 22:14:54 +00:00
nhtshot
5d323defe4
py: Update parse.c&mpconfig.h to reflect rename of mp_lexer_show_token.
...
This function is only used when DEBUG_PRINTERS and USE_RULE_NAME are
enabled.
2015-02-23 21:36:05 +00:00
Paul Sokolovsky
71ebd4b7f0
py: Implement UnicodeError.
...
Still too shy to implement UnicodeEncodeError which was really needed for
micropython-lib case.
2015-02-23 23:20:16 +02:00
danicampora
70b3160871
cc3200: Introduce MICROPY_PORT_HAS_TELNET and MICROPY_PORT_HAS_FTP.
...
These definitions help on making modwlan.c usable by other ports
with the CC3100.
2015-02-23 15:02:57 +01:00
danicampora
379a3fa305
cc3200: Change UART.print() to make it consistent with the rest.
2015-02-23 15:02:55 +01:00
danicampora
88b7f52ebb
cc3200: Replace WLAN.get_ip() with WLAN.ifconfig().
...
Also change other methods' names to make them consistent.
2015-02-23 15:02:55 +01:00
Damien George
626ee90ce1
tests: Add more tests for pyb.Timer class.
2015-02-23 13:18:33 +00:00
Damien George
d38939e676
stmhal: Reset state of timer when deinit is called.
2015-02-23 13:18:14 +00:00
Dave Hylands
caf5c40c19
stmhal: Fix problem when passing callback= to timer init function.
...
In particular, make sure that the globals are all initialized
before enabling the interrupt, and also make sure that the timer
interrupt has been initialied before enabling the NVIC.
2015-02-22 19:58:51 -08:00
danicampora
44bb616b53
cc3200: Add simplelink non-os task calls.
2015-02-22 18:59:50 +01:00
danicampora
4bfc491753
cc3200: Add wlan_urn() thanks to Nadim El-Fata and Bryan Morrissey.
2015-02-22 18:43:01 +01:00
danicampora
0c11b167a7
cc3200: Add optimization flags to drivers/cc3100 in the debug build.
2015-02-22 17:50:52 +01:00
danicampora
5687ce7e35
drivers/cc3100: Remove simplelink trace messages completely.
...
Those trace messages have never proven to be useful and they make
the code 9K bigger.
2015-02-22 17:50:51 +01:00
danicampora
33ddb566a7
cc3200: Remove dependencies from FreeRTOS.
...
Use the simplelink wrappers instead. This is one step further
towards having a single module for the cc3200 and the cc3100.
2015-02-22 17:50:50 +01:00
Damien George
5c047b97f2
tests: Add test for math special functions.
2015-02-22 14:49:46 +00:00
Damien George
5cbeacebdb
py: Make math special functions configurable and disabled by default.
...
The implementation of these functions is very large (order 4k) and they
are rarely used, so we don't enable them by default.
They are however enabled in stmhal and unix, since we have the room.
2015-02-22 14:48:18 +00:00
Damien George
9ab94c468c
lib/libm: Add implementations of erf, erfc, lgamma, tgamma.
2015-02-22 14:47:11 +00:00
Paul Sokolovsky
3527085587
pyb.UART.rst: Clean up note about stream protocol support.
2015-02-22 13:36:35 +02:00