Damien George
7ebfe09fbd
esp8266: Add dht.py script for high-level control of DHT11/DHT22 sensor.
...
TODO: should go in a more port-neutral place, like drivers/dht, but at the
moment in relies on specific esp module.
2016-05-26 17:13:03 +01:00
Damien George
45f3416816
esp8266: Enable DHT C-level driver.
...
Exposed as esp.dht_readinto. Probably should go somewhere less
port-specific.
2016-05-26 17:11:43 +01:00
Damien George
4b37e775ea
extmod/machine_i2c: Redo mp_hal_pin macros to use open_drain and od_low.
...
mp_hal_pin_config_od is renamed mp_hal_pin_open_drain, and mp_hal_pin_low
is mp_hal_pin_od_low.
2016-05-26 17:06:40 +01:00
Damien George
9a368ae831
esp8266/modmachine: Add disable_irq and enable_irq functions.
2016-05-26 15:47:47 +01:00
Damien George
849eb835f0
esp8266/ets_alt_task: Don't run ets_loop_iter if irqs are disabled.
...
ets_loop_iter processes pending tasks, and tasks are considered lower
priority than interrupts, so tasks shouldn't be processed if interrupts
are disabled.
2016-05-26 15:47:47 +01:00
Damien George
99b14593a6
esp8266/xtirq: Add xtirq.h for controlling xtensa irqs.
2016-05-26 15:47:47 +01:00
Damien George
7e809b4baf
esp8266/modpybspi: Configure pins when initialising an SPI object.
2016-05-26 15:42:44 +01:00
Damien George
68e222afdc
esp8266: Add mp_hal_pin_input() and mp_hal_pin_output() functions.
2016-05-26 15:42:27 +01:00
Paul Sokolovsky
2b05b60bbc
esp8266/esp_mphal: mp_uos_dupterm_deactivate() may raise exception.
...
So, keep call to it protected via NLR still.
2016-05-24 15:04:59 +03:00
Paul Sokolovsky
4681b86850
esp8266/esp_mphal: Handle Ctrl+C from dupterm (e.g. WebREPL).
2016-05-24 01:37:56 +03:00
Paul Sokolovsky
116eeee6db
esp8266/esp_mphal: Fix NLR buffer leak in call_dupterm_read().
2016-05-24 01:30:28 +03:00
Paul Sokolovsky
bc2ba6b2e3
esp8266/scripts/port_diag: Dump network interface IP settings.
2016-05-24 01:27:16 +03:00
Paul Sokolovsky
cb7693bab4
esp8266/main: Update _boot module loading for recent frozen modules refactors.
2016-05-22 04:09:15 +03:00
Paul Sokolovsky
9c2217a165
esp8266: Enable collections.OrderedDict.
2016-05-22 02:57:33 +03:00
Paul Sokolovsky
0ab372585f
extmod/moduos_dupterm: Dumpterm subsystem is responsible for closing stream.
...
Make dupterm subsystem close a term stream object when EOF or error occurs.
There's no other party than dupterm itself in a better position to do this,
and this is required to properly reclaim stream resources, especially if
multiple dupterm sessions may be established (e.g. as networking
connections).
2016-05-20 22:20:37 +03:00
misterdanb
a0a08b4be1
esp8266: Add APA102 serial individually controllable LEDs support.
...
APA102 is a new "smart LED", similar to WS2812 aka "Neopixel".
2016-05-19 22:29:11 +03:00
Torwag
6fa60153ea
esp8266/README: Add a very first start section.
...
Adding a very first start section to get people going after flashing.
I tried to condense it to a minimum to avoid as much as possible
redundancy and bloating.
2016-05-19 21:10:35 +03:00
Paul Sokolovsky
418faae8f7
esp8266/scripts/webrepl_setup: Add max password length check.
...
modwebrepl truncates password to 9 chars, and that led people to confusion.
2016-05-17 02:21:45 +03:00
Paul Sokolovsky
21ec1fd850
esp8266/scripts/webrepl_setup: Show password placeholder char.
...
That was the intent for the initial user setup, but didn't work before
due to lwIP issues. Enable now that they're fixed.
2016-05-17 00:01:41 +03:00
Paul Sokolovsky
7327d5f6f7
esp8266/scripts/port_diag: Add network diagnostic output.
2016-05-16 23:52:58 +03:00
Robert HH
a676a41cb7
esp8266/moduos.c: Addition of the rename method to module uos.
...
That one was missing in the module, even if it was available in the
vfs object. The change consist of adding the name and preparing the
call to the underlying vfs module, similar to what was already
implemented e.g. for remove.
Rename is useful by itself, or for instance for a safe file replace,
consisting of the sequence:
write to a temp file
delete the original file
rename the temp file to the original file's name
2016-05-16 13:19:13 +02:00
Damien George
0d6d315ba6
esp8266: Change to use internal errno's.
2016-05-12 12:49:36 +01:00
Damien George
7e1f580910
esp8266: Enable uerrno module, weak linked also as errno.
2016-05-10 23:30:39 +01:00
Damien George
4f2ba9fbdc
esp8266: Convert to use new MP_Exxx errno symbols.
...
These symbols are still defined in terms of the system Exxx symbols, and
can be switched to internal numeric definitions at a later stage.
Note that extmod/modlwip still uses many system Exxx symbols.
2016-05-10 23:30:39 +01:00
Paul Sokolovsky
d60cb8e180
esp8266/help: Add "sta_if.active(True)" command.
...
As reported on the forum by Roberthh.
2016-05-10 23:21:32 +03:00
Paul Sokolovsky
f16bec6bc9
esp8266/mpconfigport: Reduce various parser-related allocation params.
...
This gives noticeable result for parsing simple input (modelled on 32-bit
unix port):
Before:
>>> micropython.mem_total()
3360
>>> micropython.mem_total()
4472
After:
>>> micropython.mem_total()
3072
>>> micropython.mem_total()
4052
However, effect on parsing large input is much less conclusive, e.g.:
Before:
>>> micropython.mem_total()
3376
>>> import pystone_lowmem
>>> micropython.mem_total()
33006
delta=29630
After:
>>> micropython.mem_total()
3091
>>> import pystone_lowmem
>>> micropython.mem_total()
32509
delta=29418
2016-05-10 15:38:31 +03:00
Paul Sokolovsky
de5e0ed2e0
esp8266/main: Bump heap size to 28K.
...
This is kind of compensation for 4K FatFs buffer size which is eaten away
from it on FS mount. This should still leave enough of networking ("OS")
heap.
2016-05-09 19:02:40 +03:00
Paul Sokolovsky
13a1acc7e2
esp8266/scripts/webrepl: Add start_foreground() method.
...
Starts WebREPL server in foreground and waits for (single) connection.
2016-05-08 20:01:15 +03:00
Noah Rosamilia
2724bd4a94
esp8266/scripts/webrepl: Add optional password argument to webrepl.start()
...
This commit fixes issue #2045
2016-05-07 22:45:08 +03:00
Mike Causer
13d06a83e1
esp8266/scripts/: Add fill() to NeoPixel
2016-05-07 21:15:33 +03:00
Paul Sokolovsky
8db61e5b5a
esp8266/scripts/inisetup: Don't start WebREPL on boot in master branch.
...
It interferes with running testsuite. master branch should be optimized for
development, so any features which interfere with that, would need to be
disabled by default.
2016-05-07 20:04:45 +03:00
Paul Sokolovsky
df2b1a4758
esp8266/scripts/: Remove use of pin.PULL_NONE.
...
This constant is no longer part of hardware API (replaced with just None),
and is a default, so not needed in calls.
2016-05-05 23:47:37 +03:00
Paul Sokolovsky
fb5017f9dc
esp8266/main: Set sys.path to ["", "/", "/lib"].
2016-05-03 18:25:27 +03:00
Damien George
496a601c3b
esp8266: Shrink help text by a few lines, to fit in smaller windows.
2016-05-03 15:54:57 +01:00
Paul Sokolovsky
f873a5005a
esp8266/scripts/ntptime: Add simple NTP client.
...
.time() returns seconds since MicroPython epoch (2000-01-01 00:00UTC),
.settime() sends current system time, assuming UTC timezone.
2016-05-03 16:47:42 +03:00
Damien George
8e130fcf2b
esp8266/modpybpin: Make pin.irq() methods take keyword args.
2016-05-03 13:47:10 +01:00
Damien George
8a3e9036eb
esp8266/modpybpin: Use None instead of PULL_NONE for no-pull config.
2016-05-03 13:13:56 +01:00
Damien George
9df6b3a2c2
esp8266/modpybpin: Use enum+array instead of struct for parsing args.
2016-05-03 12:44:28 +01:00
Damien George
b539a61490
esp8266/scripts/neopixel.py: Swap red and green in pixel accessor.
2016-05-03 11:17:37 +01:00
Paul Sokolovsky
5e94f0b43a
esp8266/scripts/inisetup: Update for nic.mac() method being gone.
2016-05-03 02:16:42 +03:00
Paul Sokolovsky
35e63f0007
esp8266/modnetwork: Remove .mac() method, move to .config("mac").
...
Querying/setting MAC address is pretty adhoc operation to belong to
.config() instead of taking a whole method on its own.
2016-05-03 01:02:14 +03:00
Paul Sokolovsky
3944d3511f
esp8266/scripts/inisetup: Enable WebREPL auto-start on boot.
2016-05-03 00:38:47 +03:00
Paul Sokolovsky
76c81cd5a6
esp8266/modesp: Add malloc() and free() functions.
...
Useful for testing fragmentation issues in OS heap. E.g. freemem() may
report large amount, but is it possible to actually allocate block of
a given size? Issue malloc() (followed by free()) to find out.
2016-05-03 00:35:11 +03:00
Paul Sokolovsky
2123ced3f4
esp8266/modesp: Add esf_free_bufs() debugging function.
...
Return number of free inernal WiFi buffers.
2016-05-03 00:26:22 +03:00
Paul Sokolovsky
3d830415bc
esp8266/esp_mphal: Add ets_esf_free_bufs(), etc. functions.
...
Returning free number of various WiFi driver packet buffers.
2016-05-03 00:18:14 +03:00
Paul Sokolovsky
7b7c99fec1
esp8266/modnetwork: Remove deprecated wifi_mode().
...
Network interfaces are now controlled individually using .active() method.
2016-05-03 00:09:23 +03:00
Damien George
9215cdc7fd
esp8266: Change platform name from ESP8266 to esp8266.
...
The port name is lowercase, and this change is made for consistency with
the docs and other ports.
2016-05-02 18:54:46 +01:00
Paul Sokolovsky
13d9d50fea
esp8266/scripts/webrepl_setup: Reject too short passwords.
2016-05-02 18:48:32 +03:00
Paul Sokolovsky
26fd0ac571
esp8266/Makefile: Be sure to pass cross-compiling AR when building axtls.
...
Fixes build under MacOSX.
2016-05-02 01:22:42 +03:00
Paul Sokolovsky
9dd2c92d01
esp8266/README: Mention WebREPL.
2016-04-30 23:02:54 +03:00