summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
Commit message (Collapse)AuthorAge
* esp8266/README: Remove outdated reference to initial port heap size.Paul Sokolovsky2016-03-25
|
* esp8266: Add tests/onewire.py as a driver and test code for ds18b20 dev.Damien George2016-03-24
|
* esp8266: Add onewire helper functions as C module.Damien George2016-03-24
| | | | Includes functions to read and write bits and bytes.
* esp8266: Implement bit-bang I2C read, and add i2c.readfrom method.Damien George2016-03-24
| | | | I2C reading tested with TSL2561 luminosity sensor.
* esp8266: Clean up bit-bang I2C implementation.Damien George2016-03-24
| | | | | Changed from using set_sda_scl function to independent set_sda and set_scl functions.
* esp8266/modpybi2c: Add missing include.Paul Sokolovsky2016-03-24
|
* esp8266: Add basic I2C driver, with init and writeto methods.Damien George2016-03-24
| | | | Tested and working with SSD1306 I2C display.
* esp8266: Expose pin object as a public structure for use as C pin API.Damien George2016-03-24
| | | | | This is an initial attempt at making a simple C pin API for writing things like I2C drivers in C.
* esp8266: Enable auto-indent in REPL.Paul Sokolovsky2016-03-23
|
* esp8266: Add "socket" and "usocket" aliases for lwip module.Paul Sokolovsky2016-03-23
|
* esp8266: Enable non-blocking stream support.Paul Sokolovsky2016-03-23
|
* esp8266: Enable more extmod's: uheapq, ure, uzlib.Damien George2016-03-23
|
* esp8266: Add module weak link from json to ujson.Damien George2016-03-23
|
* esp8266: Enable urandom module.Paul Sokolovsky2016-03-23
|
* esp8266: Make mp_hal_delay_us work with new event framework.Damien George2016-03-23
|
* esp8266: Update README with the latest features.Paul Sokolovsky2016-03-23
|
* esp8266/ets_alt_task: Make FIRST_PRIO=0 to cover all task priorities.Damien George2016-03-17
| | | | | FIRST_PRIO=2 works but using 0 is hopefully safer, and can anyway be optimised in the future.
* esp8266: Store frozen modules in FlashROM.Paul Sokolovsky2016-03-17
| | | | Requires special lexer to access their contents.
* esp8266: Switch to lwIP built from source.Paul Sokolovsky2016-03-12
| | | | Using https://github.com/pfalcon/esp-open-lwip project.
* esp8266: Mention git submodule in build instructions for esp8266 port.Christopher Arndt2016-03-11
|
* esp8266: Rejig Makefile so extmod/modlwip.o is placed under build/.Damien George2016-03-11
|
* esp8266: Define MICROPY_EVENT_POLL_HOOK for the port.Paul Sokolovsky2016-03-11
|
* esp8266: Be sure to build ets_alt_task.Paul Sokolovsky2016-03-11
|
* esp8266/esp_mphal: Add higher-level event polling function.Paul Sokolovsky2016-03-11
| | | | ets_event_poll() polls both system events and uPy pending exception.
* esp8266/ets_alt_task: Update for vendor SDK 1.5.0.Paul Sokolovsky2016-03-11
| | | | | SDK 1.5.0 has a task with priority 3: ets_task(401001f4, 3, 3fff9808, 4). Recognizing SDK version requires the latets esp-open-sdk build.
* esp8266/ets_alt_task: Be sure to "pop" event before calling its handler.Paul Sokolovsky2016-03-11
| | | | | Otherwise, if handler calls recursive event loop, there's infinite recursion (because the loop calls the same handler on same event again).
* esp8266: Feed WDT in ets_loop_iter().Damien George2016-03-11
|
* esp8266: Add alternative event loop implementation.Paul Sokolovsky2016-03-11
| | | | | | | | | | | | | | This implementation provides the same interface and uses the same datastructures as used by BootROM, i.e. is a drop-in replacement for it. But it offers one advantage: it allows to run single iteration of event-pumping loop. Original BootROM function are renamed, prefixed with underscore. There's a switch which allows to use forward calls to them, for compatibility testing. The implementation also includes workarounds for hardware timer handler, and these workarounds may be SDK version specific.
* esp8266/modnetwork: Add symbolic names for network interfaces: STA_IF & AP_IF.Paul Sokolovsky2016-03-10
| | | | | These are expected to be passed to network.WLAN() to instantiate network interface objects.
* esp8266/modnetwork: Introduce interface .config() method.Paul Sokolovsky2016-03-10
| | | | | | | | | | | | Allows to set (in case keyword args are given) or query (in case a single "symbolic keyword" (a string, value is the same as keyword)) arbitrary interface paramters (i.e. extensible and adaptable to various hardware). Example usage: ap_if = network.WLAN(1) ap_if.config(essid="MicroPython on Air") print(ap_if.config("essid"))
* esp8266/modnetwork: Move config defines to the top.Paul Sokolovsky2016-03-10
|
* esp8266/modnetwork: Add per-interface .active() method.Paul Sokolovsky2016-03-10
| | | | | | Allows to up/down interface when called with a boolean, or query current state if called without args. This per-interface method is intended to supersede adhoc network.wifi_mode() function.
* esp8266: Move wifi_mode() and phy_mode() to network module.Paul Sokolovsky2016-03-10
|
* esp8266/modnetwork: Allow to configure STA and AP interfaces separately.Paul Sokolovsky2016-03-10
| | | | | | | | | On ESP8266, there're 2 different interfaces. Pretending it's not the case desn't make sense. So, network.WLAN() now takes interface id, and returns interface object. Individual operations are then methods of interface object. Some operations require i/f of specific type (e.g. .connect() makes sense only for STA), other are defined for any (e.g. .ifconfig(), .mac()).
* esp8266: Move pyb.freq to machine.freq.Damien George2016-03-09
|
* esp8266/main: Module to run on boot is "boot", not "main".Paul Sokolovsky2016-03-08
|
* esp8266: Put more code in iROM section.Damien George2016-03-08
| | | | | Also explicitly name the py/*.o files in the linker file, to enable easy testing of putting certain ones in iRAM.
* esp8266/Makefile: Add define for ESP8266 lwIP.Paul Sokolovsky2016-03-08
|
* esp8266: Enable modlwip.Damien George2016-03-08
|
* esp8266: Don't gc-collect BSS.Paul Sokolovsky2016-03-08
| | | | | | None of the other ports do, since introduction of mp_state_ctx_t. In the case of current esp8266 port, heap is inside BSS, so scanning it picked up a lot of dead pointers.
* esp8266: Enable stack overflow checking.Paul Sokolovsky2016-03-07
|
* esp8266: Allow Makefile's BAUD variable to be overridden.Damien George2016-03-06
|
* esp8266/uart: Add uart_flush() function.Paul Sokolovsky2016-03-05
|
* esp8266: Support raising KeyboardInterrupt on Ctrl+C.Paul Sokolovsky2016-03-05
|
* esp8266/etshal.h: More prototypes of ESP8266 SDK/BootROM functions.Damien George2016-03-05
|
* esp8266/modmachine: Add Pin class from modpyb.Paul Sokolovsky2016-03-05
|
* esp8266/modpybpin: Add support for GPIO16.Paul Sokolovsky2016-03-05
| | | | GPIO16 is actually special-function I/O, though some boards have LED there.
* esp8266: Expose simple pin API at C level.Damien George2016-03-05
|
* esp8266: Implement Pin.__call__() and Pin.OPEN_DRAIN mode.Damien George2016-03-05
| | | | | OPEN_DRAIN is of course synthesised. All pin modes are tested and working.
* esp8266: Add custom _assert() function.Paul Sokolovsky2016-03-05
| | | | | | Enabling standard assert() (by removing -DNDEBUG) produces non-bootable binary (because all messages go to .rodata which silently overflows). So, for once-off debugging, have a custom _assert().