summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-26docs/network: esp8266: scan(): Add note that bssid is bytes object.Paul Sokolovsky
2016-04-26esp8266/scripts/webrepl: Print client address for incoming connections.Paul Sokolovsky
2016-04-26esp8266/scripts/webrepl: Print connection address.Paul Sokolovsky
Based on active network interfaces.
2016-04-25windows/msvc: Rewrite qstr auto-generation.stijn
Builds have been broken since reworking autogeneration in c618f91 and related, this gets fixed here by applying similar qstr generation logic for the msvc builds: c files are only preprocessed when changed (or not yet preprocessed) and the concatenated output is fed into makeqstrdefs.py. To speed up this process, the concatenated output is already filtered to contain only lines which makeqstrdefs really needs: this makes the qstr generation stage about twice as fast (checked on different machines).
2016-04-25py/makeqstrdefs.py: Windows compatibility.stijn
- msvc preprocessor output contains full paths with backslashes so the ':' and '\' characters needs to be erased from the paths as well - use a regex for extraction of filenames from preprocessor output so it can handle both gcc and msvc preprocessor output, and spaces in paths (also thanks to a PR from @travnicekivo for part of that regex) - os.rename will fail on windows if the destination file already exists, so simply attempt to delete that file first
2016-04-25py/makeqstrdefs.py: Remove unused function/variable/import.stijn
2016-04-25extmod/modlwip: Protect recv/accept Python callback against exceptions.Paul Sokolovsky
Using usual call_function_*_protected() helper, to avoid NLR jump crashes.
2016-04-25py/runtime_utils: Fix nanbox build.Paul Sokolovsky
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.