summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
Commit message (Collapse)AuthorAge
* 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().
* esp8266/modmachine: Timer: Add ONE_SHOT and PERIODIC symbolic constants.Paul Sokolovsky2016-03-04
|
* esp8266/modmachine: Use etshal.h.Paul Sokolovsky2016-03-04
|
* esp8266/etshal.h: Add timer functions prototypes.Paul Sokolovsky2016-03-04
|
* esp8266/modmachine: Changing params of a timer requires disarming it first.Paul Sokolovsky2016-03-04
|
* esp8266/modmachine: Basic implementation of Timer for OS virtual timers.Paul Sokolovsky2016-03-04
|
* esp8266: Enable modmachine.Paul Sokolovsky2016-03-04
|
* esp8266: Add modmachine with mem* arrays.Paul Sokolovsky2016-03-04
|
* esp8266/modutime: Support float argument to time.sleep().Paul Sokolovsky2016-03-04
|
* esp8266: Reset "virtual RTC" on power on.Paul Sokolovsky2016-03-04
| | | | | | | | | Initialize RTC period coefficients, etc. if RTC RAM doesn't contain valid values. time.time() then will return number of seconds since power-on, unless set to different timebase. This reuses MEM_MAGIC for the purpose beyond its initial purpose (but the whole modpybrtc.c need to be eventually reworked completely anyway).
* esp8266: Add time.{sleep_ms,sleep_us,ticks_ms,ticks_us,ticks_diff}.Damien George2016-03-04
| | | | Framework for time.ticks_cpu added, but not implemented.
* esp8266: Add mp_hal_delay_us function.Damien George2016-03-04
|
* esp8266: Enable more features in mpconfigport.h.Damien George2016-03-03
| | | | This is to get the test suite running and passing.
* esp8266: Enable uhashlib module.Paul Sokolovsky2016-03-03
|
* esp8266: Enable config settings helpful for debugging.Paul Sokolovsky2016-03-03
|
* esp8266/esp8266.ld: Link in SDK version section.Paul Sokolovsky2016-03-03
| | | | Otherwise, os.uname() returns empty string for SDK version.
* esp8266: Enable ujson, ubinascii, and uctypes modules.Paul Sokolovsky2016-03-03
|
* esp8266: Add network.ifconfig().Damien George2016-03-02
|
* esp8266: Change "soft reboot" message to work with pyboard.py.Damien George2016-03-02
|
* esp8266: Allow Makefile's PORT variable to be overridden.Damien George2016-03-02
|
* esp8266: Enable math module.Damien George2016-03-02
|
* esp8266: Enable float support, using 30-bit stuffed floats.Damien George2016-03-02
| | | | No complex numbers though.
* esp8266: Switch bignum implementation from long-long to mpz.Damien George2016-03-02
|
* eagle.rom.addr.v6.ld: More symbols from SDK 1.5.0.Paul Sokolovsky2016-02-14
|
* esp8266/modpybrtc: Simplify multiplication by fixed-point value.Paul Sokolovsky2016-02-12
|
* esp8266/README: Add hint about adding toolchain to PATH.Paul Sokolovsky2016-02-08
|
* esp8266/modpybrtc: pyb_rtc_memory(): Fix copy-paste error.Paul Sokolovsky2016-02-08
|
* esp8266/modesp: Implement flash_write(), flash_erase().Alex March2016-02-08
|