Paul Sokolovsky
402a743821
esp8266/esp_mphal: Add support for debug UART-only output.
...
Helpful when debugging dupterm support (because otherwise all output is
spooled to dupterm too).
To use:
mp_printf(&mp_debug_print, "...");
2016-03-29 11:48:43 +03:00
Paul Sokolovsky
8fc5e56a6a
esp8266: Enable uos.dupterm() method.
2016-03-29 11:41:23 +03:00
Paul Sokolovsky
c961889e34
esp8266: Add basic support for duplicating REPL output.
2016-03-29 11:13:32 +03:00
Damien George
6ca17c1922
esp8266: Implement os.urandom function.
...
Uses what is suspected to be a hardware random number generator.
2016-03-29 10:29:57 +03:00
Paul Sokolovsky
b4070ee8a4
esp8266: Allow to build without FatFs support again.
2016-03-28 21:35:41 +03:00
Paul Sokolovsky
2f02302e22
esp8266: Support importing modules from filesystem.
2016-03-28 18:39:34 +03:00
Damien George
71d40f132d
esp8266: Zero out fs_user_mount state on (soft) reset.
...
Otherwise device stays mounted on soft reset and leads to corruption
(since block device object is now gone).
2016-03-28 13:28:41 +03:00
Paul Sokolovsky
9edd736ee6
esp8266/moduos: Add os.remove(), proxying to VFS object.
2016-03-28 12:50:07 +03:00
Paul Sokolovsky
e8e116e7fc
esp8266/moduos: Factor out VFS method proxy helper.
2016-03-28 12:44:36 +03:00
Paul Sokolovsky
8b08a0d9ed
esp8266/moduos: Add listdir() proxy for MP_STATE_PORT(fs_user_mount)[0].
...
I.e. os.listdir(...) will redirect to
MP_STATE_PORT(fs_user_mount)[0].listdir(...).
2016-03-28 12:29:47 +03:00
Damien George
61230e007d
esp8266/moduos: Use mp_rom_map_elem_t for static const dictionary.
2016-03-28 12:08:36 +03:00
Paul Sokolovsky
b01a373adb
esp8266: deploy: Use --flash_size=8m option to esptool.py.
...
Most esp8266 modules have at least 1MB (8Mbit) of flash. If not set, vendor
functions allow to access only first 512K.
2016-03-28 11:28:16 +03:00
Paul Sokolovsky
cd6194aefc
esp8266/esp8266.ld: Put FatFs to FlashROM.
2016-03-27 17:15:25 +03:00
Paul Sokolovsky
374654f2b8
esp8266: Enable FatFs support.
2016-03-27 17:13:47 +03:00
Paul Sokolovsky
fe9bc0c573
esp8266/README: Update for the current status of the port.
2016-03-27 16:10:58 +03:00
Paul Sokolovsky
bbc65d4eda
esp8266/modesp: flash_read(): Accept buffer to read to as a second argument.
2016-03-27 15:34:35 +03:00
Paul Sokolovsky
fd86bf5917
esp8266/modesp: flash_write(): Writes in multiples of 4 bytes.
2016-03-27 15:32:58 +03:00
Paul Sokolovsky
53302f1616
esp8266: Set up UART handling task soon into init process.
...
Otherwise, events may be posted to non-initialized task, which leads to
segfaults.
2016-03-27 14:33:17 +03:00
Paul Sokolovsky
935e021250
esp8266: Put modpybi2c.o to FlashROM.
2016-03-26 10:59:25 +02:00
Damien George
c33a76059f
esp8266/tests: Add neopixel.py test.
2016-03-26 10:55:29 +02:00
Damien George
3962766be0
esp8266: Add esp.neopixel_write function to bit-bang WS2812 data.
2016-03-26 10:55:21 +02:00
Damien George
b62beadae0
esp8266: Link ADC class into machine module.
2016-03-26 00:41:37 +02:00
Paul Sokolovsky
f71c0699a5
esp8266: Put utils.o to FlashROM.
2016-03-26 00:39:51 +02:00
Paul Sokolovsky
9c7e3353e5
esp8266: Put lexerstr32.o into FlashROM.
2016-03-26 00:39:02 +02:00
Paul Sokolovsky
ba640bde55
esp8266/esppwm.c: Fix IRQ handler prototype.
2016-03-26 00:34:28 +02:00
Damien George
632d8efa05
esp8266: Add PWM support.
...
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.
2016-03-26 00:32:37 +02:00
Damien George
82b95f625e
esp8266: Implement software SPI class.
...
Supports speeds up to 500k baud, polarity=0/1, phase=0/1, and using any
pins. Only supports MSB output at the moment.
2016-03-25 23:28:13 +02:00
Paul Sokolovsky
ac671546d1
esp8266/README: Remove outdated reference to initial port heap size.
2016-03-25 15:02:23 +02:00
Damien George
a5d48b1162
esp8266: Add tests/onewire.py as a driver and test code for ds18b20 dev.
2016-03-24 17:35:26 +02:00
Damien George
78d0dde562
esp8266: Add onewire helper functions as C module.
...
Includes functions to read and write bits and bytes.
2016-03-24 17:33:42 +02:00
Damien George
0cdbd356fd
esp8266: Implement bit-bang I2C read, and add i2c.readfrom method.
...
I2C reading tested with TSL2561 luminosity sensor.
2016-03-24 11:46:05 +02:00
Damien George
5b9f361824
esp8266: Clean up bit-bang I2C implementation.
...
Changed from using set_sda_scl function to independent set_sda and
set_scl functions.
2016-03-24 11:37:52 +02:00
Paul Sokolovsky
667d64b430
esp8266/modpybi2c: Add missing include.
2016-03-24 11:21:36 +02:00
Damien George
dd32f02cc3
esp8266: Add basic I2C driver, with init and writeto methods.
...
Tested and working with SSD1306 I2C display.
2016-03-24 11:17:17 +02:00
Damien George
7059c8c23c
esp8266: Expose pin object as a public structure for use as C pin API.
...
This is an initial attempt at making a simple C pin API for writing
things like I2C drivers in C.
2016-03-24 11:07:41 +02:00
Paul Sokolovsky
a1d072df81
esp8266: Enable auto-indent in REPL.
2016-03-23 16:30:29 +02:00
Paul Sokolovsky
df1f6783f2
esp8266: Add "socket" and "usocket" aliases for lwip module.
2016-03-23 16:25:55 +02:00
Paul Sokolovsky
494aea3e86
esp8266: Enable non-blocking stream support.
2016-03-23 16:15:49 +02:00
Damien George
5bc9398d9d
esp8266: Enable more extmod's: uheapq, ure, uzlib.
2016-03-23 14:19:14 +02:00
Damien George
8000d51b68
esp8266: Add module weak link from json to ujson.
2016-03-23 14:16:46 +02:00
Paul Sokolovsky
1a0adf49df
esp8266: Enable urandom module.
2016-03-23 13:33:17 +02:00
Damien George
e673714cfe
esp8266: Make mp_hal_delay_us work with new event framework.
2016-03-23 13:01:21 +02:00
Paul Sokolovsky
58e2ad42ae
esp8266: Update README with the latest features.
2016-03-23 12:08:15 +02:00
Damien George
556a1df6fd
esp8266/ets_alt_task: Make FIRST_PRIO=0 to cover all task priorities.
...
FIRST_PRIO=2 works but using 0 is hopefully safer, and can anyway be
optimised in the future.
2016-03-17 16:28:06 +00:00
Paul Sokolovsky
9d7b871f58
esp8266: Store frozen modules in FlashROM.
...
Requires special lexer to access their contents.
2016-03-17 23:06:47 +08:00
Paul Sokolovsky
e5c39a3a9e
esp8266: Switch to lwIP built from source.
...
Using https://github.com/pfalcon/esp-open-lwip project.
2016-03-12 11:45:53 +07:00
Christopher Arndt
3d0e3a3d3e
esp8266: Mention git submodule in build instructions for esp8266 port.
2016-03-11 10:07:02 +00:00
Damien George
932f07ccf5
esp8266: Rejig Makefile so extmod/modlwip.o is placed under build/.
2016-03-11 12:00:01 +07:00
Paul Sokolovsky
4c2cb7e384
esp8266: Define MICROPY_EVENT_POLL_HOOK for the port.
2016-03-11 10:41:10 +07:00
Paul Sokolovsky
6e5c31c947
esp8266: Be sure to build ets_alt_task.
2016-03-11 09:43:39 +07:00