From 425f66e84e5f6a1c54209870d32fb896714a1c35 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Sun, 4 Jul 2021 12:24:28 +0100 Subject: [PATCH] README: add detail to encoder section. --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2e3d0b5..b650738 100644 --- a/README.md +++ b/README.md @@ -216,7 +216,14 @@ the ESP8266 limits performance. ESP32 has similar limitations. See also [this asynchronous driver](https://github.com/peterhinch/micropython-async/blob/master/v3/docs/DRIVERS.md#6-quadrature-encoders) intended for control knobs based on quadrature switches like -[this Adafruit product](https://www.adafruit.com/product/377). +[this Adafruit product](https://www.adafruit.com/product/377). There are two +aspects to this. Firstly, the solutions in this repo run callbacks in an +interrupt context. This is necessary in applications like NC machines where +performance is paramount, but it can be problematic in applications for control +knobs where a user adjustment can trigger complex application behavior. The +asynchronous driver runs the callback in a `uasyncio` context. Secondly there +can be practical timing and sensitivity issues with control knobs which the +driver aims to address. ## 4.8 Pseudo random number generators