Damien George
eec8a94f04
extmod/machine_i2c: Implement I2C memory reading/writing.
2016-04-12 15:52:17 +01:00
Damien George
9314b2df4f
extmod/machine_i2c: Fix I2C reading by sending ack/nack at end of byte.
2016-04-12 15:46:13 +01:00
Damien George
73bc0c24ab
drivers: Add SSD1306 OLED driver, with I2C and SPI interfaces.
2016-04-12 14:06:54 +01:00
Damien George
e813ea1070
esp8266: Enable framebuf module.
2016-04-12 14:06:54 +01:00
Damien George
a525493e40
esp8266: Switch from using custom I2C driver to generic extmod one.
2016-04-12 14:06:54 +01:00
Damien George
ac63ca7bc5
esp8266: Implement basic C-level pin HAL.
2016-04-12 14:06:54 +01:00
Damien George
1a65ff1b72
esp8266: Protect modpyb.h header file from multiple inclusions.
...
Also include py/obj.h so the header is self contained.
2016-04-12 14:06:54 +01:00
Damien George
67a327cb9b
stmhal: Enable framebuf module.
2016-04-12 14:06:54 +01:00
Damien George
e4f963a351
stmhal: Use new generic I2C object in machine module.
2016-04-12 14:06:54 +01:00
Damien George
69a1aaf654
stmhal: Implement basic C-level pin HAL.
2016-04-12 14:06:54 +01:00
Damien George
d083712224
extmod: Add generic machine.I2C class, with bit-bang I2C.
...
Should work on any machine that provides the correct pin functions.
2016-04-12 14:06:54 +01:00
Damien George
53ad681ed1
extmod: Add initial framebuf module.
2016-04-12 14:06:53 +01:00
Damien George
3a37426b29
esp8266/scripts/inisetup.py: Use "-" in AP ESSID instead of space.
2016-04-12 00:47:21 +03:00
Paul Sokolovsky
260b839483
esp8266/scripts/inisetup.py: Set WPA/WPA2 AP mode with a predefined password.
2016-04-12 00:46:04 +03:00
Paul Sokolovsky
40f5ecd3a8
esp8266: Add Python modules for initial configuration.
...
Main entry point is _boot.py which checks whether FAT FS in flash mountable,
and if so, mounts it. Otherwise, it checks if flash is empty, and if so,
performs initial module setup: makes FAT FS, configures default AP name,
etc. As a last option, if flash is not empty, and could not be mounted,
it means filesystem corruption, and warning message with instructions is
printed in an infinite loop.
2016-04-12 00:37:04 +03:00
Paul Sokolovsky
2f5935269b
esp8266/scripts/main.py: Remove stale file.
2016-04-12 00:35:13 +03:00
Paul Sokolovsky
54b89665fc
esp8266/modnetwork: .config(): Add "password" param (W/O).
2016-04-12 00:18:40 +03:00
Paul Sokolovsky
7acc252e93
esp8266/modnetwork: .config(): Add "authmode" param.
2016-04-12 00:17:31 +03:00
Paul Sokolovsky
6f3fc9bfa1
esp8266/modnetwork: .config(): Check interface whose config is requested.
2016-04-12 00:16:16 +03:00
Paul Sokolovsky
1a327c4fa3
unix: Build with MICROPY_PY_UHASHLIB_SHA1 if already building with axTLS.
2016-04-11 21:58:58 +03:00
Paul Sokolovsky
f49d63a75c
esp8266: Enable websocket module.
2016-04-11 21:25:43 +03:00
Damien George
9b0a150bd6
docs: Bump version to 1.7.
2016-04-11 12:18:10 +01:00
Paul Sokolovsky
f8fb4470a0
extmod/modwebsocket: write(): Support write size beyond 125 bytes.
2016-04-11 14:07:57 +03:00
Paul Sokolovsky
7063210014
extmod/modlwip: Fix for loss of data in unaccepted incoming sockets.
...
When lwIP creates a incoming connection socket of a listen socket, it
sets its recv callback to one which discards incoming data. We set
proper callback only in accept() call, when we allocate Python-level
socket where we can queue incoming data. So, in lwIP accept callback
be sure to set recv callback to one which tells lwIP to not discard
incoming data.
2016-04-11 01:21:34 +03:00
Paul Sokolovsky
1cc81ed449
esp8266/modesp: Add freemem() and meminfo() functions.
...
They call into vendor SDK functions system_get_free_heap_size() and
system_print_meminfo() respectively.
2016-04-11 01:16:38 +03:00
Paul Sokolovsky
c734de490a
esp8266/main: mp_builtin_open(): Implement, using vfs_proxy_call().
2016-04-10 16:59:19 +03:00
Damien George
358e5d8bad
py/stream: Move uPy func obj wrappers to below their respective funcs.
2016-04-10 12:41:28 +01:00
Damien George
657aef66ff
py/stream: Simplify arg extraction logic for stream_ioctl.
...
Saves 16 bytes of code.
Also, use mp_obj_get_int_truncated to allow integers as big as a machine
word to be passed as the value.
2016-04-10 12:37:59 +01:00
Damien George
6e87aeb841
esp8266: Implement multistage bootstrap sequence.
...
Upon start-up, _boot module is executed from frozen files to do early
initialization, e.g. create and mount the flash filesystem. Then
"boot.py" is executed if it exists in the filesystem. Finally, "main.py"
is executed if exists to allow start-on-boot user applications.
This allows a user to make a custom boot file or startup application
without recompiling the firmware, while letting to do early initialization
in Python code.
Based on RFC https://github.com/micropython/micropython/issues/1955 .
2016-04-10 14:24:41 +03:00
Paul Sokolovsky
b69f798c92
extmod/modwebsocket.h: Split websocket-related defines for reuse.
2016-04-10 13:42:51 +03:00
Paul Sokolovsky
558fd5d228
py/stream: ioctl(): Properly support 2-arg form.
2016-04-10 13:36:44 +03:00
Paul Sokolovsky
6c3db26ab7
py/stream: Fix signed comparison issue.
2016-04-10 13:31:52 +03:00
Paul Sokolovsky
d6236e85c2
extmod/modwebsocket: Implement MP_STREAM_SET_DATA_OPTS ioctl.
...
Allows to set fragment type (txt/bin/etc.) for output records.
2016-04-10 13:19:26 +03:00
Paul Sokolovsky
6837dba6b8
extmod/modwebsocket: Allow to get type of last read data using ioctl().
2016-04-10 12:50:46 +03:00
Paul Sokolovsky
0c97e4c414
py/stream: Add Python-level ioctl() method.
...
Will call underlying C virtual methods of stream interface. This isn't
intended to be added to every stream object (it's not in CPython), but
is convenient way to expose extra operation on Python side without
adding bunch of Python-level methods.
2016-04-10 12:45:46 +03:00
Paul Sokolovsky
a45e280c58
py/stream.h: Add bigger inventory of stream ioctl's.
2016-04-10 12:42:41 +03:00
Paul Sokolovsky
f38e8f5217
extmod/modwebsocket: Record current fragment type (binary/text/etc.)
...
Also, handle continuation frames (untested).
2016-04-09 16:14:47 +03:00
Paul Sokolovsky
5b1c221785
extmod/modwebsocket: Add option for blocking writes to non-blk sockets.
...
This is strange asymmetry which is sometimes needed, e.g. for WebREPL: we
want to process only available input and no more; but for output, we want
to get rid of all of it, because there's no other place to buffer/store
it. This asymmetry is akin to CPython's asyncio asymmetry, where reads are
asynchronous, but writes are synchronous (asyncio doesn't expect them to
block, instead expects there to be (unlimited) buffering for any sync write
to completely immediately).
2016-04-09 16:03:38 +03:00
Paul Sokolovsky
397b705647
extmod/modwebsocket: Reset mask between packets.
2016-04-09 12:29:18 +03:00
Paul Sokolovsky
7e9182f3aa
extmod/modwebsocket: Make sure to propagate EOF.
2016-04-08 20:26:54 +03:00
pohmelie
b32b0d38fe
unix: freedos strip and size names for binaries
...
After this you need only one path for build (path/to/djgpp/bin). Original patch made by @dhylands
2016-04-08 20:15:37 +03:00
Tom Sparks
20d9bc2d76
extmod/modure: re_exec() renamed to ure_exec() due to collison in 4.3BSD.
...
Addresses issue #1972 .
2016-04-08 20:12:03 +03:00
Paul Sokolovsky
05ba2433f6
extmod/modwebsocket: Properly check number of args to constructor.
2016-04-08 16:05:48 +03:00
Paul Sokolovsky
5e919b7ef8
lib/axtls: Update to the latest upstream master.
2016-04-08 15:19:57 +03:00
Paul Sokolovsky
9c04299da1
docs: esp8266: Enable "machine" module docs.
...
The docs are still heavily biased towards WiPy, so will need a lot of
exclusions.
2016-04-07 16:44:10 +03:00
Paul Sokolovsky
5e7fa7c80c
docs/ubinascii: Document non-standard "sep" argument to hexlify().
2016-04-07 12:39:00 +03:00
Martin Fischer
8a8e775035
stmhal: Consistently enable USB SOF Irqs for all USB modes (FS and HS).
...
SOF irqs are now standard for rx/tx USB transfers, so enable them for both
FS and HS modes. Fixes #1944 .
2016-04-07 09:23:33 +01:00
Damien George
04d5e644fc
py/objarray: Fix array.append so it doesn't extend if append fails.
...
Addresses issue #1965 .
2016-04-07 09:03:33 +01:00
Damien George
2c915e1ae6
py: Implement basic with support in native emitter.
2016-04-07 08:53:24 +01:00
Damien George
ce8b4e8749
py: Combine continuous block of emit steps into with_cleanup emit call.
...
Because different emitters need to handle with-cleanup in different ways.
2016-04-07 08:50:38 +01:00