A protocol is a set of rules that defines how the various ir codes should be transmitted between the remote control and the receiving device. There is no universal standard so each manufacturer is at liberty to define their own protocol that their products use. In practice however, there are a few popular protocols that have been adopted by many manufacturers; RC5 is often used by european manufacturers whilst NEC is almost ubiquitous amongst east asian manufacturers although there are a few notable exceptions (eg Sony and Panasonic).
In addition to supporting several protocols, SqueezeIR includes support for LIRC files. LIRC Is not really a protocol as the files specify the raw data that is sent by ir rather than a method for generating it from the commands but SqueezeIR implements LIRC support as if it were. The repository of LIRC files is at http://lirc.sourceforge.net/remotes/ and more infomation about the LIRC project can be found at http://www.lirc.org. Not all LIRC files will work with SqueezeIR but the vast majority will. Of those that don't work, many can be tweaked to be made compatible with SqueezeIR.
Due to the large number of protocols that SqueezeIR could potentially support, there is a flexible method for listing all the parameters that each protocol uses. The following table details the permissable command parameters and values for each of the protocols supported by SqueezeIR:
Notes
Use the code names in the LIRC file as values for the <action><command> elements.
Must match filename of LIRC file, case sensitive.
Must match value of 'name' field in LIRC file, case sensitive.
Deafult = 255 - <device>.
Default = <device>.
European & USA implementations vary slightly.
Constant portion of command to prepend to all commands. Default = ''.
Constant portion of command to append to all commands. Default = ''.
Repeat rate (ms). Default=1.5 * command length. Overrides <parameter ID="gap">.
Command gap (us). Default=0.5 * command length. Overridden by <parameter ID="rate">.
Modulation frequency (Hz). Overrides the frequency in the command string (if present).