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
91031a75a1
extmod/modlwip: lwip_socket_setsockopt: Handle option value properly.
2016-03-25 20:53:52 +02:00
Paul Sokolovsky
4332d72fd8
extmod/modlwip: Add lwip->POSIX error map for lwIP 1.4.0.
...
Between 1.4.0 and 1.4.1, lwIP errors were renumbered.
2016-03-25 20:32:01 +02:00
Paul Sokolovsky
de0c84ebf1
extmod/modlwip: lwip_tcp_send: Handle properly send buffer full condition.
...
Per POSIX http://pubs.opengroup.org/onlinepubs/9699919799/functions/send.html :
"If space is not available at the sending socket to hold the message to be
transmitted, and the socket file descriptor does not have O_NONBLOCK set,
send() shall block until space is available. If space is not available at the
sending socket to hold the message to be transmitted, and the socket file
descriptor does have O_NONBLOCK set, send() shall fail [with EAGAIN]."
2016-03-25 18:38:13 +02:00
Paul Sokolovsky
5e75f335e6
extmod/modlwip: Implement setsocketopt(SO_REUSEADDR).
2016-03-25 17:44:24 +02:00
Paul Sokolovsky
0cb10b5220
docs/esp8266/quickref: Add note about GPIO16.
2016-03-25 16:48:15 +02:00
Paul Sokolovsky
159f1aaca8
docs/esp8266/quickref: Note that timers supported are virtual ones.
2016-03-25 16:44:13 +02:00
Paul Sokolovsky
e589cddcd4
docs/esp: Remove getaddrinfo(), now in socket module as expected.
2016-03-25 16:39:18 +02:00
Paul Sokolovsky
6e6488530e
docs: More standard modules for esp8266.
2016-03-25 16:33:05 +02:00
Paul Sokolovsky
4b5606bc09
docs/network: esp8266: Update docs on WLAN constructor.
2016-03-25 16:30:06 +02:00
Paul Sokolovsky
ee6fcc6f91
docs: Add standard modules list for esp8266.
2016-03-25 15:17:55 +02:00
Paul Sokolovsky
96a644076d
docs/topindex.html: Refer to "pyb" module only for pyboard.
2016-03-25 15:12:26 +02:00
Paul Sokolovsky
8f1854ad2d
extmod/modlwip: Add SOL_SOCKET and SO_REUSEADDR constants for setsockopt().
2016-03-25 15:06:12 +02:00
Paul Sokolovsky
ac671546d1
esp8266/README: Remove outdated reference to initial port heap size.
2016-03-25 15:02:23 +02:00
Paul Sokolovsky
88f60de914
tests: Add test for io.BufferedWriter.
2016-03-25 15:01:19 +02:00
Paul Sokolovsky
2c81b9be28
py/modio: io.BufferedWriter: Describe flushing policy.
2016-03-25 14:59:30 +02:00
Paul Sokolovsky
063e6e7d0a
py/modio: Implement io.BufferedWriter.flush().
2016-03-25 14:33:38 +02:00
Paul Sokolovsky
5d93dfbc2c
py/modio: Initial implementation of io.BufferedWriter class.
...
Just .write() method implemented currently.
2016-03-25 01:10:49 +02:00
Paul Sokolovsky
3dbd2ee926
extmod/modwebsocket: Implement read support.
2016-03-25 00:51:51 +02:00
Paul Sokolovsky
4a02a8f74d
py/stream: Fix object vs ptr usecase in mp_stream_writeall().
2016-03-24 19:43:08 +02:00
Paul Sokolovsky
24342dd65e
extmod/modwebsocket: Start module for WebSocket helper functions.
...
Currently, only write support is implemented (of limited buffer size).
2016-03-24 19:16:00 +02:00
Paul Sokolovsky
d4c8e626f2
py/stream: Add mp_stream_writeall() helper function.
...
Spools entire output buffer to a blocking stream (chunk by chunk if
needed).
2016-03-24 19:09:00 +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
b894551772
extmod/uctypes: Change param type from void* to byte*.
2016-03-19 22:13:17 +00:00
Damien George
da161fd9f0
extmod/uctypes: Finish support for FLOAT32 and FLOAT64 types.
2016-03-19 21:59:42 +00:00
Damien George
12154b1774
extmod/uctypes: Use mp_binary_get_val helper when extracting value.
...
It handles more cases than mp_binary_get_int.
2016-03-19 21:41:01 +00:00
Damien George
8d4d6731f5
py/parse: When looking up consts, check they exist before checking type.
2016-03-19 21:36:32 +00:00
Peter Hinch
2b302dad51
docs: Update pyb.UART.any() to mention that it returns character count.
2016-03-17 20:19:36 +00:00
Peter Hinch
6d5a549067
docs: Mention that pyb.SPI constructor accepts "X" and "Y" arguments.
2016-03-17 20:19:08 +00:00
Peter Hinch
b8133c4c0f
docs: Update pyb.I2C constructor to reflect changes in Pyboard Lite.
2016-03-17 20:18:36 +00:00
Peter Hinch
4a6cac4643
docs: Update asm tutorial, maximum number of allowed args is now 4.
2016-03-17 20:17:40 +00:00
Damien George
99146ea444
tests/io: Remove "testfile" at end of open_plus test.
2016-03-17 20:09:33 +00: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