<?sphp $this->text('pagetitle') ?>
 
Home of the Squeezebox™ & Transporter® network music players.

IR Blaster

From SqueezeboxWiki

Jump to: navigation, search

Contents

Overview

(Deutsche Version: IR Blaster)

IR Blaster allows you to control other equipment (i.e. your amplifier) via infrared commands sent out by your SB2/SB3/Transporter/SB Touch on certain events (i.e. power on/off and volume up/down).

So if you turn your SB2/SB3/Transporter/SB Touch on, your amplifier will also be turned on and changing the volume on your SB2/SB3/Transporter/SB Touch actually changes the volume on your amplifier.

Features

IR Blaster is capable of generating the major three types of IR signals: Space encoded (NEC), Pulse encoded and phase change (RC5) encoded. It supports carrier frequencies from 36kHz up to 40kHz and IR command sets up to 48 bits plus header and tail bit.

Note: SB Touch only supports NEC and RC5 blasting and needs a native NEC or RC5 .conf file. RAW files do not work.

Requirements

  • SB2/SB3/Transporter/SB Touch
  • IR emitter (inexpensive and available from Slim Devices or in Switzerland from K55) or an IRBlasterDirectLink
  • Firmware >= 23 (SB2/SB3) / any (Transporter / SB Touch)
  • SlimServer >= 6.2
  • SqueezeCenter >= 7.0
  • LogitechMediaServer >= 7.6
  • IR Blaster plugin
  • A config file fitting your amplifiers remote (it needs to be a NEC or RC5 native file when using SB Touch)
  • If you get the error message "Cannot open file / device for writing." make sure the 'Configfile Path' is setup correctly under IRBlaster settings (by default it should be /ScueezeCenter/Cache/InstalledPlugins/Plugins/IRBlaster).

Configuration / Usage

IR Blaster uses config files that have been learned by the program offered here: http://www.lirc.org. This files tell IR Blaster about the different codes, how long each pulse needs to be and what sequence is needed for the different commands (i.e. Power, Stop, Volume up, etc.) If you do not find a config file matching your remote you could try the IR Learning feature (SB2/3/Transporter only) to generate your own config file.

The config files need to be saved where the IR Blaster plugin is located or in the specified path. They need to have the extension of '.conf'.

For each SB2/SB3/Transporter/SB Touch player there is an additional 'IR Blaster' entry which leads to the IR Blaster settings page. Here you can select up to five IR commands per player event (on/off/volume up/volume down).

The volume on the SB2/SB3/Transporter/SB Touch is set to a fixed value as soon as an IR command is selected for either volume up and/or volume down.

For SqueezeCenter / LogitechMediaServer this fixed value can be changed on the settings page directly. Scroll down to the bottom of the page, it can be easy to miss this as it is below the Apply button. If no IR commands have been set then the volume setting is disabled.

For SB Touch make sure the setting Audio / Volume Control is set to 'Output level is fixed at 100%' too in order to make sure SB Touch volume is not changing.

For SlimServer this fixed value needs to be changed directly in the IR Blaster file itself if needed. Open the Plugin.pm file with an editor and find the following line in the 'Global variables' section:

my $gFixedVolume = 50; # Volume set (in SB2/3) if volup or voldown is used (max is 100)

Change the value to your liking, save the file and restart SlimServer.

Links

IR Learning

IR Repeater

http://www.lirc.org

http://winlirc.sourceforge.net

http://www.remotecentral.com

Technical

Note: This section only applies to SB2/3 and Transporter as SB Touch uses a different API.

- IR pulse

An IR pulse represents a bit value (0/1) in an IR command.

There are two types of IR pulses, dependent on the format used.

    • Type one consists of a high- and a lowtime.
    • Type two starts with a lowtime followed by a hightime.

- Formats

    • Space encoded: The two bitvalues (0/1) are encoded in different length of lowtimes.
    • Pulse encoded: The two bitvalues (0/1) are encoded in different length of hightimes.
    • RC5: The two bitvalues (0/1) are encoded in phase changes (i.e. low/high or high/low).
    • ITT: Same as space encoded, but hightime is fixed (20uS) and there is no carrier.

- IR command

Several IR pulses form an IR command. Most commands start with a header followed by the device and button pattern and end with a trail.

- Carrier frequency

During hightime the signal is modulated by the carrier frequency (about 36 to 40kHz), except for ITT format.

- Role of firmware

The IR Blaster feature is implemented as a ring buffer of fifty (50) 32 bit values. Each value consists of 16 bits for the high- and 16 bits for lowtime. There is a 'process' checking this ring buffer periodically and sending out the IR bits (32bit values) accordingly.

Each IR bit is sent in one of three modes:

    • high-low w/ carrier
    • low-high w/ carrier
    • high-low w/o carrier.

The modes are triggered like this:

    • high-low w/ carrier (NEC): hightime > 1, lowtime > 0
    • low-high w/ carrier (RC5): hightime > 1, lowtime = 0
    • high-low w/o carrier (ITT): hightime = 1, lowtime >0

- Role of IR Blaster plugin

The plugin allows the selection of different IR command sequences for the four events (power on, power off, volume up and volume down). Dependent on the loaded lirc config files there are more or less devices and commands to choose from.

The full command (i.e. header, code, trail, footer etc.) is put together in the plugin according to the defined mode.

- Pinout of headphone jack (SB2/SB3)

If you look at a regular stereo-jack the tip (left channel) is IR Blaster out, the next ring (right channel) is unused and GND follows. IR emitter jack

- Pinout of IR out jack (Transporter)

If you look at a regular stereo-jack the tip (left channel) is IR Blaster out, the next ring (right channel) is unused and GND follows.

Know limitations

Remotes not using a carrier frequency in the range of 36kHz - 40kHz are not blastable:

  • Bang Olufsen (uses about 455kHz)
  • BeamIt (uses about 455kHz)
  • T+A (F100 remote) (uses 31.25kHz, works very poorly, if at all)