X-Git-Url: https://vault307.fbx.one/gitweb/micorpython_ir.git/blobdiff_plain/a5c58e92f187b72111774f417d82238ec7e3b6eb..1a533f01992659b56d0fa0d52422b1b796897516:/README.md diff --git a/README.md b/README.md index 2eb3a47..48259c5 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,22 @@ a driver for IR "blaster" apps. The device drivers are nonblocking. They do not require `uasyncio` but are compatible with it, and are designed for standard firmware builds. -The receiver is cross platform and has been tested on Pyboard, ESP8266 and -ESP32. +The receiver is cross platform and has been tested on Pyboard, ESP8266, ESP32 +and Raspberry Pi Pico. + +In a typical use case the receiver is employed at the REPL to sniff the address +and data values associated with buttons on a remote control. The transmitter is +then used in an application to send those codes, emulating the remote control. + +Other use cases involve running the receiver in an application. This enables an +IR remote to control a device such as a robot. This may be problematic on some +platforms. Please see [section 4](./README.md#4-receiver-limitations). + +## Raspberry Pi Pico note + +Early firmware has [this issue](https://github.com/micropython/micropython/issues/6866) +affecting USB communication with some PC's. This is now fixed. Please ensure +you are using up to date firmware. #### [Receiver docs](./RECEIVER.md) @@ -81,22 +95,32 @@ proprietary protocols and are not supported by these drivers. | Samsung | 38 | Measured | N | | Panasonic | 36.3 | Measured | N | -# 4. References +# 4. Receiver limitations + +The receiver uses a pin interrupt and depends on a quick response to a state +change on the pin. This is guaranteed on platforms which support hard IRQ's +such as the Pyboard and the RP4 Pico. The ESP32 and ESP8266 only support soft +IRQ's. This means that, if code such as WiFi communication is running +concurrently, reliable reception may be problematic. + +# 5. References -Sources of information about IR protocols. +Sources of information about IR protocols. The `sbprojects.net` site is an +excellent resource. [General information about IR](https://www.sbprojects.net/knowledge/ir/) The NEC protocol: [altium](http://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol) [circuitvalley](http://www.circuitvalley.com/2013/09/nec-protocol-ir-infrared-remote-control.html) +[sbprojects.net](https://www.sbprojects.net/knowledge/ir/nec.php) Philips protocols: -[RC5](https://en.wikipedia.org/wiki/RC-5) -[RC5](https://www.sbprojects.net/knowledge/ir/rc5.php) -[RC6](https://www.sbprojects.net/knowledge/ir/rc6.php) +[RC5 Wikipedia](https://en.wikipedia.org/wiki/RC-5) +[RC5 sbprojects.net](https://www.sbprojects.net/knowledge/ir/rc5.php) +[RC6 sbprojects.net](https://www.sbprojects.net/knowledge/ir/rc6.php) Sony protocol: -[SIRC](https://www.sbprojects.net/knowledge/ir/sirc.php) +[SIRC sbprojects.net](https://www.sbprojects.net/knowledge/ir/sirc.php) MCE protocol: [OrtekMCE](http://www.hifi-remote.com/johnsfine/DecodeIR.html#OrtekMCE)