- For packages that were just x.y, update to x.y.0.
- For that were x.y.z-n, update to x.y.(z+1)
From now on we'll apply semver rules:
- MAJOR version when you make incompatible API changes
- MINOR version when you add functionality in a backward compatible manner
- PATCH version when you make backward compatible bug fixes
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This module implements a subset of the Python requests module, and so
it should have the same name.
Added a backwards-compatibility wrapper to allow people to continue to use
`import urequests`. This lives in micropython/urequests.
Changed requests to be a package, so that we can implement extension
packages in the future for optional functionality.
Added a basic README.md to both.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
f-strings aren't enabled on all builds (e.g. low-flash ESP8266).
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Due to changes in MicroPython to support PEP-479, StopIteration has been
deprecated for return. This results in xmltok to raise RuntimeError every
time. This commit is a simple fix to just change from StopIteration to
EOFError and then return it in the generator.
For reading, the size is always terminated by a null, so just ignore it by
using 11 for the uctypes entry (this fixes a regression introduced in
7128d423c2).
For writing, the size must always be terminated by a null.
Signed-off-by: Damien George <damien@micropython.org>
Includes:
- component oriented driver, to only install the parts that are needed
- synchronous operation
- async wrapper class for asynchronous operation
- two examples with async & synchronous versions
- documentation
This work was funded through GitHub Sponsors.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
This adds a utarfile-write extension package that adds the ability to
create and append to tar files.
Work done by Doug Ellis <dpwe@ee.columbia.edu>.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Removes the workaround for micropython/issues/6864.
Sets the default flags for discovered descriptors to be WRITE,
so that d.write() will implicitly set response=True.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This is designed to be a common set of packages that all deployments with
networking support should include.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Adds missing "duration_ms" argument to the example, and a second example
that shows the "interval_us" / "window_us" and also active scan.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
* Add instructions for how to use micropython-lib.
* Add a terminology guide and use consistent terminology
(package/module/library).
* Improve code conventions and contributor guidelines.
* Misc readme updates.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Use explicit pin numbers to instantiate the SPI interface on RP2.
On ESP32 use SoftSPI(...) rather than SPI(-1, ...).
Update terminology to initiator/responder.
Tested with two Pico boards.
Originally by @peterhinch.
See https://github.com/micropython/micropython/pull/6007 for discussion.
The summary is that on some cards (especially older Kingston ones) if the
bus is shared with other SPI devices, then it seems to require that MISO
is high for a few cycles before the transaction is initiated.
Because CS is high, this change should otherwise be a no-op.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Moves mip.py to mip/__init__.py, so that the optional (added in this
commit) mip/__main__.py can exist to support:
`micropython -m mip install [--target,--index,--no-mpy] package@version`
"install" works by forwarding the arguments directly to mip.install.
Updates mip to v0.2.0 because of the change in directory structure.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Duplicate Ctrl-C and LF detection requires this, but it was incorrectly
saving the current value, not the previous.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
The regular REPL uses the uncooked input, but aiorepl reads from sys.stdin
which is cooked. The result is that if the client sends a CRLF, aiorepl
will see LFLF.
This ignores a second LF in quick succession from the first.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
- `_FLAG_WRITE` was incorrectly `_FLAGS_WRITE`
- `response` should be defaulted to `None` rather than `False` in order
to detect that when it is unspecified.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This tool implements a subset of the ESP32 ROM bootloader protocol, and
it's mainly intended for updating Nina WiFi firmware from MicroPython, but
can be used to flash any ESP32 chip.
Check the machine module first, then search in previous places. This
supports having machine.dht_readinto as the new standard, while still being
backwards compatible.
This replaces the options that could be specified previously to include
and require.
The `aioble` package now provides everything. For a minimal install, the
individual components can now be installed or require()'ed explicitly.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
After `reconnect()`, MQTTClient.socket is blocking by default, and
check_msg() can block. This commit aims to fix that behaviour by
reimplementing `check_msg()` for umqtt.robust and setting the socket to
non-blocking.
Fixes issue #192.
Riffing on "pip", "mip installs packages".
This is a replacement for the previous `upip` tool for on-device
installation of packages.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This replaced the per-characteristic queues with a single shared queue,
which means that the characteristics will return from `written()` in the
exact order that the original writes arrived, even if the writes are
occuring across multiple different characteristics.
This work was funded by Planet Innovation.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This provides an async REPL with the following features:
- Run interactive REPL in the background.
- Execute statements using await.
- Simple history.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>