Remote Control and ReceiverTransceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems
Applies to: Windows® Media Center is included in Windows® 7 Home Premium, Windows® 7 Professional, and Windows® 7 Ultimate. Windows Media Center is also included in Windows® 7 Enterprise, which is not an OEMlicensed product. Abstract: This document is intended for independent hardware vendors (IHVs) and PC OEM partners who want to create remote control and receiver device combinations that decode input from the remote control for Windows Media Center.
Contents Introduction ................................................................................................................................... 1 What‘s New ............................................................................................................................. 1 Remote Control Specifications ..................................................................................................... 2 Remote Control Requirements .......................................................
Emulation Requirements ....................................................................................................... 76 Device Design Considerations ......................................................................................... 77 Microsoft Compatible Device Descriptor.......................................................................... 82 Commands and Responses ............................................................................................
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Introduction This document provides the information needed to design a remote control and receiver that will work with those versions of Windows 7 that include Windows Media Center. This document describes the requirements for a remote control, the remote control functions that must be supported, the hardware specifications, and the infrared (IR) protocol requirements.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Remote Control Specifications This section contains the specifications and requirements for the remote control and the Green Start button. Remote Control Requirements This section provides an overview of the required remote control functionality for Windows Media Center Technologies (referred to as a Windows Media Center computer).
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems controlling the user interface in Windows Media Center. The Green Button is used exclusively for starting Windows Media Center. This brand extends beyond the remote into print and on-screen iconography. To extend the branding, all Windows Media Center remotes will have the same Green Start button.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 1: Illustration of a conceptual industrial design of a Windows Media Center remote control 4
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems This conceptual remote control represents the required set of functionality that must be provided by the Windows Media Center remote control. OEM partners can add additional functionality; however, this functionality must not interfere with or displace the required functionality.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems In addition to providing visible icons or labels for the directional pad in the navigation controls, adding physical effects such as etching the Up, Down, Left, and Right Arrows into hard buttons will help the user to discover and use these buttons. Remote Control Button Requirements The following sections describe the required and optional buttons on the remote control.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Transport Controls The following table identifies the Microsoft Required transport control buttons for Windows Media Center computers.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button name Required for computers that include TV tuner hardware Required for computers that do not include TV tuner hardware Volume Up Yes Yes Volume Down Yes Yes Mute Yes Yes Channel/Page Up Yes No Channel/Page Down Yes No * Note All Windows Media Center remote controls must have either the single Sleep toggle button or both the Wake and Sleep buttons.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Microsoft Recommended Buttons Windows Media Center remote controls can also include any or all of the Microsoft Recommended, Microsoft Optional, or Microsoft Reserved buttons. Microsoft Recommended buttons are buttons that have consistently been shown to score high in usability studies about the perceived need by the end users.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The following list identifies the Microsoft Recommended buttons for a Windows Media Center remote control: DVD. DVD Menu. Numeric keypad. Individual buttons for numbers 0 to 9, CLEAR, ENTER, #, and *. If a numeric keypad will appear on the remote control, then all these buttons need to be implemented on the remote control. Audio and volume controls.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Microsoft Retired Buttons Microsoft Retired buttons support functionality that will no longer be available in Windows Media Center. Retired buttons cannot be included on new Windows Media Center remote controls.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Label: MEDIA CENTER Button code: 13 First press action: Takes the user to the Windows Media Center Start menu. If Windows Media Center is not already started, Windows Media Center starts and the Windows Media Center Start menu appears.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems First press action: Moves the focus point down one position. If the focus point is at the bottom of the screen, pressing this button results in no action. Second press action: Repeats first press action. Auto-repeat: Yes Left Button space: Microsoft Required Icon: Label: No label Button code: 32 First press action: Moves the focus point to the left one position.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Back Button space: Microsoft Required Icon: Label: BACK Button code: 35 First press action: Moves back one position in the user interface stack. Second press action: Repeats first press action.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Label: PLAY Button code: 22 First press action: Starts playing media at the current position. If playback is paused, pressing this button begins playback from the current position. Second press action: None Auto-repeat: No Pause Button space: Microsoft Required Icon: Label: PAUSE Button code: 24 First press action: Pauses media playback at the current position.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Second press action: None Auto-repeat: No Record Button space: Microsoft Required (for Windows Media Center computers that include TV tuner hardware) Icon: Label: REC Button code: 23 First press action: Records the TV program as a file on a hard disk. If the pause buffer enables it, recording starts at the beginning of a show as defined by the Guide in Windows Media Center.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Second press action: Cycles through the rewind speed values looping through 0 (normal speed), 3X, 20X, and 60X. If a slide show is currently playing, the previous picture is displayed when this button is pressed.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The following figure shows the audio and video controls for a Windows Media Center remote control.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Icon: Determined by OEM. Label: Sleep Button code: 42 First press action: If the Windows Media Center computer is turned on, pressing this button performs the action that is set for the Sleep button. Second press action: If computer is asleep, pressing this button results in no action. Auto-repeat: No Remarks: This sleep icon is optional.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Channel Up Button space: Microsoft Required for systems that include TV tuner hardware and for remote controls that have a numeric keypad. If the system does not include TV tuner hardware and the remote control does not contain a numeric keypad, this button is Microsoft Recommended.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Closed Captioning On/Off Button space: Microsoft Optional Icon: Determined by OEM. Label: CC Button code: 43 First press action: Shows or hides closed captioning. If closed captioning is not currently displayed, pressing this button will turn on the closed captioning display. If closed captioning is currently displayed, then pressing this button will turn off closed captioning.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems In other markets the color order for the interactive buttons are (left to right) Red, Green, Yellow and Blue. Note For countries or regions that do not support Interactive TV functions, the colored buttons can be used as OEM extensibility buttons.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Yellow Button space: Microsoft Required Icon: Solid Color Yellow Button Label: No required label Button code: 93 First press action: Goes to the yellow shortcut link in Interactive TV mode. Second press action: Takes no action.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 5: Illustration of a numeric keypad for a Windows Media Center remote control Note Although it is not required, Microsoft strongly recommends that the letters appear above the numbers in the number pads. Usability studies have seen significant issues for the consumer when the letters are below the button.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button Icon Button code * . 29 (The "." should be placed on the label, not on the button itself.) Or */. Remarks: If a numeric keypad is included on the Windows Media Center remote control, the remote control must include all the buttons shown for the numeric keypad in the preceding table and also the Channel Up and Channel Down controls.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Shortcut Buttons – Required, Recommended, or Optional This section describes the shortcut buttons for Windows Media Center. These buttons provide a quick way for users to access key media experiences in Windows Media Center. The following shortcut button descriptions list the required button first, the recommended buttons next, and the optional buttons last.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Music Button space: Microsoft Optional Icon: Label: MUSIC Button code: 71 First press action: Displays the Music Library in Windows Media Center. Second press action: Takes no action. Auto-repeat: No Pictures Button space: Microsoft Optional Icon: Label: PICTURES Button code: 73 First press action: Displays the Picture Library in Windows Media Center.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Auto-repeat: No Extras (formally Online Media) Button space: Microsoft Optional Icon: To be determined. Label: Extras Button code: 60 First press action: Displays Extras Library in Windows Media Center. Second press action: Takes no action. Auto-repeat: No Extensibility Buttons - Optional This section describes the extensibility control buttons, which are optional.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button name Button code mapping EXT8 58 EXT9 128 EXT10 129 EXT11 111 First press action: Generates EXTn HID message in the Media Center Vendor Specific Collection (page 0xFFBC, usage 0x88). Second press action: Repeats message.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems DVD Audio Button space: Microsoft Optional Icon: Label: DVD AUDIO Button code: 76 First press action: Plays the next available audio track on a DVD. Second press action: Repeats first press action. Auto-repeat: No DVD Subtitle Button space: Microsoft Optional Icon: Label: SUBTITLE Button code: 77 First press action: Displays the DVD subtitles when watching a DVD.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Auto-repeat: No Miscellaneous Buttons - Recommended or Optional This section describes miscellaneous buttons that control additional functionality in Windows Media Center. The recommended button is listed first, followed by the optional button. Zoom Button space: Microsoft Recommended Icon: Label: ZOOM Button code: 39 First press action: Toggles between various aspect modes in TV.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Print Button space: Microsoft Optional Icon: Label: PRINT Button code: 78 First press action: Prints an item in Windows Media Center by using a program. Second press action: Repeats first press action. Auto-repeat: No Miscellaneous Buttons - Reserved This section describes reserved buttons that are defined now to allocate space in the button map and IR stack.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Second press action: Repeats message. Auto-repeat: No Additional Buttons for Remote Controls for ISDB-T Market – Recommended, Optional and Reserved This section describes buttons that are unique to the ISDB-T market in Japan. The reserved buttons are now defined to allocate space in the button map and IR stack.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Second press action: Repeats first press action. Auto-repeat: No Channel Input Button space: Microsoft Recommended Icon: Determined by OEM. Label: Determined by OEM (locale specific). Button code: 66 First press action: Brings up UI that allows users to enter three-digit channels. Second press action: Repeats first press action.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button code: 97 First press action: Once the command code is pressed, Windows Media Center checks if the current transport stream (channel) contains more than one video stream. If a channel has only one video stream, the button does nothing because the user cannot select anything.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems It is highly recommended that the remote control provide the user with visual feedback that a button has been pressed. This feedback can be displayed using an LED (of any color) that is connected to the output circuitry for the remote control.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Are required to have all of the required Windows Media Center buttons to qualify as a Green Button logo device. The remote must be configured out-of-the-box as a Windows Media Center remote. Other functions for consumer electronic devices can be available by switching modes. May contain a universal database that may contain more than one brand.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems To qualify as a Windows Media Center universal remote control, the following are required: The Windows Media Center Green Start button must be persistent in all modes of the universal remote control. Regardless of the mode that is currently selected, pressing the Green Start button must always take the user to the Start menu in Windows Media Center.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Windows Media Center Two-Way Remote Control with Compatible Auxiliary Display for Windows SideShow An OEM can build a two-way remote control with an auxiliary display for controlling music playback, guiding navigation and other features. A Windows SideShow gadget for Windows Media Center will support this functionality. For more information, contact ssremote@microsoft.com.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Volume Up Volume Down Mute Channel Up Channel Down Play Pause or Play/Pause combo Stop Rewind Fast Forward Skip Forward Skip Backward More The following Microsoft Optional buttons can appear on a Windows Media Center keyboard: Back Enter Left Right Up Down OK Guide Live TV Recorded TV Radi
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Green Start Button Requirements The Green Start button is made up of a keycap and dome lens (referred to as the Green Start button subassembly) and is implemented within a device housing that has a sloped edge (called a chamfer). The Green Start button is designed to provide an attractive and discoverable actuator to display the Windows Media Center Start menu.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The authorized sizes for the Green Start button (11 mm, 9 mm, and 6.6 mm) refer to the diameter of the dome lens and do not reflect the total size of a manufactured Green Start button subassembly.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems button is correctly oriented to the device axis when assembled. For more information, see the topic "Green Start Button Must Be Correctly Oriented on the Device", later in this document. The keycap has a ridge that surrounds it and helps to secure the dome lens.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Green Start Button Subassembly Must Be Obtained from a Certified Supplier To achieve the Microsoft standard of consistency and quality in the Green Start button subassembly, device manufacturers must obtain the entire part from a certified supplier. Each certified supplier must manufacture the Green Start button subassembly according to requirements specified by Microsoft.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 11: Illustration showing device housing detail for 11 mm Green Start button Device Housing Design for 9 mm Green Start Button The chamfer on the device housing should measure 12.55 mm in diameter and 0.65 mm in depth. The chamfer outer rim must be a sharp edge that is not rounded.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 12: Illustration showing device housing detail for 9 mm Green Start button Device Housing Design for 6.6 mm Green Start Button The chamfer on the device housing should measure 9.4 mm in diameter and 0.5 mm in depth. The chamfer outer rim must be a sharp edge that is not rounded.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 13: Illustration showing device housing detail for 6.6 mm Green Start button Green Start Button Must Be Correctly Oriented on the Device As shown in Figure 14, the orientation of the Green Start button subassembly to the device alignment axis must be held to +/- 1 degree when assembled.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 14: Illustration of Green Start button correctly oriented to the device axis The Green Start button is correctly oriented when the red portion of the Windows logo flag appears in the upper-left corner when the device is upright. Refer to the device specification for details on the correct orientation of the Green Start button.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 15 Illustration of alignment axis on remote control with Green Start button.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Do Not Place Additional Device Features Within a Recommended Proximity of the Green Start Button No additional features, buttons, design details, graphics, or colors should be placed inside the specified white space that surrounds the Green Start button on the device housing.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems membrane is 0.5 mm-1.0 mm. For a dome or microswitch, the recommended button travel distance is 0.3 mm-0.6 mm.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Sample Implementation: 11 mm Green Start Button on Rubber Membrane One construction that can be used to implement the Green Start button is to place the keycap and dome on a rubber actuation membrane. The rubber membrane must include an orientation feature to align with the orientation feature on the underside of the keycap.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Design Variation: Green Start Button with Custom Keycap If the Green Start button subassembly does not meet your device design requirements because of incompatibility with device depth, switch type, or general device housing and design, a custom keycap and subassembly can be constructed using the requirements that are shown in Figure 20.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 21: Illustration of a translucent chamfer insert when it is not glowing Figure 22: Illustration of a translucent chamfer insert when it is glowing Design Variation: Membrane-Based Remote Control Some Windows Media Center PCs that are laptop computers are paired with membrane-based remote controls (often referred to as ―credit-card size‖ or ―thin-profile‖ remotes) for increa
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 23: Illustration of a membrane-based remote control with a 9 mm Green Start button that is printed directly on the top surface Figure 24: Visual treatment for the Green Start button image on a membrane-based remote control 55
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems An Adobe Illustrator file and an Encapsulated PostScript file of the authorized image for use in printing on the top surface of the remote control are provided in the ―Resources‖ section under Art Files for Green Start Button for Membrane-based Remote Control. In this artwork, line A represents the edge of the button surface, and line B represents the edge of a simulated chamfer.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Company The Auld Company Fax: (614) 892-2929 back-up fax (614) 755-2329 Customer Service: Eva Crompton Phone: (614) 755-2853 extension 2120 E-mail: ecrompton@auldco.com Sales Representative: Dan Auld Phone: (614) 755-2853 extension 2200 E-mail: dauld@auldco.com Art Files for Green Start Button Subassembly Files for 11 mm button: MCB_11mm_Universal_keycap_ASM.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Art File for Screen-Based Green Start Button Portable Network Graphics (PNG) file: Screen_Button_Art_RBG.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Receiver/Transceiver Specifications This section provides information about building receivers and transceivers that receive input from a control and convert them into actions to control Windows Media Center and a set-top box in the case of a transceiver. Overview of IR Receiver Options Deciding what type of infrared receiver to build for Windows Media Center can be confusing.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Hardware Decoding Versus Software Decoding In designing an IR receiver, there are two options: decoding the IR protocol in hardware and decoding the IR protocol in software. Decoding in hardware requires the details of the IR protocol to be stored in the hardware, either in firmware or in discrete logic. The hardware is hard-wired for a specific protocol or a set of protocols.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems It is important to recognize that your hardware does not need to send RLC to the software decoders in this exact form. There is a piece of software between your hardware and the software decoders that can convert the IR from some hardware-specific form into RLC. This software is called the ―Port Driver‖.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems IR Learning. If Windows Media Center is unable to identify the user‘s remote control using Parse-and-Match, then the user needs to go through the IR learning process. In IR learning, Windows Media Center captures the RLC for each keypress and stores it in a database. Windows Media Center needs at least two samples of each key to complete IR learning.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The system is a desktop system. The system includes a tuner. The tuner is capable of supporting set-top boxes. This depends on the video standard used and situation in the country/region where the system is being distributed to.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Legacy Device Summary Support for ODM customization Low Operating System Support Windows XP or later versions of Windows with Media Center Connection USB Only Emulation Devices ―Emulation devices‖ are devices which emulate the firmware of the legacy devices.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems driver, they need to determine the best course for delivering the port driver to end customers. This may involve a driver disc that is distributed with the hardware or a software download.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems RF Receivers These devices use Radio Frequency (RF) instead of IR to communicate the keypress information. The easiest way to build these is to use a USB connection and write the firmware to make the USB receiver appear to the operating system as a HID device. To build an RF receiver device, the ODM needs to design and build the hardware.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The hardware for this device would be very expensive. It would cost as much as an IR device plus the additional cost for RF support. Because Windows XP doesn‘t support port driver devices, you would need to build a legacy device on a board with a USB hub chip and an RF receiver.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Two-Way Remote Devices Two-way remote devices are devices where the communication between the remote control and the receiver goes in two directions. So, for instance, an LCD on your remote could display the currently playing song. In many ways, this is similar to the above item ―RF receivers – transmit/receive‖ in that the device is expensive.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Integrated with TV Tuner (PCI or USB) Integrating IR transceiver functionality with a PCI or USB tuner is very desirable from a cost perspective. It will require a port driver to make it work.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Bluetooth To build a Bluetooth remote, you would basically be building a Bluetooth keyboard in a remote control form factor. This device needs to produces the proper HID codes and will have the same limitations outlined in the section ―HID Device Limitations‖ below. Things to Remember When Building Your Device Note the following before you finalize your decision.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems If you use a legacy device, this work is included in the Microsoft-provided design. Not Only RC6 and SMK QP Protocols The IR receiver that you‘re building needs to receive more than MC RC-6 and the MC QP protocols. Because the protocol is decoded inside of Microsoft-provided drivers, your receiver and your port driver don‘t actually need any details about these protocols.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems not compatible with your IR receiver. Even if you program your hardware to respond to all protocols that Windows Media Center uses today, you will not be able to program it for all protocols that Windows Media Center might support in the future.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems IR Receiver/Transceiver Hardware Requirements This section provides information about IR transceiver and receiver hardware for use with Windows Media Center. It provides requirements for hardware manufacturers and specifies the hardware parameters that IR receivers must support.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Components of an IR Transceiver The following sections provide information about the components of an IR transceiver. Remote Control Input and a Long-Range IR Receiver (Up to Five Meters) The Windows Media Center user interface is designed to be used with a remote control by an end user who is sitting up to 5 meters away from their Windows Media Center PC.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Remote Control Input and Long-Range Receiver Requirements (Up to Five Meters) The following list provides remote control and long-range receiver requirements. Support carrier frequencies ranging from 30-60 kilohertz (kHz). Return IR waveform envelopes to software for decoding an IR signal by using software.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Support independent IR transmitter jacks (2 minimum). IR emitter cable should be a minimum of 2 meters in length. IR emitters are adhesive. IR emitters will provide the consumer with a visible LED. Support the Modulated IR mode. Modulated mode transmits a signal modulated with a 30-60 kHz carrier with a sampling resolution of 50 μsec.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Device Design Considerations Considerations for building an emulation device are very similar to considerations when building an IR receiver device using the port driver model. Unique Serial Numbers The software requires each device to have its own serial number. This is implemented using the USB iSerialNumber string descriptor.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The version 2 emulation interface adds additional capabilities bits, which allow a wider range of devices, such as ―blast only‖, ―learn only‖, and so on. See CMD_GET_DEVDETAILS and RSP_EQ_DEVDETAILS for more information. Carrier Capture When using the wide-band receiver, the device firmware must return the carrier count for any particular sample.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems the envelope are typically in the 200-900 μsec range. About 95% of remote controls use some sort of modulated protocol. Emulator devices must support this protocol. Flow Control When transmitting IR, it is possible that the host will push IR data faster than the device can emit it.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Descriptors are defined using a pseudo-C syntax. Any specific values defined in this section are required by this specification. You may choose values that are not defined in the specification. The type word is two bytes long and is little-endian, according to USB rules. The host requests these descriptors through the EP0 OUT (control OUT) endpoint.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Interface Descriptor The device must have at least one interface, which must have at least two endpoints: one control endpoint and one communication endpoint. For more information, see section 9.6.5 of the USB 2.0 specification.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Endpoint Descriptor – OUT Endpoint The device must have an endpoint descriptor that describes how the host communicates infrared data and other information to the device. (Endpoint #0 is the control endpoint and does not require an endpoint descriptor.) For more information, see section 9.6.6 of the USB 2.0 specification.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems To implement the descriptor, two firmware changes are necessary: The firmware must return the Microsoft OS String Descriptor when the host requests it. This is how the firmware identifies itself as supporting the Extended Compat ID Descriptor. The firmware must return the appropriate Extended Compat ID Descriptor when the host asks for it.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems bRequest = 0x01 – bMS_VendorCode wValue = 0x0000 wIndex = 0x0004 – INDEX_CONFIG_DESCRIPTOR wLength = 16 – Length of the request After the header is retrieved (and if it matches the format of the header section), the operating system will issue a second request to read the entire Extended Compat ID Descriptor.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems IAD/Extended Compat ID Descriptor Interaction If you build an emulation device that is part of a composite USB device, you will need to modify your Extended Compat ID Descriptor to match the interfaces as defined in your IAD descriptor. Below is an example of an Extended Compat ID descriptor for a composite device with three functions and three interfaces.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The 5-bit length field is overloaded as follows: If the length value is 11111, the following byte is a command (or response byte). The value of the command byte determines the length of the message. So, if the first byte of the packet is 0x9F (10011111), then this is a command byte (CMD_PORT_IR). The device then looks at the second byte.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Resets the device. This command should restart the firmware in a default state. There is no response to this command. If the device has a bootloader, the device should enter the bootloader when the CMD_RESET command is received from the host.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Description This command sets the IR carrier frequency to use for transmitting IR. The frequency is sent as a carrier period and a carrier prescalar. The need to use a period value and a prescalar value is based on the PIC18F4320 timer architecture and maps directly to timer registers in this chip. CP contains a prescalar value, and CC contains the carrier period in 1/10 μsec steps.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Period (μsec) Carrier (Hz) CP (μsec) CC (μsec) 16 62500 0 159 17 58823 0 169 18 55555 0 179 19 52631 0 189 20 50000 0 199 21 47619 0 209 22 45454 0 219 23 43478 0 229 24 41666 0 239 25 40000 0 249 26 38461 1 64 27 37037 1 66 28 35714 1 69 29 34482 1 71 30 33333 1 74 31 32258 1 76 32 31250 1 79 33 30303 1 81
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Message direction: Host to device Offset Name Value Description 0 CMD_PORT_IR 0x9F IR command 1 CMD_SETIRTIMEO UT 0x0C Command ID - set IR time-out 2 TOH Number High byte of time-out value 3 TOL Number Low byte of time-out value Description This command sets the IR time-out.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems CMD_SETIRRXPORTEN - Set IR Receive Ports Message ID: CMD_SETIRRXPORTEN Message length: 3 bytes Message direction: Host to device Offset Name Value Description 0 CMD_PORT_IR 0x9F IR command 1 CMD_SETIRRXPOR TEN 0x14 Command ID - set IR receive ports 2 P Number Port number to receive on Description This command sets the IR ports that are enabled for reception.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Commands That Query Device State All commands that query device state are sent to the device over the EP1 OUT endpoint. Responses to these commands are returned to the host over the EP1 IN endpoint. The following commands query device state: CMD_GETIRCFS - Get IR carrier. CMD_GETIRTIMEOUT – Get IR time-out. CMD_GETIRTXPORTS – Get IR transmit ports.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Value Description 0 CMD_PORT_IR 0x9F IR command 1 CMD_GETIRTIMEO UT 0x0d Command IR - get IR time-out Description This command queries the device for its current IR time-out setting. Response Description RSP_EQIRTIMEOUT Returns the IR time-out period.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Value Description 1 CMD_GETIRRXPOR TEN 0x15 Command ID - get IR receive ports Description This command returns which IR ports are being used for reception. Response Description RSP_EQIRRXPORTEN Returns the receiver number used for IR reception.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Value Description 1 CMD_GETIRNUMPORT S 0x16 Command ID - get the number of ports Description This command queries the device for the number transmit and receive ports that it has. Response Description RSP_EQIRNUMPORTS Returns the number of ports.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Value Description 0 CMD_PORT_SYS 0xFF System command 1 CMD_GETEMVER 0x22 Command ID - Get interface version used by emulator Description This command is sent by the host to query which version of the emulator interface this device is using. There are two ways to respond to this command: You can error out and return RSP_CMD_ILLEGAL.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems CMD_GETWAKESUPPORT – Get Details about Device Wake Support EMVER_EMULATOR_V2 only Message ID: CMD_GETWAKESUPPORT Message length: 2 bytes Message direction: Host to device Offset Name Valu e Description 0 CMD_PORT_SYS 0xF F System command 1 CMD_GETWAKESUPPO RT 0x20 Command ID - get details about device wake support Description This command is sent by the host when the hos
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Response Description RSP_EQWAKEVERSION Respond with details about current wake pattern Miscellaneous Commands The miscellaneous commands are sent to the device over the EP1 OUT endpoint. Responses to these commands are returned to the host over the EP1 IN endpoint. The following miscellaneous commands are available: CMD_NOP – No operation.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The Flush command is used to synchronize the host with the device. The device should loop back the same data to the host after the device is done processing all data. So, for instance, if the device has an outgoing FIFO with IR data to transmit, and then it receives the flush command, it should wait until the FIFO is empty before responding to the Flush command.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems RSP_GETWAKESOURCE – Respond with wake source. RSP_EQIRTXPORTS – Respond with current transmit port mask. RSP_EQIRRXPORTEN – Respond with current IR receive port mask. RSP_GETPORTSTATUS – Respond with transmit port status. RSP_EQIRRXCFCNT – Respond with received carrier count information. RSP_EQIRNUMPORTS – Respond with number of ports.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Value Description 1 RSP_EQIRTIMEOU T 0x0C Response ID – respond with current IR time-out 2 TOH Number High byte of time-out value 3 TOL Number Low byte of time-out value Description This is the response used to return the IR time-out period to the host. For definitions of TOH and TOL, see CMD_SETIRTIMEOUT earlier in this document.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Description This is the response used to return the current transmit port mask to the host.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Description This is the response used to indicate whether something is plugged into a specific transmit port. In the Microsoft-produced IR device, this was done by measuring voltage drop across the port. By measuring volts-at-rest and volts-when-driven, the software could differentiate between IR emitters and S-Link devices. For emulation devices, IR emitters are the only option.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems To simplify matters, the following values should be returned.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Message length: 3 bytes Message direction: Device to host Offset Name Value Description 0 RSP_PORT_IR 0x9F IR response 1 RSP_EQIRNUMPOR TS 0x16 Response ID – respond with number of ports 2 TXC Numbe r Count of transmit ports on device 3 RXC Numbe r Count of receive ports on device Description This is the response that tells the host how many transmit and receive
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Name Valu e Description WAKE_SUPPORTED 0x01 The device supports wake from remote WAKE_PROGRAMMABLE 0x02 The device wake algorithm is programmable WAKE_MULTIPLE 0x04 The device supports wake from all required protocol/key combinations without programming.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Description This is the response in which the device tells the host what wake pattern it is currently listening for. This response could be based on factory programming or it could be based on run-time programming of the device by the host using the CMD_BOOT_SETWAKEPATTERN or CMD_BOOT_WRITEBLOCK bootloader commands.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The following values are valid for the Protocol field: Name Val ue Description V2_WAKE_PROTOCOL_RC 6 0x0 1 Wake key uses the RC6 protocol. V2_WAKE_PROTOCOL_QP 0x0 2 Wake key uses the Quatro Pulse protocol.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The following bit values can be OR‘ed together and returned in the WAKECAPS field.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems 1 emulator interface. In that case, the host does not send any of the EMVER_EMULATOR_V2only commands to the device.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The following values are accepted in the EMVER field: Name Value Description EMVER_EMULATOR_V1 0x01 The device is using the old (Version 1) emulator interface EMVER_EMULATOR_V2 0x02 The device is using the newer (Version 2) emulator interface.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Value Description 0 RSP_PORT_SYS or RSP_PORT_IR 0xFF or 0x9F System or IR response 1 RSP_CMD_ILLEGA L 0xFE Response ID – illegal command Description This response is sent when the command received does not exist for the given port. This is a critical error. A CMD_RESUME command from the host is required to recover from this error.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems // get next byte from host byte b = getNextByteFromHost(); if ( errorState ) { // if we're in an error state, see if we can exit the error state // don't actually remove the next byte from the incoming buffer yet.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems 7. Test validates that the device does respond. Bootloader Implementation To support wake programming, Version 2 emulator devices must have a bootloader. While in bootloader mode, all normal device operation is suspended. The bootloader is entered when a CMD_RESET command is received and exited when a CMD_BOOT_EXIT is received.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems For example, a multiple-pattern device that receives CMD_BOOT_SETWAKEPATTERN with protocol=RC6, Payload=0x0c, and Address=0x02 wakes on four different keys: RC6 Sleep toggle, RC6 discrete on, Quatro Pulse Sleep toggle, and Quatro Pulse discrete on. However, the device only wakes on these keys if they have the address set to 0x02. Remotes with other addresses must not wake the host.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Host Enters Bootloader The host uses CMD_GETWAKEVERSION to request the wake pattern that the device is currently using. If the device is using a wake pattern that does not match the pattern that the host noted earlier, the host must reprogram the device with a different pattern. At this point, the host sends a CMD_RESET to enter the device‘s bootloader.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Registry Value Name The firmware is stored in a REG_BINARY value using the following naming convention: PowerKey-VIDPID-Protocol-KeyCode-Address VIDPID is your device‘s VID and PID concatenated as a hexadecimal value. Protocol is the protocol, in text. Valid values are RC6 or QP. KeyCode is the button code for the Wake key. Valid values are 0c or 29.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Wake Firmware Registry Example [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbcir\PowerKey] "PowerKey-045e00fe-RC6-0c-03"=hex:01,0C,03,01,\ 00,00,00,0C, \ 1F,00,12,34,56,78,91,23,45,67,00,A9,\ 1F,08,12,34,56,78,91,23,45,67,00,A9,\ 1F,10,12,34,56,78,91,23,45,67,00,A9 In this example, the VID is 0x045e, the PID is 0x00fe.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Bootloader Example Pseudo-Code This example assumes the same registry format used by the Wake Firmware Registry Example section.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems for (int i = 0; i < 8; i++) { // save the bytes data[i] = getNextByteFromSource(); // compute a simple checksum checksum = checksum << 1; checksum ^= data[i]; } // One byte of padding getNextByteFromSource(); // Last byte is expected checksum byte expectedChecksum = getNextByteFromSource(); // Make sure the checksum is correct if ( checksum != expectedChecksum ) { sendToHost(RSP_BOOT
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Example #2 – Wake Firmware in Registry This example assumes the same registry format used by the Wake Firmware Registry Example section. 1. Host Sends: 0xff 0xfe (CMD_PORT_SYS, CMD_RESET) 2. (Device enters bootloader) 3. Host Sends: 0xf5 (CMD_BOOT_GETVERSION) 4. Device Responds: 0x04, 0x01 (RSP_BOOT_VERSION,1) 5.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Value Description 0 CMD_BOOT_EXIT 0xF4 Command: Exit the bootloader Description When the device receives this command, it should exit the bootloader, reset the device, and resume normal operation.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offs et Name Value Description 2 Payload Numb er Button code for the Wake button 3 Address Numb er Address for the Wake button Description This command tells the device what protocol, payload, and address to wake on.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The following values are valid for the Protocol field: Name Val ue Description V2_WAKE_PROTOCOL_RC 6 0x0 1 Wake key uses the RC6 protocol V2_WAKE_PROTOCOL_QP 0x0 2 Wake key uses the Quatro Pulse protocol The following values are valid for the Payload field: Name Val ue Description WAKE_KEY_POWER_TOG GLE 0x0 c Button code for the Sleep-toggle button WAKE_KEY_DISCRETE_O
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offset Name Valu e Description 3 EMULATOR_WRAUTHSEQ 3 0x67 Second authorization byte 4 EMULATOR_WRAUTHSEQ 4 0xD 0 Third authorization byte Description Authorize firmware writes. The device should save the four auth bytes to a known location.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Bootloader Responses RSP_BOOT_VERSION – Return Bootloader Version EMVER_EMULATOR_V2 ONLY Message ID: RSP_BOOT_VERSION Message length: 2 bytes Message direction: Device to host Offset Name Value Description 0 RSP_BOOT_VERSION 0x04 Response: return bootloader version 1 Version Numb er Bootloader version 126
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Description The actual version returned is inconsequential. The host uses RSP_BOOT_VERSION response as an indication that the device has successfully entered the bootloader.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Offse t Name Value Description 0 RSP_BOOT_BADWRITEA UTH 0xF2 Response: Bad write authorization sent 128
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Description The device should return this response to the host if a write operation was attempted without being proceeded by a proper CMD_WRITEAUTH request.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The prefix byte contains the value 100 in the upper three bits and the data length in the lower five bits. There can be as many as 30 bytes of data. For the data bytes, the following format is used. [h l6 l5 l4 l3 l2 l1 l0] IR data is coded in a series of run-length coded bytes. The h bit indicates whether the signal is high (1, on - light produced/received) or low (0, off).
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems [00010011] off for 19 samples (.95 more ms – bringing the total to 20 ms) [11111111] on for 127 sample (6.35 ms) [11001001] on for 73 sample (3.65ms – bringing the total to 10 ms) // Send the data end.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Assume, as in the previous example, the sample period is set to 50 microseconds. If the same waveform is received, the device would return the following sequence to the host: // IR Data: [10001000] prefix byte – 8 bytes of IR data follows [11111111] on for 127 sample (6.35 ms) [11001001] on for 73 sample (3.65ms – bringing the total to 10 ms) [01111111] off for 127 samples (6.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Bootloader This section contains startup code, comm code, and the bootloader command switch. It has a checksum as the last 4 bytes which is checked at startup. Main This section contains IR reception code, as well as system and IR command switches. The main code is flash-upgradeable by the bootloader. It has a checksum as the last 4 bytes which is checked at startup.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The user uses a Media Center Extender in another room to watch television and they want to change channels. The Windows Media Center computer needs to relay the command to the set-top box.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 27: The CIR driver stack The preceding diagram shows the components that are used to support remote control operations in Windows. Components provided by Microsoft are shown as blue-shaded blocks; Windows Media Center partner-developed components are shown as white blocks. Both usermode and kernel-mode components are illustrated.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Figure 28: The device object relationship In the preceding diagram, each device object is represented by either a circle or a square. Circles represent Functional Device Objects (FDOs) and squares represent Physical Device Objects (PDOs). The driver that creates each device object is shown on the left of the diagram, on the same line as the device object that it creates.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Note that there is no direct connection (that is, no attachment) between the CIRClass and USBCIR drivers. As a result, CIRClass engages in a handshaking exchange (described later in this document) with each CIR Port driver as that port driver is started.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Additional protocol support The version 2 class driver adds support for a newer remote control protocol. The SMK Quatro Pulse protocol is now available as an option for remote controls manufacturers. Contact remotemc@microsoft.com for details about licensing this protocol.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems necessary to support the version 2 DDI. However, it is not strongly tied to this DDI, meaning that old emulators will still work with the newer version 2 DDI port driver. CIRClass and CIR Port Interface Details There are three mechanisms by which CIR Port drivers and the CIRClass driver interact. All three mechanisms are required and must be implemented by every CIR Port driver.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems CIR Port Device Initialization As previously described, each CIR Port device will be loaded as a result of its device being enumerated by the underlying bus driver. For example, the Microsoft-supplied USBCIR devices are enumerated by the USBHUB driver.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems On receiving the IOCTL_IR_GET_DEV_CAPS request, the port driver must check the size of the out buffer. If the out buffer is big enough to hold an IR_DEV_CAPS_V2 structure, the port driver should assume that it is working with a version 2 class driver. It should fill in the entire IR_DEV_CAPS_V2 structure, and set the IR_DEV_CAPS_V2.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems operation, CIRClass will receive additional information in the form of remote control button presses that may indicate that a different pattern should be used. When this happens, it will use the IOCTL_IR_SET_WAKE_PATTERN IRP to reprogram the hardware.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems CIRClass is most likely to send an IOCTL_IR_SET_WAKE_PATTERN request in two circumstances: When the drivers are being initialized, CIRClass tracks the current wake pattern across reboots and sends the wake pattern to the port driver when the port driver loads. When the user presses a key that causes CIRClass to decide that a different wake pattern should be used.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Data Flow This section provides an overview of the data exchange process that takes place between CIRClass and a CIR Port driver. This overview will serve as an introduction to the topic, in preparation for reading the sample CIR Port driver code, the IOCTL definitions, and the data structure definitions.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Priority Receives In most cases, during normal operations, the CIRClass driver will keep an IOCTL_IR_RECEIVE in progress with the CIR Port driver. In some cases, Windows will need to start a new receive operation that bypasses and leaves pending any IOCTL_IR_RECEIVE requests that might already be in progress. This operation is referred to as a "Priority Receive.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems While in Priority Receive mode, any IOCTL_IR_RECEIVE requests that the CIR Port driver receives must be queued for later processing. While in Priority Receive mode, any non-receiverelated requests (such as IOCTL_IR_TRANSMIT or other IOCTLs) are processed as normal; Priority Receive mode only affects processing of receive-related packets.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems CIR Port drivers are required to process IOCTL_IR_TRANSMIT requests synchronously. That is, a CIR Port driver must not complete an IOCTL_IR_TRANSMIT request until all the data described by that request has been transmitted.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Differences between Learning (Wide Band) Receiver and Long Range (Narrow Band) Receiver There are two types of light detectors needed for an IR transceiver: Long Range Receiver. This is the receiver that is used during normal operation of Windows Media Center. It is designed to receive input from 3 to 30 feet away. It de-multiplexes the signal in hardware.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Power consumption requirements are defined by the bus and architecture used by the IR receiver. For example, USB allows 2.5 mA during suspend and a variable amount of current depending on whether it is a high-power or lower-power device. If using a USB device, it is recommended that the device be able to operate correctly when it is plugged into a passive hub.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Protocol Button Button Code Toggle Payload Don’t Care Bits Code=32783 System=4 Address=Address* KeyCode=12 RC6 Discrete Wake 41 Customer Code=32783 Toggle Bit System=4 Address=Address* KeyCode=41 Quatro Pulse Sleep Toggle 12 Flag=2** Checksum ID = Address* Maker=0x22 Device=0x01 Extension=0x00 KeyCode=12 Quatro Pulse Discrete Wake 41 Flag=2** Checksum ID = Add
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Wake Programmability Options The following options are available for building your hardware: One protocol, one button only, not programmable (version 1 DDI or version 2 DDI). In this option, your hardware is basically hard-wired to respond to a single wake pattern. Note that this option is not allowed in Windows 7.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems For more information, see IR_ENTER_PRIORITY_RECEIVE_PARAMS, IOCTL_IR_EXIT_PRIORITY_RECEIVE, and IOCTL_IR_PRIORITY_RECEIVE.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems IOCTL_IR_EXIT_PRIORITY_RECEIVE User Scenario This is used to transfer the device from learning mode back into basic receive mode. Operation This request is sent to end Priority Receive mode.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Used during driver load and in first run to determine what hardware is connected to the system and if that hardware supports the functionality the user is trying to configure. Operation Returns device capabilities in the IR_DEV_CAPS_V1 or IR_DEV_CAPS_V2 structure. The port driver should examine the size of the output buffer.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The Status field is set to STATUS_SUCCESS if the operation is completed successfully. It may also be the following value: STATUS_BUFFER_TOO_SMALL - The supplied output buffer is too small to be a ULONG. IOCTL_IR_HANDSHAKE User Scenario User plugs device into computer. Operation This IOCTL is sent from CIRClass before creating the HID child device to represent the port.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The Information field is set to the actual number of bytes copied into the supplied data buffer, including the IR_PRIORITY_RECEIVE_PARAMS structure. The Status field is set to STATUS_SUCCESS if the operation is completed successfully. It may also be one of the following values: STATUS_INVALID_DEVICE_STATE - The device is not in Priority Receive mode.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems IOCTL_IR_RESET_DEVICE User Scenario Not documented in this release. Operation Resets the given device. When a device is reset, all pending transmit and receive IOCTLs are canceled by the port driver. Additionally, the power driver should re-initialize the hardware to the default state. Input None. Output None. I/O Status Block The Information field is set to zero.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems No user scenario. Part of basic device communication. Operation This IOCTL is sent from IRCLASS when a user has indirectly closed the port driver. This IOCTL is informational only, allowing the port to do any cleanup required when closed by a user. Input None. Output None. I/O Status Block The Information field is set to zero. The Status field is set to STATUS_SUCCESS.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Input Irp->AssociatedIrp.SystemBuffer points to an IR_SET_WAKE_PATTERN_PARAMS structure, describing the wake pattern that the hardware should respond to. Output None. I/O Status Block The Status field is set to STATUS_SUCCESS if the operation is completed successfully.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Data Structure Definitions The following section defines all of the data structures used by the CIRClass and CIR Port drivers in their IOCTL communications. STATUS_BUFFER_TOO_SMALL: The supplied input buffer is too small to contain an IR_SET_WAKE_PATTERN_PARAMS structure.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems NumTransmitPorts Number of transmit ports: 0-32. NumReceivePorts Number of receive ports: 0-2 Typically, this number will either be 1 (for a receive only device with a long-range receiver) or 2 (for a transmit/receive device with a long-range receiver and a wideband receiver). LearningReceiverMask Bitmask identifying which receivers are learning receivers.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems LearningReceiverMask Bitmask identifying which receivers are learning receivers. Set to zero (0) if no learning receivers are on the device. Flags A combination of one or more of the following values: DEV_CAPS_HAS_UNIQUE_SERIAL: Unused. DEV_CAPS_CAN_FLASH_RECEIVER_LED: Device supports the IOCTL_IR_FLASH_RECEIVER IRP.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Syntax typedef struct _IR_PRIORITY_RECEIVE_PARAMS { OUT ULONG_PTR DataEnd; IN ULONG_PTR ByteCount; OUT ULONG_PTR CarrierFrequency; IN LONG Data[1]; }IR_PRIORITY_RECEIVE_PARAMS, *PIR_PRIORITY_RECEIVE_PARAMS; Members DataEnd Set by port driver to TRUE if a DataEnd (Timeout) event occurred. Otherwise, FALSE.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems IR_SET_WAKE_PATTERN_PARAMS (Version 2 Only) The IR_SET_WAKE_PATTERN_PARAMS structure is used in conjunction with the IOCTL_IR_SET_WAKE_PATTERN IOCTL to program the device to wake on a specific IR pattern.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems PulseSize Currently unused. Headers For more information, see IOCTL_IR_TRANSMIT and IR_TRANSMIT_CHUNK. IR_TRANSMIT_CHUNK The IR_TRANSMIT_CHUNK structure is used in conjunction with the IOCTL_IR_TRANSMIT IOCTL and IR_TRANSMIT_PARAMS structure to blast IR data.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems HID Remote Control Receiver Requirements This section contains requirements for remote control receivers, system-level interaction, and triple-tap input. Remote Control Receiver (Input Only) The following list provides remote control and long-range receiver requirements.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems The registry key string (HID\\VID_xxxx&PID_xxxx "="") is the Plug and Play (PNP) ID for your specific device. If your device is not based on the USB bus, then the PNP ID will likely be in a different format.
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems 0x95, 0x01, 0x75, 0x10, 0x81, 0x00, 0xC0, \ ; MS Vendor controls 0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x02, 0x19, 0x01, 0x29, 0xff, 0x15, 0x00, 0x25, 0x01, 0x95, 0x01, 0x75, 0x08, 0x81, 0x00, 0xc0, \ ; Standby button 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x81, 0x29, 0x83, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x01, 0x95, 0x05, 0x81, 0x01, 0x
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems 169 Button Grouping Name Navigation HID TLC Page HID TLC Usage HID Button Page HID Button Usage Green Start Button0xFFBC 0x88 0xFFBC 0x0D Navigation Back 0x0C 0x01 0x0C 0x0224 Navigation More Info 0x0C 0x01 0x0C 0x0209 Navigation Up 0x01 0x06 0x07 0x52 Navigation Down 0x01 0x06 0x07 0x51 Navigation Left 0x01 0x06 0x07 0x50 Navigation Right
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button Grouping Name HID TLC Page HID TLC Usage HID Button Page HID Button Usage AV Control Power Mute 0x0C 0x01 0x0C 0xE2 AV Control Power Closed Captioning0xFFBC 0x88 0xFFBC 0x2B AV Control Power Chan/Page Up 0x0C 0x01 0x0C 0x9C AV Control Power Chan/Page Down 0x0C 0x01 0x0C 0c9D AV Control Power Sleep toggle (standby) 0x01 0x80 0x01 0x82 AV Contro
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems 171 Button Grouping Name HID TLC Page HID TLC Usage HID Button Page HID Button Usage Numeric Keypad ‗#‘ 0x01 0x06 0x07 0x20 + 0xE1 Numeric Keypad ‗*‘ 0x01 0x06 0x07 0x25 + 0xE1 Teletext/ISDB-T ―d‖ button Teletext/‖d‖ On/Off0xFFBC 0x88 0xFFBC 0x5A Teletext Teletext Red 0xFFBC 0x88 0xFFBC 0x5B Teletext Teletext Green 0xFFBC 0x88 0xFFBC 0x5C Teletext
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button Grouping Name HID TLC Page HID TLC Usage HID Button Page HID Button Usage DVD DVD Menu 0xFFBC 0x88 0xFFBC 0x24 DVD DVD Angle 0xFFBC 0x88 0xFFBC 0x4B DVD DVD Audio 0xFFBC 0x88 0xFFBC 0x4C DVD DVD Subtitle 0xFFBC 0x88 0xFFBC 0x4D DVD Eject 0xFFBC 0x88 0xFFBC 0x28 DVD DVD Top Menu 0xFFBC 0x88 0xFFBC 0x43 Extensibility Ext0 0xFFBC 0x88
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button Grouping Name HID TLC Page HID TLC Usage HID Button Page HID Button Usage Other Zoom 0xFFBC 0x88 0xFFBC 0x27 Other Channel Input (3 Digit 0xFFBC Input) 0x88 0xFFBC 0x42 Other Sub Audio 0xFFBC 0x88 0xFFBC 0x2D Other 10 0xFFBC 0x88 0xFFBC 0x3E Other 11 0xFFBC 0x88 0xFFBC 0x3F Other 12 0xFFBC 0x88 0xFFBC 0x40 Reserved Button Codes The fol
Remote Control and Receiver-Transceiver Specifications and Requirements for Windows Media Center in Windows Operating Systems Button Grouping Name HID TLC Page HID TLC Usage HID Button Page HID Button Usage Reserved Display 0xFFBC 0x88 0xFFBC 0x4F Reserved Kiosk 0xFFBC 0x88 0xFFBC 0x6A Reserved Network Selection0xFFBC 0x88 0xFFBC 0x2C Reserved BD Tool 0xFFBC 0x88 0xFFBC 0x78 Reserved Channel Information 0xFFBC 0x88 0xFFBC 0x41 174