aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-25py: Move call_function_*_protected() functions to py/ for reuse.Paul Sokolovsky
They almost certainly needed by any C code which calls Python callbacks.
2016-04-25cc3200, stmhal, teensy: Use pyhelp_print_obj function.Colin Hogben
Update the help() implementations in the cc3200, stmhal and teensy ports to use the pyhelp_print_obj function.
2016-04-25lib/utils/pyhelp: Extract implementation of help(obj) to a library function.Colin Hogben
Several ports use identical code for the 1-argument form of the builtin help function. Move this code to a library function to allow easier re-use by ports.
2016-04-25esp8266/scripts/webrepl: Allow to override port.Paul Sokolovsky
2016-04-25esp8266/scripts/webrepl: Don't start on import.Paul Sokolovsky
Explicit .start() is required now.
2016-04-25esp8266/scripts/webrepl: Convert to persistent daemon.Paul Sokolovsky
2016-04-24esp8266/scripts/webrepl: WebREPL based on C-level websocket object.Paul Sokolovsky
2016-04-23docs/usocket: Describe address format once at the beginning.Paul Sokolovsky
Different ports may have different formats.
2016-04-23docs/usocket: socket.IPPROTO_SEC is WiPy-specific.Paul Sokolovsky
2016-04-23docs/usocket: Socket-specific exceptions are for WiPy only.Paul Sokolovsky
2016-04-23docs/library/usocket: Add link to CPython's socket module.Paul Sokolovsky
2016-04-23docs: esp8266: Include usocket module reference.Paul Sokolovsky
2016-04-22docs/ustruct: There's no complete "struct" module, only "ustruct" subset.Paul Sokolovsky
"ustruct" is good example of micro-ified module, so rather should belong to the corresponding list.
2016-04-22docs/esp8266/tutorial: Add tutorial placeholder page.Paul Sokolovsky
2016-04-22esp8266/scripts/websocket_helper: Disable debug output.Paul Sokolovsky
2016-04-22esp8266/scripts/websocket_helper: Module encapsulating handshake sequences.Paul Sokolovsky
2016-04-22py/mkrules.mk: Remove obsolete rules for auto qstr generation.Damien George
2016-04-22esp8266: Change software SPI driver to use general pin HAL.Damien George
2016-04-22esp8266: Allow GPIO16 to be used as a pin in the uPy pin HAL.Damien George
Now I2C works with GPIO16 as the SCL or SDA pin.
2016-04-22esp8266: Convert mp_hal_pin_obj_t from pin ptr to simple integer.Damien George
Most pin I/O can be done just knowing the pin number as a simple integer, and it's more efficient this way (code size, speed) because it doesn't require a memory lookup to get the pin id from the pin object. If the full pin object is needed then it can be easily looked up in the pin table.
2016-04-22extmod/machine_i2c: Allow mp_hal_pin_obj_t to be any type, not a ptr.Damien George
2016-04-21py/mkenv.mk: Remove -s and -S args from PYTHON variable.Damien George
Qstr auto-generation is now much faster so this optimisation for start-up time is no longer needed. And passing "-s -S" breaks some things, like stmhal's "make deploy".
2016-04-21py: Fix bug passing a string as a keyword arg in a dict.Damien George
Addresses issue #1998.
2016-04-21esp8266/esp_mphal: Remove mp_hal_feed_watchdog.Damien George
It doesn't do anything and is not needed. ets_loop_iter/ets_event_poll now take care of feeding the WDT.
2016-04-21esp8266/uart: Remove obsolete UART rx buffering code.Damien George
It's now completely replaced by the ringbuf implementation.
2016-04-21esp8266: Implement UART.read functionality.Damien George
2016-04-21esp8266: Add uart_rx_wait and uart_rx_char functions.Damien George
2016-04-21stmhal: L4: Add support for external interrupts/events.Tobias Badertscher
The L4 MCU supports 40 Events/IRQs lines of the type configurable and direct. But this L4 port only supports configurable line types which are already supported by uPy. For details see page 330 of RM0351, Rev 1. The USB_FS_WAKUP event is a direct type and there is no support for it.
2016-04-21stmhal: L4: Modify flash.c and storage.c to support L4 MCU.Tobias Badertscher
The way to lookup the flash sector now uses a much simpler table for all MCUs.
2016-04-21stmhal: L4: Modify mphalport to support L4 MCU.Tobias Badertscher
__GPIOI_CLK_ENABLE is defined in hal/l4/inc/Legacy/stm32_hal_legacy.h as __HAL_RCC_GPIOI_CLK_ENABLE, and that latter macro is not defined anywhere else (because the L4 does not have port GPIOI). So the test for GPIOI is needed, along with the test for the CLK_ENABLE macro.
2016-04-21ACKNOWLEDGEMENTS: Add list of 842 backers from the ESP8266 campaign.Damien George
2016-04-21docs/esp8266: Add info about using deep-sleep mode to quickref.Damien George
2016-04-21esp8266: Implement basic deep-sleep capabilities.Damien George
Use the machine.deepsleep() function to enter the sleep mode. Use the RTC to configure the alarm to wake the device. Basic use is the following: import machine # configure RTC's ALARM0 to wake device from deep sleep rtc = machine.RTC() rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP) # do other things # ... # set ALARM0's alarm to wake after 10 seconds rtc.alarm(rtc.ALARM0, 10000) # enter deep-sleep state (system is reset upon waking) machine.deepsleep() To detect if the system woke from a deep sleep use: if machine.reset_cause() == machine.DEEPSLEEP_RESET: print('woke from deep sleep')
2016-04-21docs/esp8266/general: Start "General information" for esp8266.Paul Sokolovsky
2016-04-21docs/topindex.html: esp8266: Enable quickref/general on the main page.Paul Sokolovsky
2016-04-21esp8266/modnetwork: .config(): Add "hidden ESSID" param.Paul Sokolovsky
2016-04-20esp8266/scripts/flashbdev: Correct bootloader flash size to match real size.Paul Sokolovsky
Flash size as seen by vendor SDK doesn't depend on real size, but rather on a particular value in firmware header, as put there by flash tool. That means it's user responsibility to know what flash size a particular device has, and specify correct parameters during flashing. That's not end user friendly however, so we try to make it "flash and play" by detecting real size vs from-header size mismatch, and correct the header accordingly.
2016-04-20esp8266/scripts/_boot: Print notice when initial setup is executed.Paul Sokolovsky
2016-04-20esp8266/scripts/flashbdev: Disable debug output/checks.Paul Sokolovsky
2016-04-20esp8266/modnetwork: .config(): Add "channel" param.Paul Sokolovsky
2016-04-19py: Divide "split" and "cat" phases of qstr extraction for better efficiency.Paul Sokolovsky
E.g. for stmhal, accumulated preprocessed output may grow large due to bloated vendor headers, and then reprocessing tens of megabytes on each build make take couple of seconds on fast hardware (=> potentially dozens of seconds on slow hardware). So instead, split once after each change, and only cat repetitively (guaranteed to be fast, as there're thousands of lines involved at most).
2016-04-19py/makeqstrdefs.py: Process only CPP line-numbering info.Paul Sokolovsky
Not stuff like "#pragma", etc.
2016-04-19py/mkrules.mk: Fix Bashism.Paul Sokolovsky
2016-04-19py/mkrules.mk: Cleanup command passed to shell.Paul Sokolovsky
2016-04-19py/mkrules.mk: Try to detect and emulate make -B behavior for qstr extraction.Paul Sokolovsky
If make -B is run, the rule is run with $? empty. Extract fron all file in this case. But this gets fragile, really "make clean" should be used instead with such build complexity.
2016-04-19stmhal: Update Makefile dependencies.Paul Sokolovsky
2016-04-19unix: Make sure build dir exists before accessing it for freezing upip.Paul Sokolovsky
2016-04-19py: Rework QSTR extraction to work in simple and obvious way.Paul Sokolovsky
When there're C files to be (re)compiled, they're all passed first to preprocessor. QSTR references are extracted from preprocessed output and split per original C file. Then all available qstr files (including those generated previously) are catenated together. Only if the resulting content has changed, the output file is written (causing almost global rebuild to pick up potentially renumbered qstr's). Otherwise, it's not updated to not cause spurious rebuilds. Related make rules are split to minimize amount of commands executed in the interim case (when some C files were updated, but no qstrs were changed).
2016-04-19lib/utils/pyexec: Condition-out GC calls from pyexec.Colin Hogben
A port which uses lib/utils/pyexec.c but which does not enable garbage collection should not need to implement the gc_collect function. This patch also moves the gc_collect call to after printing the qstr info. Since qstrs cannot be collected it should not make any difference to the printed statistics.
2016-04-18README: Explicitly point to required dependencies section.Paul Sokolovsky