Spitfire III USB and Serial Port Interface IR Engine
Total Page:16
File Type:pdf, Size:1020Kb
Universal Infrared Remote Control From any PC! SpitFIRE III USB and Serial Port Interface IR Engine SpitFIRE III 6-in-1 Learning Remote Control Remote Control Version 1.0 1 Preliminary SpitFIRE III Serial Port Interface IR Engine FEATURES • Infrared remote control from a PC • Internal Infrared Code Library supports all common TV, VCR, Cable, Satellite, Home Theater and DVD Players • “Learns” additional codes from your existing remote control • USB and Serial port interface • Powered by USB port or optional 9V DC power cube • Includes “cloning” capability for one-step replication of your setup and configuration from one Spitfire to another • PC-upgradeable library • Punch-Through Operation • Macros • Smart Source™ • IR Learning o Learns up to 112 button codes dynamically distributed over six sources o Learns all common IR protocols o Learns IR frequencies up to 75 kHz • Application software included o Standard application permits easily customized on-screen display of “virtual remote control” o Use the included Visual Basic source code to create your own applications • Button mapping files are provided for internal and external library’s • IR Output o Front panel IR emitter LED o Two front panel IR blaster jacks accept standard 1/8" (3.5mm) mono mini-plug • Multiple Spitfires can be connected to a PC at a time. • Dimension: 3.3" W x 1.2" H x 5.25" L • Options include IR receiver • Ideal for – Home Automation – Home Theater – Industrial Control Version 1.0 2 Preliminary INTRODUCTION Congratulations on purchasing your SpitFIRE Serial Port Infrared Remote Control. The Innotech Systems’ SpitFIRE turns an ordinary PC into a powerful state-of-the-art home entertainment control system! The SpitFIRE controls all popular entertainment devices directly from a PC. The SpitFIRE converts data from your computer’s serial or USB port into infrared remote control signals. The Innotech Systems SpitFIRE III turns an ordinary PC into a powerful State-of-the-art entertainment control system! The SpitFIRE III controls IR remote control compatible entertainment devices directly from a PC. The SpitFIRE III Learning SpitFIRE includes a built-in library of entertainment remote control codes that covers a wide variety of consumer products. In addition, the SpitFIRE III can learn new IR codes so that your control system is never out-dated. The learned codes can be added to an entertainment device that already exists in the library or it can add completely new devices to the library. Learned codes are stored in non-volatile memory for permanent storage, even with the power removed. The SpitFIRE III includes a convenient front panel mounted infrared diode and two (3.5mm) jacks which permit the use of mini stick-on IR emitters for maximum flexibility. Front panel status light provides feedback for programming the SpitFIRE. Status information is also sent back to the PC via the serial or USB connection. The small (3¼" x 5¼") SpitFIRE may be situated behind or near the PC, and is connected via a conventional serial cable or USB to the PC. The SpitFIRE is controlled via a standard serial interface. The host PC controls the SpitFIRE by sending simulated button presses. The SpitFIRE will respond by returning status information for every command. The SpitFIRE includes sample Visual Basic application software. The software displays a “virtual” remote control on screen and responds to “virtual button presses” to illustrate the operation of the device and for you to use as the basis for your own software applications. Version 1.0 3 Preliminary SpitFIRE --- Front Panel IR Sensor & Transmitter Infrared Output (3.5mm) mono mini-plug Optional Receiver Program Status LED SpitFIRE --- Back Panel USB Port RS-232 Serial Input Power Supply Jack Interface Select Switch USB Powered or 9V DC power cube Version 1.0 4 Preliminary Installing SpitFIRE USB Drivers Windows XP, Windows 98 drivers and instillation guides are supplied on the Spitfire software and documentation CD. For all other drivers http://www.ftdichip.com/Drivers/VCP.htm Developers-Note1: The USB drivers act as virtual COM-ports, this means that they look and act as COM- ports to the end user and to the supplied software. If you are a developer of software, this is not the only way to access the spitfire. This virtual comport method was chosen to maintain backwards compatibility with previous versions of the Spitfire. All the drivers can be found at… http://www.ftdichip.com/Drivers/D2XX.htm D2XX drivers allow direct access to the USB device through a DLL. Application software can access the USB device through a series of DLL function calls. Installing SpitFIRE On-Screen Control Software 1. It is recommended that you close all running software applications before you install the SpitFIRE On- Screen Control Software. 2. Insert the provided spitfire installation and documentation CD into your CD disk drive. 3. To install, go to the installation directory and run SETUP.EXE (drive):\Installation\SETUP.EXE. 4. Follow the setup prompts as they appear on your screen. The installation program will default to installing the software in C:\Program files\Spitfire. You may change this to another directory if you wish. 5. Connect the SpitFIRE to the desired USB or COM port. 6. To begin using on-screen control click on the SpitFIRE icon in the Start menu. SpitfireIII.LNK In order for the PC to communicate with the SpitFIRE, the communication settings must be properly set. The remote control application software can auto-detect the proper communication port and settings. If the auto-detect method does not work and you know the COM port number, then you can manually select the COM port using Com-1 to Com-6. The USB drivers are designed to act as virtual serial ports and they will appear to the PC and the user as a regular com port. The auto-detect feature will attempt to find the correct com port or virtual com port by searching for the connected spitfire one port at a time COM 10, 9, 8, 7... If multiple spitfires are connected to the PC then auto-detect will find them in descending number order. Version 1.0 5 Preliminary Using the SpitFIRE virtual remote control application The remote control application software, will display an image of a remote control. Clicking on any button with the mouse will press that button. The Spitfire comes preprogrammed to control a typical Sony TV. The CBL/SAT, DVD, VCR, AUD, and AUX slots are empty. The on-screen LED will flash appropriately and a status box will interpret and display messages received back from the SpitFIRE. Customizing the Display The appearance of the remote control is determined by the file buttons.txt, which is installed in the SpitFIRE directory. During startup, the program reads the contents of buttons.txt. This file contains information about the button label, button scancode, and appearance of each button on the remote. Buttons.txt can be modified with any text editor, so the user can customize the look and function of the remote to suit their needs. Buttons.txt is organized into 64 text lines, for each of 64 possible buttons, starting from the top left of the remote and reading across. Each line consists of 3 fields separated by commas. 1. Field one is the button label which appears as text on the button. 2. Field two is the 1-byte scancode, The scancode represents a specific button in the IR library. (see the button mapping table) 3. Field three is a visibility tag, either 1 (visible) or 0 (invisible) allowing unused buttons may be hidden. The included "buttons.bak" file can be renamed to "buttons.txt" to show all the buttons available on the remote. However, depending on the device being controlled, not all buttons may be functional. Developers-Note2: Communications between the SpitFIRE and the program is simple. When the user presses a button on screen, the program first finds that button’s associated scancode from an array. This array is constructed at startup as the program reads the contents of the "buttons.txt" file. Each scancode is represented by an integer. The program then converts that integer to a byte, sets the button down bit,(data bit 7) and sends that to the SpitFIRE hardware through the serial port. The ActiveX control MSComm is used, making it easy to write routines that transmit data to and from the serial ports. The SpitFIRE communicates at 2400 baud, 8 data bits, 1 stop bit, no parity. After the SpitFIRE hardware receives a scancode from the serial port, it returns a status byte. The program receives and acts based upon the type of status byte, which may indicate the number of times to flash the visible LED, the success or failure of a programming operation, etc. This is accomplished through IF-ELSE and CASE statements. As the source code demonstrates, Visual Basic's tools simplify the task of writing fully functional programs to control the SpitFIRE. Feel free to examine the included source files for Visual Basic 5.0: CONTROL.BAS, CONTROL.FRM, CONTROL.FRX, CONTROL.VBP, CONTROL.VBW To load the entire project into Visual Basic, open the “SpitFIRE control.vbp” file. Version 1.0 6 Preliminary VIRTUAL BUTTON MAPPING Developers-Note3: The Most Significant Bit (data bit 7) is functionally defined as the button press bit and is set by the VRC prior to transmission of the scancode to the spitfire. To avoid any confusion this table along with the buttons.txt and ISI###.dat files all do not have the MSB set, but when the code is transmitted the MSB is always set. If you do not set the MSB the spitfire will not respond to the command or will misinterpret the command.