Wykres commitów

1393 Commity (eba897420d96650a372b4b65831c24741d667890)

Autor SHA1 Wiadomość Data
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
Jim Mussared ad9309b669 os: Import `path` automatically if available.
This matches CPython behavior:

```
>>> import os
>>> os.path.sep
'/'
```

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-13 14:31:24 +10:00
Jim Mussared f1039fd2f2 collections: Rename collections.* to collections-*.
This is to match the convention for naming "extension" packages.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-13 14:31:24 +10:00
Jim Mussared c262628a41 os: Rename os.path to os-path.
This is to match the convention for naming "extension" packages.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-13 14:31:24 +10:00
Jim Mussared 796a5986cd unittest: Move back to python-stdlib.
In order to make this more suitable for non-unix ports, the discovery
functionality is moved to a separate 'extension' module which can be
optionally installed.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-13 09:57:04 +10:00
Jim Mussared cb88a6a554 argparse: Move back to python-stdlib.
Although this primarily makes sense for the unix port, there's nothing
preventing it being used on any port, and it's written for MicroPython.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-13 09:57:04 +10:00
Jim Mussared 8a03f7b91f python-stdlib: Remove pystone (and variants).
We have a more useful version of this in the main repo's performance tests.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-10 01:47:37 +10:00
Jim Mussared d080924d12 aioble/multitests: Add descriptor multitest.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-09 11:26:54 +10:00
Jim Mussared e58b609572 aioble/client.py: Make read/write events work for descriptors.
Descriptors were missing common initialisation for events shared with
characteristics.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-09 11:26:54 +10:00
Jim Mussared 765f14b501 aioble/server.py: Fix registration for descriptors.
This allows a server to register descriptors, which was previously not
fully implemented.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-09 11:26:54 +10:00
Jim Mussared 64e752cce6 aioble/client.py: Use characteristic end handle (when available).
The `bluetooth` module replaced the def_handle field with end_handle
in the characteristic result IRQ. Use this when querying for
descriptors.

In the case where this is not available (older versions of micropython)
continue the existing behavior of searching just past the value handle,
although decrease this to +2 to avoid finding other characteristic's
descriptors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-09 11:26:54 +10:00
Jim Mussared 58f8bec54d micropython/net: Add "ntptime" client from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:26:12 +10:00
Jim Mussared cc2cdeb94b micropython/net: Add "webrepl" server from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:25:21 +10:00
Jim Mussared cf5ed97b4d micropython/drivers: Move "sdcard" driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:57 +10:00
Jim Mussared 33b5132312 micropython/drivers: Move "lps22h" sensor driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:56 +10:00
Jim Mussared b3e443ca8e micropython/drivers: Move "hts221" sensor driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:55 +10:00
Jim Mussared a336c29cc5 micropython/drivers: Move "dx18x20" sensor driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:54 +10:00
Jim Mussared 0382c9cffa micropython/drivers: Move "dht" sensor driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:53 +10:00
Jim Mussared c1c0eb0c39 micropython/drivers: Move "nrf24l01" radio driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:52 +10:00
Jim Mussared f46401f849 micropython/drivers: Move "neopixel" led driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:50 +10:00
Jim Mussared 75d129b96f micropython/drivers: Move "lsm6sox" imu driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:48 +10:00
Jim Mussared fd84cd92f3 micropython/drivers: Move "lsm9ds1" imu driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:44 +10:00
Jim Mussared a5e2f3239c micropython/drivers: Move "ssd1306" display driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:40 +10:00
Jim Mussared d88505680f micropython/drivers: Move "lcd160cr" display driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:35 +10:00
Jim Mussared 2a849f5ec0 micropython/drivers: Move "wm8960" codec driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:30 +10:00
Jim Mussared 34c9faefd1 micropython/drivers: Move "onewire" bus driver from main repo.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-06 13:21:26 +10:00
Jim Mussared f3cfc52ab0 unix-ffi: Move more unix-only packages to unix-ffi.
With the dependencies captured in manifest.py, several packages in
python-stdlib were still unix-only due to direct or transitive dependencies
on unix-only or ffi modules.  Or they just make no sense to run on
microcontroller targets.

In a few cases (e.g. base64) where possible, the unix dependency could be
removed.

Updates manifest.py to use the `unix_ffi=True` arg to `require()` for these
libraries.

Rename re-pcre to re now that unix-ffi is effectively its own namespace.

Update unix-ffi/README.md, and strengthen the wording that the unix
libraries are unmaintained.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-05 17:50:42 +10:00
Jim Mussared ce66e701a5 all: Replace metadata.txt with manifest.py.
Uses the new require()/package()/module() functions from manifestfile.py.

Add manifest.py for iperf3 and pyjwt.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-05 17:50:28 +10:00
Jim Mussared 8d7753d7d4 micropython/upip: Remove upip library.
This is unmaintained and not the one installed by default on boards
(see github.com/micropython/micropython/blob/master/tools/upip.py).

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-05 17:50:16 +10:00
Jim Mussared ecef7a506c all: Remove all setup.py files.
These are unused and will be replaced with manifest.py.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-05 17:50:11 +10:00
Philip Peitsch a18d49cda7 aioble: Make l2cap chunk size configurable to allow optimization by app. 2022-09-05 15:14:13 +10:00
Philip Peitsch c4fada7f6f aioble: Fix missing GattError import in server.py.
2015-01-01 07:45:46.790 INFO Received OLCP_OP_FIRST
2015-01-01 07:45:46.979 ERROR Error in ble_write_listener
Traceback (most recent call last):
  File "aioble/server.py", line 223, in indicate
NameError: name 'GattError' isn't defined
2022-09-05 15:12:48 +10:00
Andrew Leech 09f0e47386 aioble: Add timeout to device.exchange_mtu.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-01 22:30:43 +10:00
Jim Mussared c3f4779002 python-ecosys/pyjwt/jwt.py: Fix missing whitespace.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-08-09 17:06:49 +10:00
Jim Mussared f95260d7e3 python-stdlib/hmac: Update to work with built-in hash functions.
This library was non-functional unless used with the micropython-lib
pure-Python implementation of hashlib, even if the device provides
sha1 and sha256.

This updates hmac to be significantly more RAM efficient (removes the
512-byte table), and functional with the built-in hash functions.

The only unsupported function is "copy", but this is non-critical, and now
fails with a NotSupportedError.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-08-09 00:19:31 +10:00
Miguel Grinberg 9fdf046e27 python-ecosys/pyjwt: Add pyjwt-compatible module. 2022-08-08 22:13:08 +10:00
Andrew Leech 70e422dc2e urequests: Release 0.7.0. 2022-06-29 13:02:46 +10:00
Bogdan a3d6d29b1b urequests: Add timeout, passed to underlying socket if supported. 2022-06-29 13:02:31 +10:00
Andrew Leech dbd8fff830 urequests: Raise error when server doesn't respond with valid http. 2022-06-29 13:02:00 +10:00
karfas a725c42049 urequests: Always open sockets in SOCK_STREAM mode.
On the ESP32, socket.getaddrinfo() might return SOCK_DGRAM instead of
SOCK_STREAM, eg with ".local" adresses.  As a HTTP request is always a TCP
stream, we don't need to rely on the values returned by getaddrinfo.
2022-06-29 13:01:34 +10:00
Diefesson de Sousa SIlva b29cffb3e3 urequests: Add support for redirects. 2022-06-29 13:01:24 +10:00
Diefesson de Sousa SIlva b17e9aaf93 urequests: Add support for requests with chunked upload data. 2022-06-29 13:01:01 +10:00
Diefesson de Sousa SIlva be327a7bc7 binascii: Implement newline param in function b2a_base64.
See: https://docs.python.org/3/library/binascii.html#binascii.b2a_base64
2022-06-29 13:00:50 +10:00
Fabian Schmitt e7e8eff86b urequests: Add Basic Authentication support.
Usage matches the shorthand version described in
https://requests.readthedocs.io/en/latest/user/authentication/#basic-authentication
2022-06-29 12:59:38 +10:00
Andrew Leech 106c28a4d7 urequests: Fix raising unsupported Transfer-Encoding exception.
Would lead to recursive TypeError because of str + bytes.
2022-06-29 12:59:12 +10:00
Paul Sokolovsky d978e246d5 urequests: Explicitly add "Connection: close" to request headers.
Even though we use HTTP 1.0, where closing connection after sending
response should be the default, some servers ignore this requirement and
keep the connection open.  So, explicitly send corresponding header to get
the expected behavior.
2022-06-29 12:58:47 +10:00
Paul Sokolovsky 5854ae1286 urequests: Add ability to parse response headers.
This is controlled by parse_headers param to request(), which defaults to
True for compatibility with upstream requests. In this case, headers are
available as .headers of Response objects. They are however normal (not
case-insensitive) dict.

If parse_headers=False, old behavior of ignore response headers is used,
which saves memory on the dict.

Finally, parse_headers can be a custom function which can e.g. parse only
subset of headers (again, to save memory).
2022-06-28 16:55:15 +10:00
Andrew Leech db4c739863 unittest: Version 0.9.0 2022-05-06 10:47:37 +10:00