IrCode Finder – Guide

English / Русский

WARNING!

Many devices controlled by IR remotes, in Particular TV’s, have undocumented IR code sequences used for servicing the equipment by factory trained technicians in possession of detailed service manuals and test equipment.
By causing a service code to be sent to your TV or other device, you may place it in a state where it no longer operates as desired, or at all.
An example of this might be the resetting of all convergence offsets, or altering the width or height of the picture. Be careful, if you are not sure of what the outcome might be, perhaps you should not do it.
USE VERY CAREFULLY!

GENERAL INFORMATION

The application uses the terms “DEVICE ADDRESS” and “COMMAND ADDRESS”.
Usually all codes for a particular device are located within the same “DEVICE” address (but sometimes there is duplication of commands in other addresses, as some manufacturers do to make the device compatible with several models of remotes).

The first step is to find the address of the “DEVICE” in which there are commands to which the device responds.

The easiest method to find the right device is automated testing.
In this mode, the application will go through all the codes in a row, you just have to catch the moment when the device reacts, stop testing and switch to manual selection of codes.

You can try to run automatic testing on the equipment that is turned off, if a command to turn on is selected among the codes being sorted out – this will be immediately noticeable.

You can check whether the enumeration of codes is really going on by pointing the camera of the second smartphone at the smartphone with the application running – you should see the glow of the IR transmitter.

TECHNICAL INFORMATION

For the NEC protocol, the application uses the “MSB first” transfer format, similar to the format used in the Arduino-IRremote library version 2.x. I use this format because at the time of publication of the application, I did not know that from the point of view of the standard this is not a completely correct recording format.

The transmission algorithm is as follows: the full IR code (DEVICE ADDRESS + COMMAND ADDRESS) is converted into binary format, if the received string is shorter than 32 characters, then it is padded with 0 from the left, the code is transmitted from left to right.

I am using 38222Hz.

Links for self-study

Useful services https://ircodefinder.wasiliysoft.ru

Format conversion MSB to LSB
https://github.com/Arduino-IRremote/Arduino-IRremote#how-to-convert-old-msb-first-32-bit-ir-data-codes-to-new-lsb-first-32-bit-ir-data-codes

Description of the NEC protocol
http://www.hifi-remote.com/wiki/index.php/NEC
https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol