Wykres commitów

96 Commity (ce3f282967ded48d21bf6588834893c066e4be8b)

Autor SHA1 Wiadomość Data
Christian Clauss 4da6e6f1b2 all: Lint Python code with ruff.
Signed-off-by: Christian Clauss <cclauss@me.com>
2023-07-24 07:51:33 +02:00
Jim Mussared 8fc9edabf3 all: Standardise x.y.z versioning for all packages.
- 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>
2023-07-23 11:48:57 +10:00
Jim Mussared 97b7a30ab9 xmltok: Bump patch version.
For changes in 66924d9fa1.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-23 11:48:25 +10:00
Jim Mussared 87b4cdae2f aiorepl: Bump patch version.
For changes in ff842310de.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-23 11:48:14 +10:00
Jim Mussared 8513bfbe9d requests: Rename urequests to requests.
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>
2023-07-23 11:41:44 +10:00
Jim Mussared 5004436164 tarfile: Rename from utarfile.
This is compatible with the CPython module, so should
be named tarfile.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-23 11:41:44 +10:00
Jim Mussared ff842310de aiorepl: Replace f-string with str.format.
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>
2023-07-21 17:10:41 +10:00
Jim Mussared c48b17dd17 aiorepl/README.md: More info about globals.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-07-21 16:06:49 +10:00
ThunderEX 66924d9fa1 xmltok: Change StopIteration to EOFError due to PEP-479.
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.
2023-07-21 15:59:10 +10:00
Damien George 0a5b635594 utarfile: Fix read/write handling of nulls in tar header.
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>
2023-07-21 12:58:40 +10:00
Angus Gratton 2fba6b8644 lora: Workaround SX1262 bug with GetStatus.
This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2023-07-20 23:13:03 +10:00
Angus Gratton 1957f24020 lora: Add lora modem drivers for SX127x and SX126x.
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>
2023-07-20 23:07:22 +10:00
Dan Ellis 7128d423c2 utarfile: Support creating/appending tar files.
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>
2023-05-22 15:02:05 +10:00
glenn20 a1b9aa934c aioespnow: Add library providing asyncio support for espnow module.
This module provides asyncio support for the espnow module on ESP32 and
ESP8266 ports.
2023-05-04 14:21:32 +10:00
Jim Mussared c113611765 aioble: Fix descriptor flag handling.
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>
2023-04-12 07:04:12 +10:00
Jim Mussared 01db3da37e senml: Allow publishing to PyPI as micropython-senml.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-04-07 13:28:15 +10:00
Jim Mussared afc9d0a541 micropython: Add missing metadata for packages.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-04-07 13:24:15 +10:00
iabdalkader c8603192d1 senml: Fix data record encoding to use binascii instead of base64. 2023-03-06 23:12:38 +11:00
iabdalkader 295a9e300a senml: Remove u-module prefix from imports.
Signed-off-by: Damien George <damien@micropython.org>
2023-03-03 12:26:31 +11:00
iabdalkader 9ee02576cb senml: Add SenML library.
This is a new library that doesn't follow any existing API.

The library is originally from
https://github.com/kpn-iot/senml-micropython-library.
2023-03-01 01:18:30 +11:00
Daniel Flanagan 78900afca5 aioble: Add short name support to scan results.
Signed-off-by: Damien George <damien@micropython.org>
2023-02-28 11:07:34 +11:00
iabdalkader e3371bef6c bmm150: Add new magnetometer driver.
For the BOSCH BMM150 magnetometer.
2023-02-18 15:55:36 +11:00
iabdalkader 92854c1754 bmi270: Add new IMU driver.
For the BOSCH BMI270 IMU.
2023-02-18 15:55:10 +11:00
iabdalkader bf8b3c04de lsm9ds1: Refactor driver.
Changes are:
- fix typos
- simplify the driver init code
- support setting the magnetometer ODR separately
- update manifest
2023-02-18 15:54:04 +11:00
iabdalkader e88aa3af16 lsm6dsox: Refactor driver.
Changes are:
- fix typos
- make constants global
- rename functions with double underscore to single underscore
- rename __init__ keyword argument cs_pin -> cs
- rename read_mlc_output() -> mlc_output()
- rename read_gyro() -> gyro()
- rename read_accel() -> accel()
- update manifest
2023-02-18 15:51:53 +11:00
iabdalkader 203e1e63b1 hs3003: Add new relative humidity and temperature sensor driver.
Renesas HS3003 Humidity and Temperature sensor driver.
2023-02-18 15:50:57 +11:00
Jim Mussared a08087249f top: Update Python formatting to black "2023 stable style".
See https://black.readthedocs.io/en/stable/the_black_code_style/index.html

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-02-03 17:12:38 +11:00
Damien George e3059a9b58 bundle-networking: Fix metadata to correctly use "description" field.
Signed-off-by: Damien George <damien@micropython.org>
2023-02-01 12:21:08 +11:00
Jim Mussared c1f553eab9 micropython/bundles: Add a bundle-networking meta-package.
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>
2023-02-01 11:28:42 +11:00
Jim Mussared a5ef231e7d aioble/README.md: Demostrate optional args to aioble.scan().
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>
2023-01-17 14:36:41 +11:00
Jim Mussared a9e52d085c top: Update top-level docs.
* 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>
2022-12-16 17:16:03 +11:00
Peter Hinch d1aaec7174
nrf24l01: Improve test to add RP2 support, fix ESP32.
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.
2022-11-15 23:50:04 +11:00
Fredrik Strupe 4556023a0c sensor/mhz19: Add driver for MH-Z19 (CO2 sensor).
Originally by Fredrik Strupe, updated for micropython-lib.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-11-15 23:06:42 +11:00
Jim Mussared 6fca45f4f5 sdcard: Set MISO high before readblocks/writeblocks.
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>
2022-11-14 22:46:37 +11:00
robert-hh 2b07820df3 dht: Fix regression importing dht_readinto from pyb.
sys.platform of Pyboard is "pyboard", not "pyb".
2022-11-10 11:13:37 +11:00
Jim Mussared 143c2937de mip: Set opt=3 by default.
mip will be installed by default on many boards. Make it small.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-11-09 12:43:31 +11:00
Jim Mussared a363ac6b21 micropython/mip: Add command-line functionality for the Unix port.
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>
2022-11-09 12:43:04 +11:00
sandyscott 81c1408a07 aiorepl: Fix ordering of saving previous character.
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>
2022-11-09 12:36:05 +11:00
sandyscott d6eb5b6f7e aiorepl: Ignore duplicate LFLF after converting CRLF from Windows.
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>
2022-11-09 12:35:57 +11:00
Jim Mussared 50b7aca171 aioble/client.py: Fix default for the `response` arg to char.write().
- `_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>
2022-11-08 18:57:29 +11:00
iabdalkader 82f6b18b88 espflash: Add a minimal ESP32 bootloader protocol implementation.
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.
2022-11-08 18:45:22 +11:00
robert-hh 0e25b109c2 dht: Change the sequence for importing dht_readinto.
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.
2022-11-08 18:23:26 +11:00
iabdalkader 900dd1c61b ntptime: Allow overriding default NTP timeout.
The default 1 second timeout is sometimes not enough depending on the host
and network latencies.  This patch makes timeout configurable.
2022-10-26 00:05:19 +11:00
Jim Mussared 8503017e3b aioble: Split into optional components.
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>
2022-10-06 16:45:15 +11:00
Ian Cotter-Llewellyn 4dc2d5e17f umqtt.robust: Fix check_msg blocking after reconnect.
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.
2022-10-04 12:59:09 +11:00
Meir Armon b50d3462d7 umqtt.simple: Return op from wait_msg() as indication of reception.
Fixes issue #328.
2022-10-04 12:34:31 +11:00
Jim Mussared 5e7bac1161 micropython/mip: Add a new `mip` library for on-device installation.
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>
2022-09-29 22:54:32 +10:00
Andrew Leech eba897420d aioble/server.py: Maintain write order for captured characteristics.
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>
2022-09-27 22:47:30 +10:00
Andrew Leech 0c5880d2e4 aioble/l2cap: Fix psm variable name.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-27 14:28:56 +10:00
Jim Mussared 7602843209 micropython/aiorepl: Initial version of an asyncio REPL.
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>
2022-09-26 16:33:24 +10:00