]> vault307.fbx.one Git - micorpython_ir.git/blobdiff - README.md
micropython_ir projects
[micorpython_ir.git] / README.md
index e2c10d8152d05f871c54492e3fed5a2ac380da20..0e3201a4913cd77fe2b0d0634d6548a93fe61be5 100644 (file)
--- a/README.md
+++ b/README.md
@@ -13,15 +13,14 @@ 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. It particularly affects code which
-issues `print()` only occasionally: the application appears to have failed. The
-missing messages appear when you press a key. Hopefully this will be fixed soon
-(note dated 8th March 2021).
+affecting USB communication with some PC's. This is now fixed. Please ensure
+you are using up to date firmware.
 
 #### [Receiver docs](./RECEIVER.md)
 
@@ -53,6 +52,7 @@ The drivers support NEC and Sony protocols plus two Philips protocols, namely
 RC-5 and RC-6 mode 0. There is also support for the OrtekMCE protocol used on
 VRC-1100 remotes. These originally supported Microsoft Media Center but can be
 used to control Kodi and (with a suitable receiver) to emulate a PC keyboard.
+The Samsung protocol (NEC variant) is also supported.
 
 Examining waveforms from various remote controls it is evident that numerous
 protocols exist. Some are doubtless proprietary and undocumented. The supported
@@ -78,14 +78,14 @@ microcontroller.
 In my testing a 38KHz demodulator worked with 36KHz and 40KHz remotes, but this
 is obviously neither guaranteed nor optimal.
 
-The transmitter requires a Pyboard 1.x (not Lite), a Pyboard D or an ESP32.
-Output is via an IR LED which will need a transistor to provide sufficient
-current. The ESP32 requires an extra transistor to work as a transmitter.
+The transmitter requires a Pyboard 1.x (not Lite), a Pyboard D, an ESP32 or
+Raspberry Pico (RP2). Output is via an IR LED which will need a transistor to
+provide sufficient current.
 
 ## 3.1 Carrier frequencies
 
-These are as follows. The Samsung and Panasonic remotes appear to use
-proprietary protocols and are not supported by these drivers.
+These are as follows. The Panasonic remote appears to use a proprietary
+protocol and is not supported by these drivers.
 
 | Protocol  | F KHz | How found     | Support |
 |:---------:|:-----:|:-------------:|:-------:|
@@ -93,20 +93,35 @@ proprietary protocols and are not supported by these drivers.
 | RC-5 RC-6 | 36    | Spec/measured | Y       |
 | Sony      | 40    | Spec/measured | Y       |
 | MCE       | 38    | Measured      | Y       | 
-| Samsung   | 38    | Measured      | N       |
+| Samsung   | 38    | Measured      | Y       |
 | 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. The `sbprojects.net` site is an
 excellent resource.  
 [General information about IR](https://www.sbprojects.net/knowledge/ir/)
 
+Also [IRMP](https://www.mikrocontroller.net/articles/IRMP_-_english)
+
 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)
+[circuitvalley](http://www.circuitvalley.com/2013/09/nec-protocol-ir-infrared-remote-control.html)  
 [sbprojects.net](https://www.sbprojects.net/knowledge/ir/nec.php)
 
+The Samsung protocol:  
+[Rustic Engineering](https://rusticengineering.wordpress.com/2011/02/09/infrared-room-control-with-samsung-ir-protocol/)  
+[TechDesign Electronics](https://www.techdesign.be/projects/011/011_waves.htm) Waveforms of various protocols.  
+
+
 Philips protocols:  
 [RC5 Wikipedia](https://en.wikipedia.org/wiki/RC-5)  
 [RC5 sbprojects.net](https://www.sbprojects.net/knowledge/ir/rc5.php)