Damien George
f9ecd484bb
esp8266: Change to use new generic VFS sub-system.
...
The VFS sub-system supports mounting of an arbitrary number of devices
(limited only by available RAM). The internal flash is now mounted at
"/flash".
2017-01-27 17:21:45 +11:00
Paul Sokolovsky
86d210951f
esp8266/scripts/inisetup: Dump FS starting sector/size on error.
...
Should allow to diagnose/try to recover FS easier.
2017-01-02 18:52:35 +03:00
puuu
4fc607a1d7
esp8266: Move websocket_helper.py from scripts to modules for frozen BC.
...
websocket_helper.py is used by webrepl. If webrepl is enabled and
websocket_helper.py is not frozen bytecode it leads to heap
fragmentation.
2016-12-05 13:01:08 +11:00
Paul Sokolovsky
eddcf0a5de
esp8266/scripts/port_diag: Add descriptions for esf_buf types.
2016-11-01 06:56:10 +03:00
Radomir Dopieralski
984a867341
esp8266/scripts: Make neopixel/apa102 handle 4bpp LEDs with common code.
...
The NeoPixel class now handles 4 bytes-per-pixel LEDs (extra byte is
intensity) and arbitrary byte ordering. APA102 class is now derived from
NeoPixel to reduce code size and support fill() operation.
2016-10-25 14:21:07 +11:00
Damien George
9fba618356
esp8266/modules: Split onewire.py into OneWire and DS18X20 driver.
...
The OneWire class is now in its own onewire.py module, and the temperature
sensor class is in its own ds18x20.py module. The latter is renamed to
DS18X20 to reflect the fact that it will support both the "S" and "B"
variants of the device.
These files are moved to the modules/ subdirectory to take advantage of
frozen bytecode.
2016-08-29 12:12:49 +10:00
Paul Sokolovsky
6de37864a2
esp8266/scripts/inisetup: Add commented-out call to esp.osdebug(None).
...
That apparently will only help folks who read the docs on how to disable,
but could use a quick reminder straight in boot.py. For the developers,
it's important to have debug logging enabled in development branch
(master).
2016-08-06 15:27:38 +03:00
Paul Sokolovsky
4a27ad040e
esp8266/scripts/port_diag.py: Include esp.check_fw() call.
2016-08-04 00:43:58 +03:00
Paul Sokolovsky
b8f45166c6
esp8266: Switch webrepl to use frozen bytecode.
2016-07-02 22:45:31 +03:00
Paul Sokolovsky
dec51e3519
esp8266: Switch webrepl_setup to use frozen bytecode.
2016-07-02 22:40:16 +03:00
Paul Sokolovsky
686367dcfc
esp8266: Explicitly collect garbage in bootstrap scripts.
...
Leads to less fragmentation at teh time user code starts.
2016-07-02 19:22:55 +03:00
Paul Sokolovsky
d1b7ba5dc1
esp8266/websocket_helper.py: Fix typo in debug output.
2016-06-30 13:34:58 +03:00
Paul Sokolovsky
6907496016
esp8266/websocket_helper.py: Avoid extra string allocations.
2016-06-30 00:02:45 +03:00
Damien George
db80c0ed46
esp8266: Enable frozen bytecode, with scripts in modules/ subdir.
...
To start with, the critical scripts _boot.py and flashbdev.py are frozen
to improve performance and reduce RAM consumption.
Saves about 1000 bytes of heap RAM for a bare boot with filesystem.
2016-06-29 13:59:19 +01:00
Paul Sokolovsky
225562d915
esp8266/scripts/ntptime: Allow to override NTP server.
...
This is not part of public API, variable name may change, or it can be
replaced with a function.
2016-05-30 19:16:05 +03:00
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
Paul Sokolovsky
bc2ba6b2e3
esp8266/scripts/port_diag: Dump network interface IP settings.
2016-05-24 01:27:16 +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
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
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
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
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
3944d3511f
esp8266/scripts/inisetup: Enable WebREPL auto-start on boot.
2016-05-03 00:38:47 +03:00
Paul Sokolovsky
13d9d50fea
esp8266/scripts/webrepl_setup: Reject too short passwords.
2016-05-02 18:48:32 +03:00
Paul Sokolovsky
c1d1c562f3
esp8266/scripts/webrepl: Add "first connection" mode to setup password.
...
If there's no port_config.py file, or it lacks WEBREPL_PASS variable,
"initial setup mode" will be entered on first WebREPLconnection. User
will be asked for password, which will be written to
port_config.WEBREPL_PASS, and system restarted to work in normal mode
with password active.
2016-04-30 20:41:09 +03:00
Paul Sokolovsky
962d5a987f
esp8266/scripts/webrepl: Switch to using _webrepl object wrapper.
...
Handling of binary protocol is untested on esp8266 so far.
2016-04-30 20:39:35 +03:00
Paul Sokolovsky
006ffe1561
esp8266/scripts/webrepl: Connection ack prompt is now printed by modwebrepl.
...
After password is checked.
2016-04-30 20:38:05 +03:00
Paul Sokolovsky
6ddd9f3e2b
esp8266/scripts/inisetup: Create default boot.py in filesystem.
...
Currently it pre-imports webrepl, but doesn't start it.
2016-04-29 20:11:48 +03:00
Paul Sokolovsky
74f413bc60
esp8266/scripts/_boot: builtins is no longer used.
2016-04-29 20:04:17 +03:00
Paul Sokolovsky
d86d65f625
esp8266/scripts: Move all of initial setup to inisetup module.
2016-04-29 20:02:59 +03:00
Damien George
8c3b5526ae
esp8266/scripts/neopixel.py: Remove test function from neopixel driver.
...
It takes up lots of room and isn't needed.
2016-04-28 13:37:17 +01:00
Damien George
1f7cec944e
esp8266/scripts/onewire.py: Simplify and improve 1-wire driver.
...
Changes are:
- added OneWireError exception and used where errors can occur
- renamed read/write functions to use same names as C _onewire funcs
- read_bytes is now read, write_bytes is now write
- add ability to read/write DS18B20 scratch pad
- rename start_measure to convert_temp (since that's what it does)
- rename get_temp to read_temp (consistency with other read names)
- removed test function
2016-04-28 13:33:55 +01:00
Damien George
38358a096d
esp8266: Move onewire.py, neopixel.py drivers from tests/ to scripts/.
2016-04-28 12:36:45 +01:00
Paul Sokolovsky
90b2cfe644
esp8266/scripts/webrepl: Add "ws://" to "daemon started at" message.
...
To remind people it's not HTTP.
2016-04-26 12:47:24 +03:00
Paul Sokolovsky
237c519ac4
esp8266/scripts/flashbdev: Use all available Flash for filesystem.
...
All Flash sans firmware at the beginning and 16K SDK param block at the
end is used for filesystem (and that's calculated depending on the Flash
size).
2016-04-26 01:36:32 +03:00
Paul Sokolovsky
ef2ffc0e4e
esp8266/scripts/webrepl: Print client address for incoming connections.
2016-04-26 01:00:28 +03:00
Paul Sokolovsky
c888831410
esp8266/scripts/webrepl: Print connection address.
...
Based on active network interfaces.
2016-04-26 00:59:30 +03:00
Paul Sokolovsky
4296a8dc5c
esp8266/scripts/webrepl: Allow to override port.
2016-04-25 18:44:37 +03:00
Paul Sokolovsky
bd66b09512
esp8266/scripts/webrepl: Don't start on import.
...
Explicit .start() is required now.
2016-04-25 00:33:27 +03:00
Paul Sokolovsky
8db4f363e9
esp8266/scripts/webrepl: Convert to persistent daemon.
2016-04-25 00:31:43 +03:00
Paul Sokolovsky
7c40b15a3f
esp8266/scripts/webrepl: WebREPL based on C-level websocket object.
2016-04-24 23:04:21 +03:00
Paul Sokolovsky
d422e56631
esp8266/scripts/websocket_helper: Disable debug output.
2016-04-22 18:19:54 +03:00
Paul Sokolovsky
eb40769613
esp8266/scripts/websocket_helper: Module encapsulating handshake sequences.
2016-04-22 18:18:27 +03:00