IR Commander Matrix



- Options
- Factory Default
- Setup IR Codes
- Blast IR Codes
- Configuration
- Password
- Assign IP routing

Stand alone
Browser Control

Java Program
Java Software Program
Learning IR Code Basic
Learning IR Code Adv
Learning IR Code Tips

Macro commands
IP routing via macro
IR Translation & Routing via Learning Remote
UDP Port
Firmware Update
Dynamic DNS
Port Forwarding
RS232 Control
RS232 X10 Control

Quick Checklist

Optional Accessories
Third Party Software
Software Developers

Firmware & Software


Last revised 12/3/12

Learning IR Code Advanced

On the main program panel you also have these options:

Add repeats and routing


In the routing box (default all unchecked) you can check any of the boxes to determine which IR output port(s) the Commander should use for that stored code. If 1 is checked for example then that IR code would route to output 1 only.

note1: Although stored in the IR code this routing can be overridden by the physical dip switch on the IR Commander, so if the code is stored as all unchecked (all outputs) and the Matrix dip switch for generated code is set to 1 only then the code will be transmitted to 1 only. Conversely if the code is stored to output 1 only and the dip switch is set to all outputs then the code will be transmitted to output 1 only.

note2: The IR Matrix Commander will only respond to the check boxes 1 through 4, 5 through 8 are intended for future products.

In the repeat box (default 1) you can enter any digit from 0 through 9. This tells the Commander how many times to send the code. Some equipment e.g. Sony, requires the code to be repeated 2 or 3 times within a fixed period.

In the Delay box (default 0000) you can enter any digit between 0000 and 9999. This determines how long a gap (in microseconds) there will be between each repeat.

In the Options program panel you also have some extra IR learning options:


Log all received IR codes (optional)
A one second press of an IR remote button usually results in the same string of code being emitted many times over.

If the “log all codes” button is not checked then the IR Anywhere module will automatically stop capturing once the first full string of code has been received and the captured code will be displayed in the code window

If the “log all codes” button is checked then every received string will be written to a text file. This can sometimes be useful as you can easily see any variations and can choose the “best” captured string as the one to use. To do this simply cut and paste the desired code into the code window and then save as normal. The received code count will increment with each successfully captured string.
Note: the log file is not written to until the “learn” button is clicked again to end the capturing process.

Tidy converted Pronto Code (optional)
There are a number of IR codes available on the internet for use with the Pronto range of remote controls. You can paste the raw Pronto code into the text box and click "convert from Pronto". This will then have the same net effect as if you had captured the code from your own remote control. Checking the "tidy converted Pronto code" will attempt to average the code in the same way that the "tidy code" button works during actual capture.

Use Code Averaging (optional)
Check this box to have the software attempt to remove any unwanted noise from the IR signal performing an average over twenty captured codes. It’s not foolproof as some remotes don’t repeat the whole string every time, but if you’re having trouble capturing a clean useable code it’s worth a try.

Tidy averaged IR Code (optional)
If checked will automatically perform a code tidy at the end of a code average capture.

Advanced Tidy (optional)
This option looks at the code and re-arranges it to comply with the nearest complete cycle based on the carrier frequency.

Infrared Code window (main program panel)
This area shows a simple ascii text representation of the IR code. The first character in the string is a capital "K" followed by a space. The next four characters are the frequency expressed as a 2 digit hex number and number of bursts of carrier including the lead in burst followed by a space.


The remaining blocks of four ascii characters are the times in uS in hex of the burst then no burst. All are separated by a space.

The final value is always 2000 and is the lead out no-burst time.

An example here is 12 bit Sony code

K 280D 097A 0253 0272 0241 04C9 0240 0273 0241 0272 0240 04CA 0241 0273 0241 0271 0242 04C9 0241 0272 0240 0273 0240 0273 0240 0273 2000

28 = decimal 40 = carrier frequency for Sony

0D = 13 = 12 bit data plus 1 for the lead in burst pair

The rest are times in uS

097A = decimal 2426 = 2426uS lead in burst of carrier
0253 = decimal 595 = 595 lead in no carrier or space time.

etc till end of string
Ignoring the K 280D there should be 0D x 2 blocks of four digits

To store the code as a string in an IRAnywhere product we have to give it a name. This name is added to the front of the string as follows

#S_TV_Vl_Up:K 280D 097A 0253 0272 0241 04C9 0240 0273 0241 0272 0240 04CA 0241 0273 0241 0271 0242 04C9 0241 0272 0240 0273 0240 0273 0240 0273 2000

A # identifies it as a code to be stored and the : indicates the end of the name

The name can be a maximum of 15 characters in length.