summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
Commit message (Collapse)AuthorAge
* esp8266: Put modpybi2c.o to FlashROM.Paul Sokolovsky2016-03-26
|
* esp8266/tests: Add neopixel.py test.Damien George2016-03-26
|
* esp8266: Add esp.neopixel_write function to bit-bang WS2812 data.Damien George2016-03-26
|
* esp8266: Link ADC class into machine module.Damien George2016-03-26
|
* esp8266: Put utils.o to FlashROM.Paul Sokolovsky2016-03-26
|
* esp8266: Put lexerstr32.o into FlashROM.Paul Sokolovsky2016-03-26
|
* esp8266/esppwm.c: Fix IRQ handler prototype.Paul Sokolovsky2016-03-26
|
* esp8266: Add PWM support.Damien George2016-03-26
| | | | | | | | | | | | | | | | | PWM implementation uses a timer and interrupts (FRC1), taken from Espressif's/NodeMCU's implementation and adapted for our use. 8 channels are supported, on pins 0, 2, 4, 5, 12, 13, 14, 15. Usage: import machine pwm0 = machine.PWM(machine.Pin(0)) pwm0.freq(1000) pwm0.duty(500) Frequency is shared (ie the same) for all channels. Frequency is between 1 and 1000. Duty is between 0 and 1023.
* esp8266: Implement software SPI class.Damien George2016-03-25
| | | | | Supports speeds up to 500k baud, polarity=0/1, phase=0/1, and using any pins. Only supports MSB output at the moment.
* 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
|