Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | esp8266/README: Add link to docs. | Paul Sokolovsky | 2016-04-03 |
| | |||
* | esp8266: Use VM_HOOK to call ets_loop_iter within the VM. | Damien George | 2016-04-02 |
| | | | | Starting with a divisor of 10, pystone_lowmem gives a score of 256. | ||
* | esp8266/uart: Get ctrl-C working now that event-based REPL is disabled. | Damien George | 2016-04-01 |
| | |||
* | esp8266/uart: Comment out old, unused rx buffering code. | Damien George | 2016-04-01 |
| | | | | | | | This was originally used for non-event based REPL processing. Then it was unused when event-based processing was activated. But now that event based is disabled, and non-event based is back, there has been new ring buffer code to process the chars. | ||
* | esp8266: Switch to non event-driven REPL to support paste mode. | Paul Sokolovsky | 2016-04-01 |
| | |||
* | esp8266: Support dedicated REPL loop (aka pull-style). | Paul Sokolovsky | 2016-04-01 |
| | | | | | | | | Event-driven loop (push-style) is still supported and default (controlled by MICROPY_REPL_EVENT_DRIVEN setting, as expected). Dedicated loop worked even without adding ets_loop_iter(), though that needs to be revisited later. | ||
* | esp8266: Disallow recursive calls to REPL. | Paul Sokolovsky | 2016-04-01 |
| | | | | | | | | | Before this change, if REPL blocked executing some code, it was possible to still input new statememts and excuting them, all leading to weird, and portentially dangerous interaction. TODO: Current implementation may have issues processing input accumulated while REPL was blocked. | ||
* | esp8266: Move PHY mode constants from modesp to modnetwork. | Paul Sokolovsky | 2016-04-01 |
| | |||
* | esp8266: Reset term_obj on reboot. | Damien George | 2016-03-31 |
| | | | | | Also, term_obj can be NULL if socket enables REPL duplication signalling before os.dupterm is called, so it should be checked. | ||
* | esp8266: Implement input part of dupterm handling. | Paul Sokolovsky | 2016-03-31 |
| | | | | | | | | The idea is following: underlying interrupt-driven or push-style data source signals that more data is available for dupterm processing via call to mp_hal_signal_dupterm_input(). This triggers a task which pumps data between actual dupterm object (which may perform additional processing on data from low-level data source) and input ring buffer. | ||
* | esp8266: Switch back to accumulating input data via ring buffer. | Paul Sokolovsky | 2016-03-30 |
| | | | | | | | | But now it's generic ring buffer implemented via ringbuf.h, and is intended for any type of input, including dupterm's, not just UART. The general process work like this: an interrupt-driven input source puts data into input_buf, and then signals new data available via call to mp_hal_signal_input(). | ||
* | esp8266: Fix issue when current repl line was garbage-collected. | Paul Sokolovsky | 2016-03-30 |
| | | | | Reference it from root pointers section. | ||
* | esp8266: Support synchronous wifi scanning. | Damien George | 2016-03-30 |
| | | | | | | | That is: aps = if0.scan() TODO: make sure that returned list has tuple with values in "standard" order (whatever that standard is). | ||
* | esp8266: Reduce heap size for now to avoid random segfaults on WiFi connect. | Paul Sokolovsky | 2016-03-29 |
| | |||
* | esp8266: Let esp8266 "os" messages go to standard (REPL) UART. | Paul Sokolovsky | 2016-03-29 |
| | | | | That's definitely helpful for debugging. | ||
* | esp8266/esp_mphal: Add support for debug UART-only output. | Paul Sokolovsky | 2016-03-29 |
| | | | | | | | | | Helpful when debugging dupterm support (because otherwise all output is spooled to dupterm too). To use: mp_printf(&mp_debug_print, "..."); | ||
* | esp8266: Enable uos.dupterm() method. | Paul Sokolovsky | 2016-03-29 |
| | |||
* | esp8266: Add basic support for duplicating REPL output. | Paul Sokolovsky | 2016-03-29 |
| | |||
* | esp8266: Implement os.urandom function. | Damien George | 2016-03-29 |
| | | | | Uses what is suspected to be a hardware random number generator. | ||
* | esp8266: Allow to build without FatFs support again. | Paul Sokolovsky | 2016-03-28 |
| | |||
* | esp8266: Support importing modules from filesystem. | Paul Sokolovsky | 2016-03-28 |
| | |||
* | esp8266: Zero out fs_user_mount state on (soft) reset. | Damien George | 2016-03-28 |
| | | | | | Otherwise device stays mounted on soft reset and leads to corruption (since block device object is now gone). | ||
* | esp8266/moduos: Add os.remove(), proxying to VFS object. | Paul Sokolovsky | 2016-03-28 |
| | |||
* | esp8266/moduos: Factor out VFS method proxy helper. | Paul Sokolovsky | 2016-03-28 |
| | |||
* | esp8266/moduos: Add listdir() proxy for MP_STATE_PORT(fs_user_mount)[0]. | Paul Sokolovsky | 2016-03-28 |
| | | | | | I.e. os.listdir(...) will redirect to MP_STATE_PORT(fs_user_mount)[0].listdir(...). | ||
* | esp8266/moduos: Use mp_rom_map_elem_t for static const dictionary. | Damien George | 2016-03-28 |
| | |||
* | esp8266: deploy: Use --flash_size=8m option to esptool.py. | Paul Sokolovsky | 2016-03-28 |
| | | | | | Most esp8266 modules have at least 1MB (8Mbit) of flash. If not set, vendor functions allow to access only first 512K. | ||
* | esp8266/esp8266.ld: Put FatFs to FlashROM. | Paul Sokolovsky | 2016-03-27 |
| | |||
* | esp8266: Enable FatFs support. | Paul Sokolovsky | 2016-03-27 |
| | |||
* | esp8266/README: Update for the current status of the port. | Paul Sokolovsky | 2016-03-27 |
| | |||
* | esp8266/modesp: flash_read(): Accept buffer to read to as a second argument. | Paul Sokolovsky | 2016-03-27 |
| | |||
* | esp8266/modesp: flash_write(): Writes in multiples of 4 bytes. | Paul Sokolovsky | 2016-03-27 |
| | |||
* | esp8266: Set up UART handling task soon into init process. | Paul Sokolovsky | 2016-03-27 |
| | | | | | Otherwise, events may be posted to non-initialized task, which leads to segfaults. | ||
* | esp8266: Put modpybi2c.o to FlashROM. | Paul Sokolovsky | 2016-03-26 |
| | |||
* | esp8266/tests: Add neopixel.py test. | Damien George | 2016-03-26 |
| | |||
* | esp8266: Add esp.neopixel_write function to bit-bang WS2812 data. | Damien George | 2016-03-26 |
| | |||
* | esp8266: Link ADC class into machine module. | Damien George | 2016-03-26 |
| | |||
* | esp8266: Put utils.o to FlashROM. | Paul Sokolovsky | 2016-03-26 |
| | |||
* | esp8266: Put lexerstr32.o into FlashROM. | Paul Sokolovsky | 2016-03-26 |
| | |||
* | esp8266/esppwm.c: Fix IRQ handler prototype. | Paul Sokolovsky | 2016-03-26 |
| | |||
* | esp8266: Add PWM support. | Damien George | 2016-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 George | 2016-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 Sokolovsky | 2016-03-25 |
| | |||
* | esp8266: Add tests/onewire.py as a driver and test code for ds18b20 dev. | Damien George | 2016-03-24 |
| | |||
* | esp8266: Add onewire helper functions as C module. | Damien George | 2016-03-24 |
| | | | | Includes functions to read and write bits and bytes. | ||
* | esp8266: Implement bit-bang I2C read, and add i2c.readfrom method. | Damien George | 2016-03-24 |
| | | | | I2C reading tested with TSL2561 luminosity sensor. | ||
* | esp8266: Clean up bit-bang I2C implementation. | Damien George | 2016-03-24 |
| | | | | | Changed from using set_sda_scl function to independent set_sda and set_scl functions. | ||
* | esp8266/modpybi2c: Add missing include. | Paul Sokolovsky | 2016-03-24 |
| | |||
* | esp8266: Add basic I2C driver, with init and writeto methods. | Damien George | 2016-03-24 |
| | | | | Tested and working with SSD1306 I2C display. | ||
* | esp8266: Expose pin object as a public structure for use as C pin API. | Damien George | 2016-03-24 |
| | | | | | This is an initial attempt at making a simple C pin API for writing things like I2C drivers in C. |