]> vault307.fbx.one Git - micorpython_ir.git/blobdiff - README.md
Merge branch 'peterhinch:master' into master
[micorpython_ir.git] / README.md
index 750a131bbe8fe01615e263c01dba58033ce0cf44..48259c5f25034e06ae3c675d27b87bae22be717c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -5,15 +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.
+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)
 
@@ -88,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)