US20020190956A1 - Universal remote control with display and printer - Google Patents

Universal remote control with display and printer Download PDF

Info

Publication number
US20020190956A1
US20020190956A1 US09/973,354 US97335401A US2002190956A1 US 20020190956 A1 US20020190956 A1 US 20020190956A1 US 97335401 A US97335401 A US 97335401A US 2002190956 A1 US2002190956 A1 US 2002190956A1
Authority
US
United States
Prior art keywords
data
base station
wireless controller
recited
hand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/973,354
Other versions
US6859197B2 (en
Inventor
Sandro Klein
Mauro Dresti
Robert Campbell
Han-Sheng Yuh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
F Poszat HU LLC
Original Assignee
Universal Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universal Electronics Inc filed Critical Universal Electronics Inc
Priority to US09/973,354 priority Critical patent/US6859197B2/en
Assigned to UNIVERSAL ELECTRONICS INC. reassignment UNIVERSAL ELECTRONICS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YUH, HAN-SHENG, KLEIN, SANDRO D., CAMPBELL, ROBERT A., DRESTI, MAURO
Priority to PCT/US2002/009131 priority patent/WO2002091737A1/en
Priority to EP02721568A priority patent/EP1393550A1/en
Priority to CA002444934A priority patent/CA2444934A1/en
Publication of US20020190956A1 publication Critical patent/US20020190956A1/en
Application granted granted Critical
Publication of US6859197B2 publication Critical patent/US6859197B2/en
Assigned to NISEL INVESTMENTS LIMITED LIABILITY COMPANY reassignment NISEL INVESTMENTS LIMITED LIABILITY COMPANY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: UNIVERSAL ELECTRONICS INC.
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1698Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1656Details related to functional adaptations of the enclosure, e.g. to provide protection against EMI, shock, water, or to host detachable peripherals like a mouse or removable expansions units like PCMCIA cards, or to provide access to internal components for maintenance or to removable storage supports like CDs or DVDs, or to mechanically mount accessories
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C23/00Non-electrical signal transmission systems, e.g. optical systems
    • G08C23/04Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1632Pen holder integrated in the computer
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/92Universal remote control

Definitions

  • This invention relates generally to remote controls and consumer electronics, and, more particularly, relates to printer devices.
  • VCR virtual reality recorder
  • CD player CD player
  • DVD player digital video recorder
  • PVR personal video recorder
  • the VCR was initially introduced without a remote control, but quickly remote controls were added to the product offering.
  • Early VCR remote controls simply controlled the power and the transport mechanism (“Play,” “Stop,” “Pause,” “Rewind,” “Fast Forward” and “Record”).
  • VCR remote controls have far more features. For example, they permit the adjustment of tape tracking, the selection of programs for future recording, direct channel access, frame-by-frame program viewing and the ability to set the VCR's clock. To this end, the VCR remote control has grown from seven or eight keys to twenty or more.
  • the CD player when first introduced, came with a remote control.
  • the first CD players held a single disk and were easy to control.
  • This CD “jukebox” permits the consumer to painstakingly enter the title of each disk by remote control, and control which disk and track of that disk will play next.
  • This remote control has also grown from ten keys or so to over thirty with many keys performing two or more functions.
  • Universal remote controls available today perform a valuable function, consolidating three, four, five and more remote controls into one device.
  • the universal remote control simplifies operation by reducing the number of keys, and therefore, the number of features available to the consumer.
  • the universal remote control can operate the basic functions of several devices. For many consumers, the basic functions are enough for day-to-day use.
  • a remote control comprising print capability.
  • the remote control functions as an interface between a consumer electronic device and a printer.
  • FIG. 1 illustrates a pictorial drawing of a universal remote control in which the principles of the subject invention may be embodied
  • FIG. 2 illustrates an exploded assembly drawing of the universal remote control illustrated in FIG. 1;
  • FIG. 3 illustrates a block diagram of exemplary hardware for use in connection with the universal remote control illustrated in FIG. 1;
  • FIG. 4 illustrates an exemplary operating system and hardware hierarchy for use in the universal remote control illustrated in FIG. 1;
  • FIG. 5 illustrates an exemplary remote control application program hierarchy for use in the universal remote control illustrated in FIG. 1;
  • FIG. 6 illustrates an exemplary sub-application program hierarchy for use in setting up the universal remote control illustrated in FIG. 1;
  • FIG. 7 illustrates an exemplary sub-application program hierarchy for use in personalizing the universal remote control illustrated in FIG. 1;
  • FIG. 8 illustrates an exemplary sub-application program hierarchy for use in establishing the overall system behavior of the universal remote control illustrated in FIG. 1;
  • FIG. 9 illustrates an exemplary process for initializing a browser application resident on the universal remote control illustrated in FIG. 1;
  • FIG. 10 illustrates an exemplary operational sequence of the browser application resident on the universal remote control illustrated in FIG. 1;
  • FIG. 11 illustrates an exemplary browser screen layout capable of being displayed on the universal remote control of FIG. 1;
  • FIG. 12 illustrates an exemplary browser-based home control screen displayed on the universal remote control of FIG. 1 and the HTML source for use in displaying the control screen;
  • FIG. 13 illustrates an exemplary browser-based TV guide screen displayed on the universal remote control of FIG. 1 and the HTML source for use in displaying the TV guide screen;
  • FIG. 14 illustrates a two-way communication system including a computer, a computer network, and the universal remote control illustrated in FIG. 1;
  • FIG. 15 illustrates an exemplary Server Application Flow Chart for use in connection with the two-way communication system illustrated in FIG. 14;
  • FIG. 16 illustrates an exemplary display of Web-based data using the browser of the universal remote control illustrated in FIG. 1;
  • FIG. 17 illustrates the universal remote control illustrated in FIG. 1 docked to an optional keyboard
  • FIG. 18 illustrates the remote control being placed in a base that is connected to a separate printer
  • FIG. 19 illustrates a base with a top-mounted integral printer
  • FIG. 20 illustrates a base with an integral printer have a side mounted paper roll spool and a print channel and tear-bar mounted on the opposite side;
  • FIG. 21 illustrates sample thermal printed coupons
  • FIG. 22 illustrates a remote control displaying a coupon and a “Print” button
  • FIG. 23 illustrates two system configurations for interfacing with a printer, namely via a physical connection and via a wireless connection;
  • FIG. 24 illustrates an exemplary process for sending an image, and more generally data, to a printer
  • FIG. 25 illustrates an exemplary process for outputting an image from the remote control
  • FIG. 26 illustrates an exemplary process for communicating print status.
  • the remote control 10 comprises a housing 11 , itself comprising two parts, an upper housing 12 and a lower housing 13 . Included in the lower housing 12 is a battery cover 14 , a stylus repository, and a slot 16 through which a liquid crystal display (LCD) contrast control switch 42 may be accessed. Stylus 19 may be located in the stylus repository.
  • LCD liquid crystal display
  • the upper housing 12 has openings through which keys 20 , red light emitting diode (LED) 22 and a LCD 24 with a translucent touch sensitive overlay can be accessed.
  • the keys 20 are illustrated as being arranged in a vertical line to the right of the LCD 24 and may comprise (from top to bottom) a “Backlight” key 30 , “Volume Up” and “Volume Down” keys 32 and 34 , “Mute” key 36 , and “Channel Up” and “Channel Down” keys 38 and 40 , respectively.
  • the “Contrast Control” switch 42 can be located on the right side of the remote control 10 below the “Volume Up” and “Volume Down” keys, 38 and 40 .
  • the upper housing 12 may also include an opening for voice access to a microphone.
  • the forward facing LEDs 50 may also perform as an infrared light detector according to the teachings of co-pending U.S. patent application Ser. No. 09/080,125 which is incorporated herein by reference in its entirety.
  • the opening in which the LEDs 50 and 51 are carried may be covered by an infrared-transparent lens 17 .
  • the forward end of the remote control 10 may also include an opening for an RF antenna 52 .
  • a battery compartment 58 On the underneath portion of the remote control 10 are located openings for a battery compartment 58 and, optionally, a piezo speaker, and/or connection contacts, e.g., battery charging contacts 107 .
  • a phone jack 61 On the left side of the remote control 10 can be placed a phone jack 61 reserved for serial data operations.
  • a magnetic modem coupler 71 as described in U.S. Pat. No. 5,537,463 which is incorporated herein by reference in its entirety, can be included to permit transfer of data into the unit via a telephone handset or other source of magnetically encoded signal such as television or P.C. loudspeakers
  • the operating circuitry 100 may be powered directly by a battery or indirectly from another electrical source.
  • power may be supplied by way of contacts 107 , which may for example be battery charging contacts, or by other power sources (preferably a dc power source).
  • the power supply is regulated and monitored by a power conditioning and status circuit 106 which includes provision for recharging the batteries (when the unit is equipped with rechargeable cells) via a set of external contacts 107 .
  • the operating circuitry 100 preferably includes a memory bank 110 comprising RAM 111 and Flash memory 112 , Main Processor 101 (e.g., a Sharp LU77790A), a Display Module 180 comprising a liquid crystal display glass 182 , touch panel overlay 184 , electroluminescent backlight 186 and drivers 188 .
  • Main Processor 101 e.g., a Sharp LU77790A
  • Display Module 180 comprising a liquid crystal display glass 182 , touch panel overlay 184 , electroluminescent backlight 186 and drivers 188 .
  • a General Purpose Serial I/O circuit 108 Also included in the operating circuitry 100 are shown a General Purpose Serial I/O circuit 108 , an Infrared Controller 140 (e.g, comprising a Samsung KS88C01424 Microcontroller), an Infrared Transmitter circuit 150 , an Infrared Receiver circuit 160 , a Analog-to-Digital Converter (ADC) and Touch Decoder Circuit 170 (e.g., comprising a PIC16LC715 Microcontroller or other touch screen controller/decoder chip), a Piezo Buzzer 102 , a Key Pad 190 (the electrical diagram equivalent of the elastomeric keyboard 20 shown in FIG.
  • ADC Analog-to-Digital Converter
  • Touch Decoder Circuit 170 e.g., comprising a PIC16LC715 Microcontroller or other touch screen controller/decoder chip
  • Piezo Buzzer 102 the electrical diagram equivalent of the elastomeric keyboard 20 shown in FIG.
  • this RF module 125 may comprise an “off-the-shelf” RF transceiver unit with integral baseband processor such as the “900 MHz Microhopper” available from World Wireless Communications Inc. as part number 011-1882. It will be appreciated that RF modules of other manufacture and/or other technologies (Bluetooth, IEE802.11, etc.) are equally suitable.
  • the RF circuitry is connected to the RF antenna 52 while the IR circuitry is connected to the IR LEDs 50 and 51 .
  • the Main Processor may be based on a 32-bit, ARM RISC (Reduced Instruction Set Computer) core.
  • the Main Processor would comprise the ARM processor core 300 , LCD controller 310 , general purpose I/O ports 320 , and multiple serial UART ports 330 .
  • the Main Processor is provided to manage the entire process of interacting with the user through the backlit, graphical, touchscreen, LCD module 180 , the piezo buzzer 102 , the key pad 190 , the microphone and/or the red LED 235 (LED 22 of FIGS. 1 and 2) and to provide two-way infrared and RF communications through the infrared controller 140 and the RF controller 120 .
  • FIG. 3 further illustrates the electrical connections between the various modules such as connection 200 interconnecting the memory module 110 with the Main Processor 101 , connections 210 and 220 interconnecting the LCD 180 with the Main Processor 101 , connections 230 , 240 , 250 , 260 , and 270 interconnecting the Main Processor 101 with the Key Pad 190 , Piezo Buzzer 102 , the General Purpose Serial I/O Circuit 108 and the RF Controller 120 , Infrared Controller 140 , and ADC and Touch Decoder Circuit 170 , respectively.
  • connection 200 interconnecting the memory module 110 with the Main Processor 101
  • connections 210 and 220 interconnecting the LCD 180 with the Main Processor 101
  • connections 230 , 240 , 250 , 260 , and 270 interconnecting the Main Processor 101 with the Key Pad 190 , Piezo Buzzer 102 , the General Purpose Serial I/O Circuit 108 and the RF Controller 120 , Infrared Controller 140 , and ADC and Touch
  • connections include the connection 252 between the RF Controller 120 and the RF Transceiver 130 and connection 262 interconnecting the Infrared Controller 140 with the Infrared Transmitter 150 and also connecting the Infrared Controller 140 with the Infrared Receiver 160 .
  • FIG. 3 also shows that the remote control 10 can be adapted to mate to a charging base 700 to receive power and/or communications.
  • the remote control may include recharging contacts 107 and data contacts 104 .
  • the contacts 107 and 104 are provided to electrically couple with corresponding contacts 703 and 704 in the charging base 700 .
  • the exemplary charging base 700 depicted in FIG. 3 may therefore comprise a power source 701 such as, for example, stepped-down power originating from a household electrical socket, which is connected to contacts 703 .
  • the exemplary charging base 700 may also comprise a printer control module 706 that preferable comprises a serial interface (though other types of connection are acceptable) to connect, via connection 708 , to a printer 710 and, via contacts 704 , to the remote control 10 .
  • the printer 710 is a thermal printer integrated into the charging base 700 .
  • the print control module 706 may alternatively be incorporated into the operating circuitry 100 of the remote control 10 or it may be incorporated into the printer 710 . Either of the later alternatives allow the printer 710 to be connected directly to the remote control 10 . Any of the foregoing configurations allows the remote control 10 to function as a link, or interface, between a consumer electronic device (e.g., PC, home gateway, keyboard, TV, etc.) and the printer 710 .
  • a consumer electronic device e.g., PC, home gateway, keyboard, TV, etc.
  • FIG. 23 illustrates two configurations for interfacing with a printer.
  • Configuration 1 is representative of the above-described system configuration where the remote control 10 interfaces with the printer 710 via a physical connection.
  • Configuration 2 is representative of a wireless interface where the data is sent through printer control module 706 ′ (which is associated with a base station).
  • the electronic configuration illustrated in the block diagram of the operating circuitry 100 comprises a general purpose, multi-processor system.
  • the operation of the multi-processor system is controlled by internal control software.
  • the control software may include routines, programs, objects, components, and/or data structures that perform particular tasks that can be viewed as an operating system together with one or more applications.
  • the operating system provides an underlying set of management and control functions which are utilized by the applications to offer user functions such as control of consumer appliances, access to Internet data, display of home automation controls, display of TV guide information, and the like. It should be understood that, while the term “remote control” is used herein to designate the physical unit, in terms of the internal software architecture the conventional “clicker” remote control user interface is but one of several possible applications which may co-exist within the unit.
  • Events are occurrences which initiate an action. More specifically, an Event is an occurrence that requires a response from the remote control 10 . Events include user-initiated activities such as pressing a physical key on the keypad 20 , activating the touch screen LCD 24 , speaking into a microphone, etc. Events can also be generated by the Main Processor 101 , for example by an internal timer register. In addition, Events can be generated by external means, such as, a communication transmission, etc.
  • the remote control will typically access one or more of its Resources.
  • a Resource is, in its broadest definition, a block of data. The data is often of a specific (defined) type. Within the memory 110 , each memory data block is preferably identified by its “Resource ID” or by another indication where the Resource is located in the final, complete memory structure. Examples of Resources are bitmaps, strings, and control and display definitions.
  • Resources are used to configure the remote control 10 to be responsive to the needs of the user. Many Resources are loaded into the memory 110 of the remote control 10 by the manufacturer when the remote control 10 is built. Other Resources may be created or modified by the user and still other Resources can be remotely loaded into the memory 110 by a service center, via the Internet, etc. Resources allow the behavior, look and feel of the remote control 10 to be altered, even after it has been sold and is in the hands of the user. This powerful concept permits the user to personalize the remote control 10 to his or her own tastes.
  • Resources may be instantiated within the remote control 10 by use of a Resource Compiler running on a PC or equivalent.
  • the Resource Compiler accepts a text description of graphic and control elements and compiles them into memory data structures suitable for use within the remote control 10 .
  • a PC based Resource Compiler may provide the most efficient method for rapid development of Resources needed for a particular remote control application. Examples of commands which are available in an exemplary Resource Compiler for use in generating the memory data structures for the remote control include:
  • SymbolName is the name of a new symbol to be created. “Expression” is an algebraic expression. It may also comprise previously defined expressions.
  • “FilePath” points to a Resource residing in disk storage that will be included in the final memory data structure of the remote control.
  • BITMAP BitMapName, BitsPerPixel, Width, Height, Radix
  • the BITMAP command generates a black and white bitmap Resource.
  • BitMapName is the bitmap Resource ID while the “Width” and “Height” size the bitmap.
  • BitMapName is the bitmap Resource ID while the “Width” and “Height” size the bitmap.
  • BitMapName is the bitmap Resource ID while the “Width” and “Height” size the bitmap.
  • BitMapValuPixel is set to ‘1’ and “Radix” is set to ‘2’ in the first generation of the remote control product.
  • FONT generates a Resource Table that associates numeric values with bitmaps. This approach permits the use of an unordered set of bitmaps to be used as alphabetic characters or font.
  • “FontName” is a SYMBOL. Its assigned value is the Resource ID of the font.
  • “StartAsciiIndex” is the index value associated with the first bitmap ID.
  • “EndAsciiIndex” is the index value associated with the last bitmap ID.
  • a list of bitmap Ids follows this Command.
  • the bitmap IDs are typically expressions in the form of SYMBOL names.
  • STRING generates a String Resource.
  • “StringName” is a SYMBOL. Its assigned value is the String Resource ID.
  • “StringCharacters” comprise the text in the string.
  • DATA generates a Data Resource.
  • DataName is a SYMBOL. Its assigned value is the Data Resource ID.
  • DataSpecifier indicates the size of the expressions (“Expr”) that follow it. There can be multiple expressions following a DataSpecifier and there can be multiple DataSpecifiers in a Data Resource.
  • BITMAPBUTTONCONTROL generates a bitmap push button control.
  • ControlName is a SYMBOL. Its assigned value is the Resource ID for the control.
  • ControlCode is the value generated when the control on the touchscreen display is pressed or released.
  • UpBitMapID is the Resource ID of the bitmap that is drawn on the display when the control is active but not pressed.
  • DownBitMapID is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user.
  • InactiveBitMapID is the Resource ID of the bitmap that is drawn on the display when the control is inactive.
  • SelectBitMapID is the Resource ID of the bitmap that is drawn on the display when the control is active and visually highlighted.
  • STRINGBITMAPCONTROL generates a bitmap push button control on the display with a string drawn over it.
  • ControlName is a SYMBOL. Its assigned value is the Resource ID for the control.
  • ControlCode is the value generated when the control on the touchscreen is pressed or released.
  • StringID is the Resource ID of the string that is drawn when the control is pressed or unpressed.
  • FontID is the Resource ID of the font with which the string is drawn.
  • UpBitMapID is the ResourceID of the bitmap that is drawn on the display when the control is active but not pressed.
  • DownBitMapID is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user.
  • COMPOSITECONTROL ControlName, TopX, TopY, ControlCode, Parameters [below], End)
  • Rect Xoffset, Yoffset, Width, Height, ForeGroundColor, BackGroundColor
  • BitMap BitMapID, Xoffset, Yoffset, XferMethod
  • RoundRect Xoffset, Yoffset, Width, Height, Radius, ForeGroundColor,
  • ClipRect Xoffset, Yoffset, Width, Height
  • COMPOSITECONTROL generates a bitmap control for display from a collection of drawing primitives.
  • the control may be used as a picture or as a pushbutton control. Unlike other controls just mentioned, this control does not change when pressed.
  • “ControlName” is a SYMBOL. Its assigned value is the Resource ID for the control.
  • “TopX” is the left coordinate of the control.
  • “TopY” is the top coordinate of the control.
  • ControlCode is the value generated when the control on the touchscreen display is pressed or released.
  • the parameters are optional graphic commands. They are:
  • ‘Rect’ defines an unfilled rectangle.
  • Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle.
  • ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text.
  • BitMap defines a bitmap and its location.
  • BitMapID is the Resource ID of the bitmap.
  • Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the bitmap is located.
  • the XferMethod determines how the bits in the bitmap will be applied.
  • Line draws a line from X1offset, Y1offset to X2offset, Y2offset.
  • X1offset and Y1offset are the distance from TopX and TopY at which point the line begins.
  • X2offset and Y2offset are the distance from TopX and TopY at which point the line ends.
  • RedRect defines a rectangle with rounded corners.
  • Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle. Radius is the radius of the rounded corners.
  • ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text.
  • StringID is the Resource ID of the text to be drawn on the display.
  • Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the string is located. Spacing is the number of blank bits between letters.
  • ForeGroundColor is the color of the text and BackGroundColor is the color behind the text.
  • Direction specifies the direction at which the text will be drawn.
  • the FontID is the Resource ID for the font to be used in representing the text.
  • CrossRect defines an allowable area within the display within which a drawing may appear.
  • Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the drawing area is located.
  • Width an Height are the dimensions of the drawing area.
  • SCROLLCONTROL ControlName, ControlCode, Left, Top, Right, Bottom, State, TopUpID, TopDownID, BottomUpID, BottomDownID
  • SCROLLCONTROL generates a bitmap control which displays a vertical scroll bar with top and bottom arrows.
  • ControlName is a SYMBOL. Its assigned value is the Resource ID for the control.
  • ControlCode is the value generated when the control on the touchscreen is pressed or released.
  • Left is the left most X coordinate of the displayed control.
  • Top is the upper most Y coordinate of the displayed control.
  • Light is the right most X coordinate of the displayed control.
  • “Bottom” is the lower most Y coordinate of the displayed control.
  • State is the default settings for the state flags.
  • TopicUpID is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active but not pressed.
  • TopDownID is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active and pressed by the user.
  • BottomUpID is the Resource ID of the bottom arrow bitmap that is drawn on the display when the control is active but not pressed.
  • BottomDownID is the Resource ID of the bottom arrow bitmap that is drawn on the display when the control is active and pressed by the user.
  • TEXTBOXRESOURCE ControlName, ControlCode, Width, Height, Left, Top, Right, Bottom, ScrollID, StringID, FontID, Box, Type, Radius
  • TEXTBOXRESOURCE generates an allowable area on the display for text and an optional scrollbar and fills the area with scrollable text.
  • ControlName is a SYMBOL. Its assigned value is the Resource ID for the control.
  • ControlCode is the value generated when the control on the touchscreen is pressed or released.
  • Width and Height are the dimensions of the text box, including the scroll bar.
  • Left is the left most X coordinate of the displayed control.
  • “Top” is the upper most Y coordinate of the displayed control.
  • “Right” is the right most X coordinate of the displayed control.
  • Bottomtom is the lower most Y coordinate of the displayed control.
  • ScrollID is the Resource ID of the scroll control used in the text box.
  • “StringID” is the Resource ID of the string that is drawn when the display is first shown. “FontID” is the Resource ID of the font with which the string is drawn. “BoxID” specifies that the box will not be drawn or will be drawn with square or rounded corners. If rounded corners are specified, “Radius” defines the radius of the rounded corners.
  • OS 400 software that the Main Processor 101 executes is organized into several units called Managers. Each Manager performs a specific task when called upon by the OS 400 .
  • the Memory Manager 402 allocates blocks of memory and resources for use by an application program 434 .
  • the Display Manager 404 controls what is shown on the LCD ( 180 in FIG. 3). It can control what is shown over the entire LCD or just a portion of it.
  • the Display Manager 404 generates a display based primarily on specified Resources held in memory. The display can, therefore, be modified by changing the content of the Resource rather than by changing the Display Manager code 404 .
  • the Control Manager 406 creates and destroys controls as well as handles the user responses to the interactive graphical controls displayed on the LCD. When a user selects a graphical icon shown on the LCD, the Control Manager 406 responds to the Event and may alter the graphical display in response to the user action. All icons and graphical entities displayed by the Control Manager 406 originate as a Resource and may, therefore, be changed.
  • the Graphic Manager 408 is responsible for the actual drawing of the entities shown on the display. It also loads the alphabetic fonts used for text in the display.
  • the Event Manager 410 will queue or mask events that arise during the operation of the remote control 10 . These events include user interaction with the touch screen 24 or key pad 20 and system events generated by timers or by any of the communication ports. Events in the queue are accessed by Application Software 434 .
  • the real-time clock (RTC) Manager 412 generates a periodic timing mark as an Event. It also keeps the current time.
  • the Touch Manager 414 generates an Event each time the touch screen 24 is touched and sends the event to the event manager 410 .
  • the Communication Manager 416 handles all serial messages between the Applications 430 or other Operating System software modules and those peripherals connected on the serial buses such as the Infrared Controller 140 , and the ADC and Touch Decoder 170 .
  • the RF I/O manager 418 handles all two-way data communication between Applications 430 and remote resources such as server applications running in other devices (PCs, set top boxes, TV sets, CD jukeboxes, etc.).
  • the Printer Manager 420 coordinates communication between the remote control 10 and the printer 710 , as well as, in some applications, between a consumer electronic device and the printer 710 .
  • Devices can send information to the remote control 10 (or the remote control 10 can retrieve information) during the normal course of using the system. Data transfers can happen automatically or by user request. In some applications the data is stored within memory, e.g., memory 110 , until the remote control 10 is subsequently docked in the charging base 700 . Data can then be printed out either automatically or by user request.
  • the Printer Manager 420 may either alone or in conjunction with another manager, e.g., the Display Manager 404 , present the user with a menu of stored items for which he could select those desired to be printed out.
  • the remote control 10 provides a two-way infrared or two-way RF system (or other communication technology). Using this communication technology, the remote control 10 can access, process, and/or display data from remote sources.
  • the RF I/O manager 418 (or IR I/O manager in the event a two-way IR communications path is used instead) accepts data from Applications 430 running under the OS and prepares the data for communication by splitting the data into packets and adding packet header information. It also accepts received packets, ensures packet integrity and assembles the received packets into data to be sent to the Application(s) 430 .
  • the RF I/O manager 418 interacts directly with the two-way RF hardware previously described (e.g., RF Controller 120 and RF Transceiver 130 ). Checksums are appended to outbound data and the packets are sent. Inbound data is received from the communications hardware. Error free packets are passed to the Application interface and a confirmation of successful reception is sent to the originator. Packets with errors are discarded and up to three retransmit requests can be sent to the originator.
  • the two-way RF hardware previously described (e.g., RF Controller 120 and RF Transceiver 130 ).
  • Checksums are appended to outbound data and the packets are sent. Inbound data is received from the communications hardware. Error free packets are passed to the Application interface and a confirmation of successful reception is sent to the originator. Packets with errors are discarded and up to three retransmit requests can be sent to the originator.
  • the data communication protocol implemented by the RF I/O Manager 418 comprises communication packets which can carry data or commands. Each packet comprises a header and the attached command or data. Commands are transfers of non-data. They are acted upon, not stored.
  • a sequence is any number of packets that comprises an entire transfer of data, such as a complete text stream, a complete bitmap file, a Web page or any other complete data resource.
  • a block is a series of data packets whose number does not exceed 128. A single block or multiple blocks may constitute a sequence.
  • the Communication Packet format is illustrated in Table 1 below.
  • the Byte Count is the total number of bytes in the packet, including the header.
  • the To Address is the address of the receiving station (usually a server or gateway).
  • the From Address is the address of the remote control 10 .
  • the Packet Number is used to ensure every packet is sequential.
  • the Most Significant Bit of the Packet Number indicates a command packet when set to a Logic 1.
  • a unique Port Number can be assigned to each unique data sequence, so that packets of different sequences can be transmitted in an interleaved fashion. Each separate stream of data packets should have its own port number as well as its own packet number sequence.
  • each command comprises a one byte command code followed by a variable number of parameters, as:
  • the STX command indicates the start of the transmission of a series of packets comprising a data sequence. This command is accompanied by parameters which specify the total number of packets in the sequence and the Port Number assigned to the sequence. Once an STX command is answered by an ACK, any communication using the specified Port Number will be associated with that specific “sequence” of data.
  • the ETX command follows after a complete sequence has been transmitted, and contains the checksum for the entire sequence (excluding the headers). If a NAK is sent as a reply to an ETX command it is meant to signal retransmission of the entire sequence.
  • the ACK command signals a successful transfer of a data Block or Sequence.
  • the NAK command signals an unsuccessful transfer of a data block or sequence.
  • NAK also constitutes a request for retransmission of the data not correctly received.
  • the ETB command indicates the end of a block of data. Also causes the packet sequence count to be reset to zero.
  • the IR Controller 140 communicates with applications 430 resident in the remote control 10 using a pre-defined set of commands. Since the actual mechanisms and formats for transmitting such IR signals are well known in the art—see, for example U.S. Pat. No. 4,959,810 which is incorporated herein by reference in its entirety—it will not be described further herein.
  • the SendIR command is issued to the IR Controller 140 to cause an IR code to be transmitted.
  • the SendIR command is a six byte packet including the fields RcdLength(1), 01h, DeviceTypeNum(2),KeyCode(1) and KeyFlag(1) where:
  • RcdLength is a one byte value indicating the total number of bytes in this packet.
  • 01h is a command type which identifies this command as a “send IR” command.
  • DeviceTypeNum is a combination of DeviceType and DeviceNumber as follows:
  • Bits 11..0 DeviceNumber represents a four (decimal) digit number which identifies a set of IR functions to control a specific device (e.g. “Sony TV set”).
  • KeyCode identifies the function to be transmitted, according to Table 3 below.
  • KeyFlag indicates if any special processing is required. For example, if KeyFlag bit 7 is “on” this indicates that this IR command is part of a macro sequence playback, requiring that the IR data frame be repeated a certain minimum number of times. If bit 5 is “on” this indicates that the IR Controller should use a learned IR code rather than it's pre-programmed code.
  • IR Controller device types Letter Device Type Device Name Representation 0 TV T 1 Cable C 2 Video Accessory N 3 Satellite/DSS S 4 VCR V 5 Cassette Tape K 6 Laser Disk L 7 Digital Audio Tape J 8 Digital Video Disk Y 9 Tuner/Amplifier R 10 Amplifier/Misc. Audio A/M 11 Compact Disk D 12 Phonograph P 13 Home Control H 15-31 Reserved
  • the exemplary remote control hardware and operating system are capable of supporting multiple application programs.
  • two application programs coexist in the unit: one which provides conventional remote control (“clicker”) functionality 432 , and another associated with the two-way RF communication subsystem which provides general purpose text and graphics display capability in the form of a compact browser utility 434 .
  • a printer application 436 may be incorporated with the applications 430 to facilitate printer functionality, as well as communication with a segregated printer, e.g., printer 710 .
  • the application which provides conventional consumer appliance remote control functionality is preferably the application that is launched by default upon power-up (i.e., insertion of batteries into the unit) and is the mode of operation to which the user usually returns.
  • FIG. 1 illustrates a typical appearance of the LCD touch screen 24 when the remote control 10 is in the mode of operation for providing remote control functionality. It will be appreciated that many other displays are also available, depending on the type, model, and functionality of the device(s) to be controlled.
  • the remote control application need not display key icons for functions not supported by a particular device, so the actual display may vary according to the specific device brand or even model currently set up. For example, even though the IR Controller and the remote control screen layout may in general support menu operations (see KeyCodes 32 through 38 in Table 1), if the specific device currently set (e.g., a Goldstar TV) does not offer this feature, those keys need not be displayed.
  • FIG. 5 illustrates the top level program hierarchy within the remote control application 432 .
  • the remote control application 432 acquire events from the event queue (placed there by the Event Manager 410 ) and use other Managers and resources to perform their intended function.
  • the main menu sub-application 500 is called at the time the remote control 10 receives power, for example the time at which the batteries are installed. It initializes all the Managers 400 , places a welcome message on the LCD display 24 , initializes and loads all applications and resources that may be used. After a set period of time (a few seconds), the welcome message should be replaced by the default device screen. A typical default device screen is shown in FIG. 1.
  • the main menu sub-application 500 waits for an Event.
  • Event is an internal main processor timeout which, in this specific case, turns off the display and system CPU to save battery power.
  • Another such Event is a user keypress. In this latter regard, the user may press one of several types of keys, creating Events to which the main menu sub-Application 500 responds.
  • One or more of the control keys shown on the display 24 generates an Event invoking a sub-application 503 that produces a new display.
  • Activation of another group of keys both the “soft” keys shown on the display and the hard keys in the keypad 20 ) will invoke a sub-application 504 that transmits an infrared code.
  • the send IR sub-application 504 communicates with the IR Controller 140 via the operating system's communication manager using the IR Controller command structure described earlier to cause the appropriate device IR command signal to be transmitted.
  • Activation of other keys can invoke a sub-application 502 that will turn on the display backlighting. Yet another key activation can invoke the setup sub-application 501 that permits the user to customize the remote control 10 . Activation of still other keys can invoke a different application 508 and pass control of the unit to that application.
  • activation of a key labeled “iMosiac” may invoke the Browser application 434 which is described in greater detail below.
  • Customization can be provided by three menu-driven, sub-applications, namely, the device personalization sub menu 505 , the device setup sub menu 506 and the system sub menu 507 .
  • the device setup sub menu 506 shown in FIG. 6, comprises five sub-applications that afford the user the opportunity to access all of the infrared control codes required for operation of an entire home electronics system. Control codes may be pre-stored in the memory 110 of the remote control 10 , learned into the memory 110 by using the remote control that came with a device, or downloaded from a remote source, e.g., from a source via the Internet.
  • the setup by brand sub-application 510 is utilized. This sub-application is based in part on technology disclosed in U.S. Pat. No. 5,614,906 entitled “Method for selecting a remote control command set” that is incorporated herein by reference in its entirety.
  • the setup by search sub-application 516 permits the user to select control codes by linearly stepping through the data base of codes by device type, trying each one in turn.
  • the setup by code sub-application 513 permits the user to simply enter a known code number to configure the remote control 10 to make accessible the control codes to control the device(s) corresponding to the known code number.
  • the new code sub-application 519 allows the user to try new codes received during a prior download over the Internet or through customer service via the telephone. Selected/downloaded control codes may be made available for user access by using the add function 511 or used to replace currently accessible control codes using the replace function 512 .
  • the delete sub-application 522 can be used to erase all selected control codes, allowing the user to start over with a clean slate.
  • the personalization sub menu 505 of sub-applications shown in FIG. 7 offers some very powerful sub-applications to the user that permit the remote control 10 to be fully personalized to meet specific needs of a user.
  • the macros sub-application 530 comprises five different functions.
  • the macros sub-application 530 is based on technology disclosed in U.S. Pat. No. 5,959,751 entitled “Universal Remote Control Device” which is incorporated herein by reference in its entirety.
  • the macros sub-application permits the user to add 531 , view 532 , delete 534 , copy 533 (e.g., onto another screen) or delete all 535 macro functions.
  • the move key sub-application 540 is utilized.
  • the move key sub-application 540 can be used to move the channel up function for the TV device such that it is accessible from the VCR device screen.
  • This Sub-Application is based on technology disclosed in U.S. Pat. No. 6,014,092 entitled “Key mover” that is incorporated herein by reference in its entirety.
  • a user may delete all 542 keys that have been moved.
  • the learn sub-application 550 is utilized to teach the remote control a new function from another remote control.
  • the learn sub-application is based on technology disclosed in U.S. Pat. No. 6,097,309 entitled “Remote control learning system and method using signal envelope pattern recognition” that is incorporated herein by reference in its entirety.
  • a new function can be learned 551 by the remote control and assigned to a pre-defined function key or to a blank key. All learned functions can be deleted 552 .
  • the label keys sub-application 560 is utilized to label new device keys 561 , new function keys 562 or to edit existing key labels.
  • the label key sub-application 562 makes available symbols and lower and upper case characters as well as the backspace, space, and shift for use in creating alphanumeric key labels.
  • a caps lock function can also be provided.
  • the key magic sub-application 570 is utilized.
  • the key magic sub-application 570 is based on technology disclosed in U.S. Pat. No. 5,515,052 entitled “Universal remote control with function synthesis” that is incorporated herein by reference in its entirety.
  • a new function can be added 571 and assigned to a pre-defined function key or to a blank key. All added functions can be deleted 572 .
  • Any key on any device page may be viewed and deleted by the view & delete function 595 .
  • the remote control 10 may also be upgraded and customized by the methods taught in U.S. Ser. No. 09/615,473, filed Jul. 13, 2000, entitled “Customizable and Upgradeable Devices and Methods Related Thereto,” which is incorporated herein by reference in its entirety.
  • the volume lock sub-application 580 affords the user a means for controlling the volume for one device (the amplifier, for example) from another screen dedicated to controlling another device like the TV, for example.
  • the user may institute the locking feature using the lock function 581 or may remove the feature using the unlock function 582 .
  • the home theater sub-application 590 offers the user a means for creating on one or several screens a set of keys that are those most often used keys in a home theater system.
  • the user may configure the feature using the configure function 591 or may remove the feature using the reset to default function 592 .
  • the system sub menu 507 of sub-applications offers the user the ability to affect the overall operation of the remote control.
  • the upgrade sub-application 600 permits the user to add 601 codes from a remote source such as a server on the Internet, via a cable set top box, etc.
  • This application makes it easy for the user to always have the most current and/or correct codes in the subject remote control, even after the purchase or upgrade of new devices for the family home entertainment system.
  • This sub-application may be based on technology disclosed in U.S. Pat. No. 5,537,463 entitled “Magnetic modem in a remote control,” U.S. Pat. No. 5,228,077 entitled “Remotely upgradable universal remote control” and in U.S. Pat. No. 5,689,353 entitled “Remote control with two-way data coupling” that are incorporated herein by reference in their entirety.
  • the add function 601 and the replace function 602 make it possible for the user to add or replace codes after the upgrade process is complete.
  • the LCD sub-application 610 provides a means for the user to compensate for any drift in the calibration of the LCD 24 during long-term use.
  • the user may invoke the calibrate function 611 to return the LCD 24 to factory-level settings.
  • the user can receive audible feedback that a key has been selected.
  • a soft clicking sound is issued by the Piezo Buzzer. This sound may be turned on or off using the sound on/off sub-application 630 .
  • the remote control 10 To navigate and browse HTML-formatted data supplied from an external source (e.g., via a two-way RF or IR communications link) the remote control 10 includes a browser application 434 that supports a sub set of XHTML-Basic and Compact HTML as proposed and defined by the World Wide Web Consortium. In this manner, the remote control 10 provides for customized user interface and data display since, within the constraints of the remote control hardware (screen size, color, memory availability, etc.), any screen layout of text, images, and/or hyperlink buttons is possible.
  • the remote control hardware screen size, color, memory availability, etc.
  • any external device equipped with a compatible RF or IR transceiver such as a personal computer, cable or satellite set top box, home automation controller or security system, CD jukebox, TV set, and the like, can avail itself of the remote control 10 as a data display and interface device via a well-understood standardized set of HTML commands.
  • the remote control browser can also offer extra META statements as special extensions of the standard to facilitate use in situations which are not classically Web-based.
  • Both of these extensions are useful for authoring displays in which the user is not necessarily aware that the interface presented to him is HTML based via a browser—for example, simple TV guide applications and the like.
  • the “Refresh” feature is useful in applications where the data content to be displayed on the remote control 10 needs to be synchronized with a TV or audio program, for example enhanced TV services or karaoke lyrics.
  • the browser application can also be adapted to support a special extended HTML tag type, “IROP.”
  • IROP extended HTML tag type
  • the remote control 10 can be used in connection with HTML pages that are authored to support “buttons” for use in sending IR commands.
  • User activation by pressing the “ABC” area on the touch screen would cause the browser to send to the IR Controller 140 a SendIR command containing KeyCode number 10 followed by a SendIR command containing KeyCode number 7 , thus causing the IR Controller to transmit the IR codes for the digits “zero” and “seven”, i.e. selecting channel 7 on the current consumer electronic device used for channel changing (TV, Cable box, Satellite receiver, etc.).
  • this extended IROP tag is useful in situations where it is desired that a user be provided with the ability to interact with an HTML page to initiate the transmission of IR command codes to consumer appliances.
  • HTML pages include TV guides, CD jukebox managers, and the like.
  • the user may, for example, press a soft button 910 (such as “iMosaic” 41 on the regular remote control application display screen 24 .)
  • the browser application starts by initializing itself and the two-way communication interface (via the RF I/O Manager in the illustrative embodiment) 912 .
  • the remote control 10 displays the basic Browser screen layout, an example of which is shown in FIG. 11, and issues a request to load a preset home page 914 , 916 .
  • FIGS. 10 a through 10 g provide detailed flowcharts of the overall operation of the exemplary Browser Application, showing how subsequent processing of the downloaded HTML data is performed.
  • FIG. 10 a there is shown the overall flow of the exemplary Browser application.
  • the remote control 10 is an event-driven system, so once initialized, the Browser Application simply waits for an Event to occur 1002 .
  • Browser-related Events can be classified into one of three general categories: KeyDown Events 1004 which result from user activation of any of the keys shown in FIG. 11 (hard or soft); HTML Events 1006 which result from user activation of an HTML generated item in the current display area (for example a hyperlink, check box, text input area, etc.); and I/O Events 1008 resulting from activity on the two way communication link, timers, or other system-generated interrupts (a low battery indication, for example).
  • KeyDown Events 1004 which result from user activation of any of the keys shown in FIG. 11 (hard or soft)
  • HTML Events 1006 which result from user activation of an HTML generated item in the current display area (for example a hyperlink, check box, text input area, etc.)
  • I/O Events 1008 resulting from activity on the two way communication
  • internal priorities within the Browser Application are arranged such that, while in process of loading and displaying a page of data via the RF link, it will ignore other inputs such as HTML Events. In other words, it is designed such that a user is required to wait until the current page is completely displayed before initiating any action such as a hyperlink selection. This is evident in FIG. 10 a where the “IDLE” status of the Browser application (i.e., not currently loading data via the RF link) is used to determine whether KeyDown and HTML events are processed or not. It will be appreciated that other implementations are also possible, in particular providing the ability to abort a HTML download in progress and initiate a new one by pressing a key or hyperlink in a partially loaded and displayed page.
  • FIG. 10 b illustrates the processing of a KeyDown Event, specifically the action taken in response to each of the possible key press user inputs. As can be seen, these actions are used to effect page navigation and browser control in addition to providing means to configure the Browser Application and to return the unit to the (default) Remote Control Application.
  • FIG. 10 c illustrates the processing of an HTML Event.
  • HTML Event In the HTML subset supported by the exemplary Browser Application, only four classes of HTML Event can occur: Activation of a hyperlink 1010 , activation of a form control field 1012 , expiration of a “refresh” META statement timer (a special extension to standard HTML which allows periodic reloading of a page), 1014 or activation of a IROP field (a special extension to standard HTML which allows IR commands to be transmitted to consumer appliances) 1016 .
  • Activation of a hyperlink results in a request for the contents of the specified URL to be issued via the communications link, after which the Browser Application returns to the “Get Next Event” waiting state shown at the top of FIG. 10 a pending receipt of the requested data.
  • Activation of a forms control function results in the appropriate action as shown in FIG. 10 b (note that not all possible HTML forms functions are supported by the subset, unrecognized control requests are simply ignored), again followed by a return to the “Get Next Event” waiting state.
  • Expiration of a “refresh” timer causes a request to be issued via the communications link for the URL specified in the META statement (or, if no URL is specified, the current page to be automatically reloaded) and a return to the “Get Next Event” waiting state pending receipt of the requested data.
  • Activation of an IROP control causes the Browser to issue SendIR commands to the IR Controller, as described earlier, also followed by a return to the “Get Next Event” waiting state.
  • FIG. 10 d illustrates the processing of an RF I/O Event. All communications transactions are preferably timed in order to allow appropriate action to be taken by the Browser in the event the communications link is interrupted, for example by the user wandering out of RF range.
  • the first I/O Event that is checked for is a timer expired status 1020 . If there is a Port currently open (i.e., activity in progress) the timer expired event is handled as shown in FIG. 10 e, described in more detail below. If the Event is an “RF Buffer Ready” event 1022 , indicating that there is received data ready for processing, the event is handled as shown in FIG. 10 g, described in more detail below.
  • An RF buffer overflow event 1024 signifies an error condition, handled as shown in FIG. 10 f, described in more detail below. If the sending (server) side issues a “Cancel” command (a request to abort transmission), this event 1026 is handled in a similar manner to a timeout event. All other types of events 1028 represent conditions which should abort any page download currently in progress (e.g. a low battery condition), and thus result in the Browser issuing a “CANCEL” request to the server (the inverse of the server “CANCEL” described previously) provided a Port is currently open.
  • FIG. 10 e shows the error processing invoked in the case of a timeout or a server initiated “CANCEL” request when the Browser application is not “idle,” i.e., it is loading HTML or image data via the RF link. If a given time, e.g., three seconds, has not elapsed since the last activity on this port 1030 , timing continues without any action. If the given time has been reached or exceeded, the Browser issues a “CANCEL” request to the server 1032 . It then determines if a given number of retries, e.g., three, have already occurred for this particular request 1034 . If the number of retries has not been exceeded, the Browser reissues the request 1036 .
  • a given time e.g., three seconds
  • the Browser takes error action as appropriate: in the case of a failed HTML page download it displays an error message to the user 1038 (FIG. 21 is a example of such a message); if the failure occurred during the download of an image 1040 , the Browser simply skips display of that image and proceeds to request the next image 1042 , if any exists. (The processing of HTML and requests for image data is described in more detail later in conjunction with FIG. 10 g .)
  • FIG. 10 f shows the error processing that occurs in the event of a buffer overflow. As can be seen, the actions taken by the remote control 10 are similar to those described above in conjunction with an exhausted retry count.
  • FIG. 10 g shows the processing steps that occur upon receipt of a buffer fall of data Events from the RF I/O Manager.
  • the Browser first checks its internal status to determine if it is currently expecting HTML or image data 1050 . If expecting HTML data, the HTML page is sent to the HTML parser 1052 , which processes the HTML data and breaks it down into individual elements for display (text strings and images), position coordinates for each hyperlink or control within the display, and a table of control-link relationships. The HTML parser also sets the appropriate timer if a “refresh” META statement is encountered. When the HTML parser has completed its analysis, the display information is passed to the Display Manager 1054 for rendering on the LCD screen.
  • the Browser then issues requests for any graphic images called out in the HTML source, loading and displaying the graphic images one by one until all specified graphics have been displayed. This is achieved by issuing a request for the next graphic file 1056 via the RF communications link and then returning to the “Get Next Event” state (FIG. 10 a ).
  • the next RF buffer ready Event will find the Browser in an “expecting image data” state. This will cause the opposite branch to be taken at the top of FIG. 10 g.
  • the Browser after making any necessary adjustments to page layout resulting from the insertion of the new graphic 1058 (in some instances the graphic size may have been predefined in the HTML, in which case no adjustment is necessary since the appropriate area is already allocated, but in others the final graphic may differ in size from the “place holder” icon and require adjustment to the balance of the page layout to accommodate it), displays the graphic data just received 1060 and issues a request for the next graphic. After the last graphic has been downloaded and displayed, the Browser set its internal status to “IDLE” (thereby enabling recognition of HTML and KeyDown Events) and returns to the “Get Next Event” state (FIG. 10 a ).
  • FIG. 11 shows an exemplary, basic touch screen display layout for the remote control Browser.
  • the layout comprises a toolbar 1100 containing the usual Browser control items (e.g., “back,” “forward,” “reload,” “stop,” “go to,” and “home” illustrated from left to right), a key 1120 to access previously entered bookmarks, a general display area 1150 in which HTML formatted data is displayed, and a scroll bar 1140 used to navigate pages of data which are longer than the display space.
  • Browser control items e.g., “back,” “forward,” “reload,” “stop,” “go to,” and “home” illustrated from left to right
  • key 1120 to access previously entered bookmarks
  • a general display area 1150 in which HTML formatted data is displayed
  • a scroll bar 1140 used to navigate pages of data which are longer than the display space.
  • the screen may include two control elements specific to the browser application, namely, a key 1130 to access set up routines used to adjust items such as RF link addresses, home page URL, etc., and a key 1110 used to return the unit to the basic remote control application 432 when use of the Browser is complete.
  • the “home page” URL first loaded by the Browser application need not be Web based in the classical sense. Rather, the “home page” may be an address pointing to an HTML formatted interface to a home control system as illustrated in FIG. 12.
  • the “home page” illustrated in FIG. 12 shows an example of how the universal remote control 10 can display simple icons and messages 1202 useful in receiving information from appliances around the home and, in turn, controlling them.
  • the “home page” initially loaded might take the form of a TV guide display loaded from a cable or satellite set top box including program viewing information 1302 , as illustrated in FIG. 13. Note that this particular example makes use of the “full screen” META statement 1300 as described above to hide the generic browser controls (e.g., “back,” “forward,” “reload,” etc.) from the user.
  • FIG. 14 illustrates the use of the universal remote control 10 as part of a two-way communication system.
  • the remote control 10 is used as a platform to browse the Internet, using a personal computer 1420 as a gateway or proxy server.
  • Requests by the user of the universal remote control 10 for access to certain information located on Web pages on the Internet are sent through the RF I/O Manager 418 and RF Module 125 to a matching RF transceiver unit 1410 which is attached to the personal computer 1420 via one of its serial ports 1415 .
  • Software resident in the personal computer 1420 including an HTTP interface and server application 1440 formats the request appropriately and forwards it to the specified Web URL.
  • the personal computer 1420 When a response to a request is received at the personal computer 1420 , the personal computer 1420 performs any format conversion required for compatibility with the subset of HTML supported by the remote control 10 , and then forwards it to the remote control 10 via the reverse of the path described above. In this manner, Web content may be ultimately displayed on the universal remote control 10 .
  • the PC application that provides the Internet access for the remote control 10 is called the server application.
  • the server start up module 1500 is invoked when the server application is started on the personal computer 1420 .
  • the server application manages the display (to the PC screen) and internal settings 1510 , the transfer of data 1520 between the Internet and the remote control 10 , and the external serial port 1540 to which the PC-side RF transceiver unit 1410 is attached.
  • serial messages are received 1542 they are placed in an internal data buffer 1544 from which they are subsequently processed and delivered to the Internet 1522 , 1524 , 1526 .
  • Internet data is received 1526 , then it is converted to a compatible format if necessary 1528 , 1530 and then sent to the remote control 10 for display 1532 .
  • the gateway for example a cable or satellite set top box, a Web-enabled TV set, a residential home gateway controller, a Web-enabled game console, a personal video recorder, etc.
  • FIGS. 18 - 20 depict exemplary bases 700 connected to printers 710 .
  • FIG. 18 illustrates the remote control being placed in a cradle-style base 700 a.
  • the cradle-style base 700 a is connected to a separate thermal printer 710 a.
  • the printer 710 a supports supply paper 720 , which may be conveniently supplied in conventional roll form or flat form.
  • Printed paper 722 exits the discharge opening 724 , which is preferably an elongated slot.
  • FIG. 19 illustrates a base 700 b having a top-mounted integral printer 710 b.
  • FIG. 20 illustrates a base 700 c having a side mounted paper supply in the form of a spool 726 .
  • the paper 722 exits the discharge opening 724 that opens on the opposite side of the base 700 c.
  • a tear-bar 728 mounted parallel to the discharge opening 724 provides an efficient means of removing printed paper 722 (not shown in FIG. 20).
  • a removable paper supply cover 730 removably attaches to the first side of the base 700 c and maintains the integrity of the supply paper 720 .
  • the printers 710 provide a convenient method for obtaining a hard copy of data from the remote control 10 .
  • the remote control 10 can act as an interface with a consumer electronic device to obtain hard copies of data.
  • the data may reside within memory in the consumer electronic device (e.g., a user manual) or the consumer appliance can act as a conduit for information obtained from another source (e.g., a set-top box connected to the Internet).
  • coupons 740 and 742 shown in FIG. 21 may have been requested by a user from a PC for instance.
  • Targeted coupons (or advertising) may be automatically downloaded into the remote control 10 based on the type of program content (e.g., which news shows and entertainment shows) for which the user has a preference.
  • a user that views a predetermined percentage or quantity of outdoor programs may be sent camping coupons. While coupons are used for illustrative purposes herein, it will be appreciated that many other types of printable material are suitable for output using the system described. For example, confirmation of orders placed with shopping channels, menu listings from local restaurants, driving directions to advertised businesses, tickets to events, etc., may all be obtained through the remote control 10 . Associated listings of additional material, for example books, videos, sound tracks, etc. related to shows watched, or being watched, maybe sent or requested. When coupled with the aforementioned browser/internet capability, the printer 710 may be used to obtain a hard copy of an email, for example.
  • the display module 180 can be used to capture the image in memory 110 for later printing with printer 710 .
  • FIG. 22 shows a remote control 10 displaying a coupon 740 and “Print” button/icon 2200 .
  • the print icon 2200 see also FIGS. 10 a and 10 b
  • the “Send Image to Printer” request/command which results in printing only the active region of the display, is processed as depicted in FIGS. 24 through 26.
  • a complete screen dump of the display may also be printed.
  • the bar code is preferably formatted using HTML and HTML TAGS. For many applications it is desirable to send the bar codes as data rather than screen dumps.
  • the printer 710 or the printer module 706 (or 706 ′ in FIG. 23) is then provided with software algorithms for printing out various industry standard formatted bar codes. This approach ensures bar code compatibility with pre-existing retail infrastructures, or subsequently determined infrastructures.
  • FIG. 23 illustrates two configurations by which the remote control 10 may interface with a printer 710 .
  • Configuration 1 is representative of a system configuration where the remote control 10 interfaces with the printer 710 via a physical connection, such as contacts 704 of docking station 700 (which is preferably also a charging base equipped with contacts to mate with the remote control's recharging contacts 107 );
  • configuration 2 is representative of a wireless interface where the data is sent through printer control module 706 ′ (which is associated with a base station).
  • printer control module 706 ′ which is associated with a base station
  • the remote control 10 appends a “print data” header to a data block and transmits it over a wireless link, preferably a RF link.
  • the remote control 10 may be adapted to append the appropriate header, for example “scanner data” or “display monitor data” where the print module 706 is more generally an output module that routes the data from the remote control as necessary. Additional data formatting, if desired, can then be performed in the output module or the output device, e.g., the printer.
  • FIG. 24 illustrates a basic process of sending an image (such as coupon 740 ) to printer 710 .
  • the remote control 10 tests if a printer is available (Step 2410 ).
  • the printer available test will comprise sensing printer status via either serial interface contacts 104 (for example) or the RF link through RF antenna 52 .
  • the printer may be unavailable for a variety of reasons, for example if the remote control 10 is not docked, it is out of RF range with the base station, or the printer is communicating but has no paper.
  • the remote control 10 attempts to store the requested data output for later printing, if, for example, memory is available (Step 2412 ). If the printer is available, the remote control 10 transfers the current data (Step 2414 ) and any previously stored data (Step 2416 ).
  • FIG. 25 illustrates how the data is output by the remote control 10 (block diagram 25 a ) along with how the data is handled by a base station (block diagram 25 b ).
  • the remote control 10 determines if the data will be sent remotely or locally (Step 2510 ). Depending of the application, it may be desirable to send data remotely, to a remote base station, even while the remote control 10 is docked in docking station 700 . For other applications, the remote control automatically configures itself to send data either locally or remotely depending on whether or not it is docked.
  • the “Printer” header is appended to the data (Step 2512 ).
  • the data is transmitted (Step 2514 ) via RF link 2516 to the base station.
  • the printer module 706 ′ receives the data block (Step 2518 ) and tests for an output header, specifically a “Printer” header (Step 2520 ). If a “Printer” header is detected, the header is stripped off and the data is routed to the printer 710 (Step 2522 ). If a “Printer” header is not detected, the data can be sent to a personal computer, set-top box, game console with Web access, home gateway, etc. acting as a server 1420 which is linked to the base station (Step 2524 ). To increase system flexibility it is desirable if the destination device communicate status to the remote control 10 .
  • FIG. 26 illustrates via flow charts 26 a and 26 b how status 2610 may be communicated back to the remote control 10 when the remote interface configuration (configuration 2 of FIG. 23) is in use.
  • a data block containing printer status and a “Printer” header is constructed (Step 2612 ).
  • the status data is transmitted (Step 2614 ) via RF link 2616 (note that link 2616 is from the base station to the remote control 10 and link 2516 is from the remote control 10 to the base station).
  • Other data from other components e.g., from the server, may be coupled with the status data and transmitted over link 2616 (Step 2618 ).
  • the remote control 10 receives the data through RF antenna 52 (Step 2620 ) and routes the data to the appropriate applications, e.g., server data to browser application (Step 2622 ) and print data to printer application (Step 2624 ).

Abstract

Portable device to interface with a printer and with a computing device. The portable device may interface with a local printer through a base mated with the portable device or with a remote printer through a wireless communication link. The portable device preferably has standard remote control capability and web browsing capability.

Description

    CROSS REFERENCE TO RELATE APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application Serial No. 60/288,192, filed May 2, 2001, which is incorporated herein by reference.[0001]
  • BACKGROUND OF THE INVENTION
  • This invention relates generally to remote controls and consumer electronics, and, more particularly, relates to printer devices. [0002]
  • Consumer devices continue to become more complex, and for many consumers, more difficult to fully understand and operate. The first consumer electronic devices, radios and, later, televisions, had no remote controls. The controls then were simple—a combination power switch and volume control and a tuning control. With the advent of the remote control, new features were added—one of the first being the volume “Mute” feature. Soon, it became possible to perform many functions on the TV or the radio (now part of a larger system of amplifier, pre-amplifier, tuner and speakers). [0003]
  • New, and eventually popular, consumer electronic devices were later introduced, including the VCR, CD player and more recently, the DVD player and PVR (personal video recorder). The VCR was initially introduced without a remote control, but quickly remote controls were added to the product offering. Early VCR remote controls simply controlled the power and the transport mechanism (“Play,” “Stop,” “Pause,” “Rewind,” “Fast Forward” and “Record”). Today, VCR remote controls have far more features. For example, they permit the adjustment of tape tracking, the selection of programs for future recording, direct channel access, frame-by-frame program viewing and the ability to set the VCR's clock. To this end, the VCR remote control has grown from seven or eight keys to twenty or more. [0004]
  • The CD player, when first introduced, came with a remote control. The first CD players held a single disk and were easy to control. Today, a consumer can buy a CD player that holds two hundred or more disks. This CD “jukebox” permits the consumer to painstakingly enter the title of each disk by remote control, and control which disk and track of that disk will play next. This remote control has also grown from ten keys or so to over thirty with many keys performing two or more functions. [0005]
  • Not only have the devices and their remote controls become more complex, but there are now many more devices that consumers are adding to their family room. Around the time of the Great Depression, the family would sit around the radio, the only electronic entertainment device of its time. Television was introduced in the 1950s and by the 1960s, many homes had one. VCRs were introduced in the 1970s. Today virtually every home has at least one TV and VCR. CD players were introduced in the 1980s and DVD players and digital satellite systems were introduced more recently in the late 1990s. All of these devices, and many more, now arrive in the home with a remote control. [0006]
  • It has become far more complex than ever before to simply turn the electronic family entertainment system on. While for some families the TV can still be turned on with the press of one key on the TV remote control, for other families, the pre-amplifier, amplifier and cable or satellite have to be turned on, too. To watch a rental movie, the VCR or DVD player has to be turned on. Finally, all these devices have to be controlled —volume set, the “Play” mode activated, the TV tuned to the right channel, and so on. So, rather than maintain a plethora of remote controls on the coffee table, consumers turned to universal remote controls or larger control systems which consolidated many, if not all, of the remote controls in the home into one, more easily used device. [0007]
  • Universal remote controls available today perform a valuable function, consolidating three, four, five and more remote controls into one device. Typically, the universal remote control simplifies operation by reducing the number of keys, and therefore, the number of features available to the consumer. With the same number of keys as found on one TV or VCR remote control, the universal remote control can operate the basic functions of several devices. For many consumers, the basic functions are enough for day-to-day use. [0008]
  • For consumers with a more complex entertainment system or for those desiring control over a larger range of functions, extensive consumer electronic control systems are available. These systems can be configured to control the family entertainment system, the home alarm system, heating and air conditioning, lights and the drapes. These systems put the consumer in intimate contact with all possible electronic and electrical functions of the home. [0009]
  • For companies that provide remote controls, consumer electronic devices continue their march toward even greater complexity. A new wave of devices are in development now and include, among others, digital TV, personal digital assistants with two-way communications and products that converge the TV and the PC. Thus, a new form of easy-to-use remote control will be required to meet the needs of consumers as these new devices are integrated into the home. In addition, to appeal to the largest number of consumers, this new form of remote control must be inexpensive. Furthermore, to accommodate the continuing growth in complexity of consumer electronic devices, this new form of remote control must possess new features and include the ability to stay flexible. [0010]
  • SUMMARY OF THE INVENTION
  • In accordance with these needs, a remote control comprising print capability is provided. For some applications the remote control functions as an interface between a consumer electronic device and a printer. [0011]
  • A better understanding of the objects, advantages, features, properties and relationships of the invention will be obtained from the following detailed description and accompanying drawings which set forth an illustrative embodiment and which are indicative of the various ways in which the principles of the invention may be employed.[0012]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a better understanding of the invention, reference may be had to a preferred embodiment shown in the following drawings in which: [0013]
  • FIG. 1 illustrates a pictorial drawing of a universal remote control in which the principles of the subject invention may be embodied; [0014]
  • FIG. 2 illustrates an exploded assembly drawing of the universal remote control illustrated in FIG. 1; [0015]
  • FIG. 3 illustrates a block diagram of exemplary hardware for use in connection with the universal remote control illustrated in FIG. 1; [0016]
  • FIG. 4 illustrates an exemplary operating system and hardware hierarchy for use in the universal remote control illustrated in FIG. 1; [0017]
  • FIG. 5 illustrates an exemplary remote control application program hierarchy for use in the universal remote control illustrated in FIG. 1; [0018]
  • FIG. 6 illustrates an exemplary sub-application program hierarchy for use in setting up the universal remote control illustrated in FIG. 1; [0019]
  • FIG. 7 illustrates an exemplary sub-application program hierarchy for use in personalizing the universal remote control illustrated in FIG. 1; [0020]
  • FIG. 8 illustrates an exemplary sub-application program hierarchy for use in establishing the overall system behavior of the universal remote control illustrated in FIG. 1; [0021]
  • FIG. 9 illustrates an exemplary process for initializing a browser application resident on the universal remote control illustrated in FIG. 1; [0022]
  • FIG. 10 illustrates an exemplary operational sequence of the browser application resident on the universal remote control illustrated in FIG. 1; [0023]
  • FIG. 11 illustrates an exemplary browser screen layout capable of being displayed on the universal remote control of FIG. 1; [0024]
  • FIG. 12 illustrates an exemplary browser-based home control screen displayed on the universal remote control of FIG. 1 and the HTML source for use in displaying the control screen; [0025]
  • FIG. 13 illustrates an exemplary browser-based TV guide screen displayed on the universal remote control of FIG. 1 and the HTML source for use in displaying the TV guide screen; [0026]
  • FIG. 14 illustrates a two-way communication system including a computer, a computer network, and the universal remote control illustrated in FIG. 1; [0027]
  • FIG. 15 illustrates an exemplary Server Application Flow Chart for use in connection with the two-way communication system illustrated in FIG. 14; [0028]
  • FIG. 16 illustrates an exemplary display of Web-based data using the browser of the universal remote control illustrated in FIG. 1; [0029]
  • FIG. 17 illustrates the universal remote control illustrated in FIG. 1 docked to an optional keyboard; [0030]
  • FIG. 18 illustrates the remote control being placed in a base that is connected to a separate printer; [0031]
  • FIG. 19 illustrates a base with a top-mounted integral printer; [0032]
  • FIG. 20 illustrates a base with an integral printer have a side mounted paper roll spool and a print channel and tear-bar mounted on the opposite side; [0033]
  • FIG. 21 illustrates sample thermal printed coupons; [0034]
  • FIG. 22 illustrates a remote control displaying a coupon and a “Print” button; [0035]
  • FIG. 23 illustrates two system configurations for interfacing with a printer, namely via a physical connection and via a wireless connection; [0036]
  • FIG. 24 illustrates an exemplary process for sending an image, and more generally data, to a printer; [0037]
  • FIG. 25 illustrates an exemplary process for outputting an image from the remote control; and [0038]
  • FIG. 26 illustrates an exemplary process for communicating print status. [0039]
  • DETAILED DESCRIPTION
  • Referring now to FIGS. 1 and 2, there is illustrated a universal [0040] remote control device 10 in which the teachings of the present invention may be embodied. The remote control 10 comprises a housing 11, itself comprising two parts, an upper housing 12 and a lower housing 13. Included in the lower housing 12 is a battery cover 14, a stylus repository, and a slot 16 through which a liquid crystal display (LCD) contrast control switch 42 may be accessed. Stylus 19 may be located in the stylus repository.
  • The [0041] upper housing 12 has openings through which keys 20, red light emitting diode (LED) 22 and a LCD 24 with a translucent touch sensitive overlay can be accessed. The keys 20 are illustrated as being arranged in a vertical line to the right of the LCD 24 and may comprise (from top to bottom) a “Backlight” key 30, “Volume Up” and “Volume Down” keys 32 and 34, “Mute” key 36, and “Channel Up” and “Channel Down” keys 38 and 40, respectively. The “Contrast Control” switch 42 can be located on the right side of the remote control 10 below the “Volume Up” and “Volume Down” keys, 38 and 40. The upper housing 12 may also include an opening for voice access to a microphone.
  • At the top or forward end of the [0042] remote control 10, there is illustrated an opening for two forward facing infrared LEDs 50 and two side facing LEDs 51. While the LEDs are provided for transmitting command signals to consumer devices, the forward facing LEDs 50 may also perform as an infrared light detector according to the teachings of co-pending U.S. patent application Ser. No. 09/080,125 which is incorporated herein by reference in its entirety. The opening in which the LEDs 50 and 51 are carried may be covered by an infrared-transparent lens 17. The forward end of the remote control 10 may also include an opening for an RF antenna 52. On the underneath portion of the remote control 10 are located openings for a battery compartment 58 and, optionally, a piezo speaker, and/or connection contacts, e.g., battery charging contacts 107. On the left side of the remote control 10 can be placed a phone jack 61 reserved for serial data operations. In certain embodiments, a magnetic modem coupler 71, as described in U.S. Pat. No. 5,537,463 which is incorporated herein by reference in its entirety, can be included to permit transfer of data into the unit via a telephone handset or other source of magnetically encoded signal such as television or P.C. loudspeakers
  • Referring now to FIG. 3, there is illustrated a block diagram of [0043] exemplary operating circuitry 100 of the remote control 10. The operating circuitry 100 may be powered directly by a battery or indirectly from another electrical source. For example, power may be supplied by way of contacts 107, which may for example be battery charging contacts, or by other power sources (preferably a dc power source). The power supply is regulated and monitored by a power conditioning and status circuit 106 which includes provision for recharging the batteries (when the unit is equipped with rechargeable cells) via a set of external contacts 107. The operating circuitry 100 preferably includes a memory bank 110 comprising RAM 111 and Flash memory 112, Main Processor 101 (e.g., a Sharp LU77790A), a Display Module 180 comprising a liquid crystal display glass 182, touch panel overlay 184, electroluminescent backlight 186 and drivers 188.
  • Also included in the [0044] operating circuitry 100 are shown a General Purpose Serial I/O circuit 108, an Infrared Controller 140 (e.g, comprising a Samsung KS88C01424 Microcontroller), an Infrared Transmitter circuit 150, an Infrared Receiver circuit 160, a Analog-to-Digital Converter (ADC) and Touch Decoder Circuit 170 (e.g., comprising a PIC16LC715 Microcontroller or other touch screen controller/decoder chip), a Piezo Buzzer 102, a Key Pad 190 (the electrical diagram equivalent of the elastomeric keyboard 20 shown in FIG. 2), a magnetic modem 71, and an RF Module 152 comprising an RF Controller 120 (e.g., a PIC16F84 Microcontroller) and an RF Transceiver 130 (e.g., an RF Microdevices RF2915 chip). In an alternative embodiment, this RF module 125 may comprise an “off-the-shelf” RF transceiver unit with integral baseband processor such as the “900 MHz Microhopper” available from World Wireless Communications Inc. as part number 011-1882. It will be appreciated that RF modules of other manufacture and/or other technologies (Bluetooth, IEE802.11, etc.) are equally suitable. The RF circuitry is connected to the RF antenna 52 while the IR circuitry is connected to the IR LEDs 50 and 51.
  • The Main Processor (e.g., a Sharp “System on a Chip,” the LU77790A) may be based on a 32-bit, ARM RISC (Reduced Instruction Set Computer) core. In this regard, the Main Processor would comprise the [0045] ARM processor core 300, LCD controller 310, general purpose I/O ports 320, and multiple serial UART ports 330. The Main Processor is provided to manage the entire process of interacting with the user through the backlit, graphical, touchscreen, LCD module 180, the piezo buzzer 102, the key pad 190, the microphone and/or the red LED 235 (LED 22 of FIGS. 1 and 2) and to provide two-way infrared and RF communications through the infrared controller 140 and the RF controller 120.
  • FIG. 3 further illustrates the electrical connections between the various modules such as [0046] connection 200 interconnecting the memory module 110 with the Main Processor 101, connections 210 and 220 interconnecting the LCD 180 with the Main Processor 101, connections 230, 240, 250, 260, and 270 interconnecting the Main Processor 101 with the Key Pad 190, Piezo Buzzer 102, the General Purpose Serial I/O Circuit 108 and the RF Controller 120, Infrared Controller 140, and ADC and Touch Decoder Circuit 170, respectively. Other connections include the connection 252 between the RF Controller 120 and the RF Transceiver 130 and connection 262 interconnecting the Infrared Controller 140 with the Infrared Transmitter 150 and also connecting the Infrared Controller 140 with the Infrared Receiver 160.
  • FIG. 3 also shows that the [0047] remote control 10 can be adapted to mate to a charging base 700 to receive power and/or communications. To this end, the remote control may include recharging contacts 107 and data contacts 104. The contacts 107 and 104 are provided to electrically couple with corresponding contacts 703 and 704 in the charging base 700. The exemplary charging base 700 depicted in FIG. 3 may therefore comprise a power source 701 such as, for example, stepped-down power originating from a household electrical socket, which is connected to contacts 703. The exemplary charging base 700 may also comprise a printer control module 706 that preferable comprises a serial interface (though other types of connection are acceptable) to connect, via connection 708, to a printer 710 and, via contacts 704, to the remote control 10. For some applications the printer 710 is a thermal printer integrated into the charging base 700. The print control module 706 may alternatively be incorporated into the operating circuitry 100 of the remote control 10 or it may be incorporated into the printer 710. Either of the later alternatives allow the printer 710 to be connected directly to the remote control 10. Any of the foregoing configurations allows the remote control 10 to function as a link, or interface, between a consumer electronic device (e.g., PC, home gateway, keyboard, TV, etc.) and the printer 710.
  • FIG. 23 illustrates two configurations for interfacing with a printer. [0048] Configuration 1 is representative of the above-described system configuration where the remote control 10 interfaces with the printer 710 via a physical connection. Configuration 2 is representative of a wireless interface where the data is sent through printer control module 706′ (which is associated with a base station).
  • The electronic configuration illustrated in the block diagram of the operating [0049] circuitry 100 comprises a general purpose, multi-processor system. The operation of the multi-processor system is controlled by internal control software. The control software may include routines, programs, objects, components, and/or data structures that perform particular tasks that can be viewed as an operating system together with one or more applications. The operating system provides an underlying set of management and control functions which are utilized by the applications to offer user functions such as control of consumer appliances, access to Internet data, display of home automation controls, display of TV guide information, and the like. It should be understood that, while the term “remote control” is used herein to designate the physical unit, in terms of the internal software architecture the conventional “clicker” remote control user interface is but one of several possible applications which may co-exist within the unit.
  • Architecturally, the system is organized around the concept of Events and Resources. Events are occurrences which initiate an action. More specifically, an Event is an occurrence that requires a response from the [0050] remote control 10. Events include user-initiated activities such as pressing a physical key on the keypad 20, activating the touch screen LCD 24, speaking into a microphone, etc. Events can also be generated by the Main Processor 101, for example by an internal timer register. In addition, Events can be generated by external means, such as, a communication transmission, etc.
  • In response to an Event, the remote control will typically access one or more of its Resources. A Resource is, in its broadest definition, a block of data. The data is often of a specific (defined) type. Within the [0051] memory 110, each memory data block is preferably identified by its “Resource ID” or by another indication where the Resource is located in the final, complete memory structure. Examples of Resources are bitmaps, strings, and control and display definitions. Generally, Resources are used to configure the remote control 10 to be responsive to the needs of the user. Many Resources are loaded into the memory 110 of the remote control 10 by the manufacturer when the remote control 10 is built. Other Resources may be created or modified by the user and still other Resources can be remotely loaded into the memory 110 by a service center, via the Internet, etc. Resources allow the behavior, look and feel of the remote control 10 to be altered, even after it has been sold and is in the hands of the user. This powerful concept permits the user to personalize the remote control 10 to his or her own tastes.
  • For ease of development, Resources may be instantiated within the [0052] remote control 10 by use of a Resource Compiler running on a PC or equivalent. The Resource Compiler accepts a text description of graphic and control elements and compiles them into memory data structures suitable for use within the remote control 10. Although other mechanisms, e.g., manual compilation, self generation by the remote control operating system under user control, etc., are possible, a PC based Resource Compiler may provide the most efficient method for rapid development of Resources needed for a particular remote control application. Examples of commands which are available in an exemplary Resource Compiler for use in generating the memory data structures for the remote control include:
  • SYMBOL (SymbolName, Expression) [0053]
  • “SymbolName” is the name of a new symbol to be created. “Expression” is an algebraic expression. It may also comprise previously defined expressions. [0054]
  • INCLUDE (FilePath) [0055]
  • “FilePath” points to a Resource residing in disk storage that will be included in the final memory data structure of the remote control. [0056]
  • BITMAP (BitMapName, BitsPerPixel, Width, Height, Radix) [0057]
  • The BITMAP command generates a black and white bitmap Resource. “BitMapName” is the bitmap Resource ID while the “Width” and “Height” size the bitmap. “BitsPerPixel” is set to ‘1’ and “Radix” is set to ‘2’ in the first generation of the remote control product. [0058]
  • FONT (FontName, StartAsciiIndex, EndAsciiIndex) [0059]
  • FONT generates a Resource Table that associates numeric values with bitmaps. This approach permits the use of an unordered set of bitmaps to be used as alphabetic characters or font. “FontName” is a SYMBOL. Its assigned value is the Resource ID of the font. “StartAsciiIndex” is the index value associated with the first bitmap ID. “EndAsciiIndex” is the index value associated with the last bitmap ID. A list of bitmap Ids follows this Command. The bitmap IDs are typically expressions in the form of SYMBOL names. [0060]
  • STRING (StringName, StringCharacters) [0061]
  • STRING generates a String Resource. “StringName” is a SYMBOL. Its assigned value is the String Resource ID. “StringCharacters” comprise the text in the string. [0062]
  • DATA (DataName, [DataSpecifier,[Expr]],DataEnd) [0063]
  • DATA generates a Data Resource. “DataName” is a SYMBOL. Its assigned value is the Data Resource ID. “DataSpecifier” indicates the size of the expressions (“Expr”) that follow it. There can be multiple expressions following a DataSpecifier and there can be multiple DataSpecifiers in a Data Resource. [0064]
  • BITMAPBUTTONCONTROL (ControlName, ControlCode, UpBitMapID, DownBitMapID, InactiveBitMapID, SelectBitMapID) [0065]
  • BITMAPBUTTONCONTROL generates a bitmap push button control. [0066]
  • “ControlName” is a SYMBOL. Its assigned value is the Resource ID for the control. “ControlCode” is the value generated when the control on the touchscreen display is pressed or released. “UpBitMapID” is the Resource ID of the bitmap that is drawn on the display when the control is active but not pressed. “DownBitMapID” is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user. “InactiveBitMapID” is the Resource ID of the bitmap that is drawn on the display when the control is inactive. “SelectedBitMapID” is the Resource ID of the bitmap that is drawn on the display when the control is active and visually highlighted. [0067]
  • STRINGBITMAPCONTROL (ControlName, ControlCode, StringID, FontID, UpBitMapID, DownBitMapID) [0068]
  • STRINGBITMAPCONTROL generates a bitmap push button control on the display with a string drawn over it. “ControlName” is a SYMBOL. Its assigned value is the Resource ID for the control. “ControlCode” is the value generated when the control on the touchscreen is pressed or released. “StringID” is the Resource ID of the string that is drawn when the control is pressed or unpressed. “FontID” is the Resource ID of the font with which the string is drawn. “UpBitMapID” is the ResourceID of the bitmap that is drawn on the display when the control is active but not pressed. “DownBitMapID” is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user. [0069]
  • COMPOSITECONTROL (ControlName, TopX, TopY, ControlCode, Parameters [below], End) [0070]
  • Rect: Xoffset, Yoffset, Width, Height, ForeGroundColor, BackGroundColor [0071]
  • BitMap: BitMapID, Xoffset, Yoffset, XferMethod [0072]
  • Line: Xloffset, Yloffset, X2offset, Y2offset [0073]
  • RoundRect: Xoffset, Yoffset, Width, Height, Radius, ForeGroundColor, [0074]
  • BackGroundColor [0075]
  • Text: StringID, Xoffset, Yoffset, Spacing, ForeGroundColor, BackGroundColor, [0076]
  • Direction, FontID [0077]
  • ClipRect: Xoffset, Yoffset, Width, Height [0078]
  • COMPOSITECONTROL generates a bitmap control for display from a collection of drawing primitives. The control may be used as a picture or as a pushbutton control. Unlike other controls just mentioned, this control does not change when pressed. “ControlName” is a SYMBOL. Its assigned value is the Resource ID for the control. “TopX” is the left coordinate of the control. “TopY” is the top coordinate of the control. “ControlCode” is the value generated when the control on the touchscreen display is pressed or released. The parameters are optional graphic commands. They are: [0079]
  • ‘Rect’ defines an unfilled rectangle. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle. ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text. [0080]
  • ‘BitMap’ defines a bitmap and its location. BitMapID is the Resource ID of the bitmap. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the bitmap is located. The XferMethod determines how the bits in the bitmap will be applied. [0081]
  • ‘Line’ draws a line from X1offset, Y1offset to X2offset, Y2offset. X1offset and Y1offset are the distance from TopX and TopY at which point the line begins. X2offset and Y2offset are the distance from TopX and TopY at which point the line ends. [0082]
  • ‘RoundRect’ defines a rectangle with rounded corners. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle. Radius is the radius of the rounded corners. ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text. [0083]
  • ‘Text’ places a text string on the display. StringID is the Resource ID of the text to be drawn on the display. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the string is located. Spacing is the number of blank bits between letters. ForeGroundColor is the color of the text and BackGroundColor is the color behind the text. Direction specifies the direction at which the text will be drawn. The FontID is the Resource ID for the font to be used in representing the text. [0084]
  • ‘ClipRect’ defines an allowable area within the display within which a drawing may appear. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the drawing area is located. Width an Height are the dimensions of the drawing area. [0085]
  • SCROLLCONTROL (ControlName, ControlCode, Left, Top, Right, Bottom, State, TopUpID, TopDownID, BottomUpID, BottomDownID) [0086]
  • SCROLLCONTROL generates a bitmap control which displays a vertical scroll bar with top and bottom arrows. “ControlName” is a SYMBOL. Its assigned value is the Resource ID for the control. “ControlCode” is the value generated when the control on the touchscreen is pressed or released. “Left” is the left most X coordinate of the displayed control. “Top” is the upper most Y coordinate of the displayed control. “Right” is the right most X coordinate of the displayed control. “Bottom” is the lower most Y coordinate of the displayed control. “State” is the default settings for the state flags. “TopUpID” is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active but not pressed. “TopDownID” is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active and pressed by the user. “BottomUpID” is the Resource ID of the bottom arrow bitmap that is drawn on the display when the control is active but not pressed. “BottomDownID” is the Resource ID of the bottom arrow bitmap that is drawn on the display when the control is active and pressed by the user. [0087]
  • TEXTBOXRESOURCE (ControlName, ControlCode, Width, Height, Left, Top, Right, Bottom, ScrollID, StringID, FontID, Box, Type, Radius) [0088]
  • TEXTBOXRESOURCE generates an allowable area on the display for text and an optional scrollbar and fills the area with scrollable text. “ControlName” is a SYMBOL. Its assigned value is the Resource ID for the control. “ControlCode” is the value generated when the control on the touchscreen is pressed or released. “Width” and “Height” are the dimensions of the text box, including the scroll bar. “Left” is the left most X coordinate of the displayed control. “Top” is the upper most Y coordinate of the displayed control. “Right” is the right most X coordinate of the displayed control. “Bottom” is the lower most Y coordinate of the displayed control. “ScrollID” is the Resource ID of the scroll control used in the text box. “StringID” is the Resource ID of the string that is drawn when the display is first shown. “FontID” is the Resource ID of the font with which the string is drawn. “BoxID” specifies that the box will not be drawn or will be drawn with square or rounded corners. If rounded corners are specified, “Radius” defines the radius of the rounded corners. [0089]
  • Turning to FIG. 4, the Operating System (OS) [0090] 400 software that the Main Processor 101 executes is organized into several units called Managers. Each Manager performs a specific task when called upon by the OS 400. The following are exemplary Managers:
  • The [0091] Memory Manager 402 allocates blocks of memory and resources for use by an application program 434.
  • The [0092] Display Manager 404 controls what is shown on the LCD (180 in FIG. 3). It can control what is shown over the entire LCD or just a portion of it. The Display Manager 404 generates a display based primarily on specified Resources held in memory. The display can, therefore, be modified by changing the content of the Resource rather than by changing the Display Manager code 404.
  • The [0093] Control Manager 406 creates and destroys controls as well as handles the user responses to the interactive graphical controls displayed on the LCD. When a user selects a graphical icon shown on the LCD, the Control Manager 406 responds to the Event and may alter the graphical display in response to the user action. All icons and graphical entities displayed by the Control Manager 406 originate as a Resource and may, therefore, be changed.
  • The [0094] Graphic Manager 408 is responsible for the actual drawing of the entities shown on the display. It also loads the alphabetic fonts used for text in the display.
  • The [0095] Event Manager 410 will queue or mask events that arise during the operation of the remote control 10. These events include user interaction with the touch screen 24 or key pad 20 and system events generated by timers or by any of the communication ports. Events in the queue are accessed by Application Software 434.
  • The real-time clock (RTC) [0096] Manager 412 generates a periodic timing mark as an Event. It also keeps the current time.
  • The [0097] Touch Manager 414 generates an Event each time the touch screen 24 is touched and sends the event to the event manager 410.
  • The [0098] Communication Manager 416 handles all serial messages between the Applications 430 or other Operating System software modules and those peripherals connected on the serial buses such as the Infrared Controller 140, and the ADC and Touch Decoder 170.
  • The RF I/[0099] O manager 418 handles all two-way data communication between Applications 430 and remote resources such as server applications running in other devices (PCs, set top boxes, TV sets, CD jukeboxes, etc.).
  • The [0100] Printer Manager 420 coordinates communication between the remote control 10 and the printer 710, as well as, in some applications, between a consumer electronic device and the printer 710. Devices can send information to the remote control 10 (or the remote control 10 can retrieve information) during the normal course of using the system. Data transfers can happen automatically or by user request. In some applications the data is stored within memory, e.g., memory 110, until the remote control 10 is subsequently docked in the charging base 700. Data can then be printed out either automatically or by user request. The Printer Manager 420, for example, may either alone or in conjunction with another manager, e.g., the Display Manager 404, present the user with a menu of stored items for which he could select those desired to be printed out.
  • To communicate to systems beyond those devices conventionally found in a home entertainment system, the [0101] remote control 10 provides a two-way infrared or two-way RF system (or other communication technology). Using this communication technology, the remote control 10 can access, process, and/or display data from remote sources. The RF I/O manager 418 (or IR I/O manager in the event a two-way IR communications path is used instead) accepts data from Applications 430 running under the OS and prepares the data for communication by splitting the data into packets and adding packet header information. It also accepts received packets, ensures packet integrity and assembles the received packets into data to be sent to the Application(s) 430.
  • The RF I/[0102] O manager 418 interacts directly with the two-way RF hardware previously described (e.g., RF Controller 120 and RF Transceiver 130). Checksums are appended to outbound data and the packets are sent. Inbound data is received from the communications hardware. Error free packets are passed to the Application interface and a confirmation of successful reception is sent to the originator. Packets with errors are discarded and up to three retransmit requests can be sent to the originator.
  • In one preferred embodiment, the data communication protocol implemented by the RF I/[0103] O Manager 418 comprises communication packets which can carry data or commands. Each packet comprises a header and the attached command or data. Commands are transfers of non-data. They are acted upon, not stored. A sequence is any number of packets that comprises an entire transfer of data, such as a complete text stream, a complete bitmap file, a Web page or any other complete data resource. A block is a series of data packets whose number does not exceed 128. A single block or multiple blocks may constitute a sequence. The Communication Packet format is illustrated in Table 1 below.
    TABLE 1
    Field Bytes Description
    Byte Count
    1 Total number of bytes supplied to the end of the
    data (7 + n)
    To Address 2 The address of the receiving station (usually
    the server).
    From Address 2 The address of the Remote Control platform
    Packet Number
    1 Bits 0-6 are used to be sure every packet is
    sequential. Most significant bit used to indicate
    a command packet (MSB set).
    Port Number 1 Used to keep track of multiple data streams.
    Data n Packet payload - data or command
  • The Byte Count is the total number of bytes in the packet, including the header. The To Address is the address of the receiving station (usually a server or gateway). The From Address is the address of the [0104] remote control 10. The Packet Number is used to ensure every packet is sequential. The Most Significant Bit of the Packet Number indicates a command packet when set to a Logic 1. A unique Port Number can be assigned to each unique data sequence, so that packets of different sequences can be transmitted in an interleaved fashion. Each separate stream of data packets should have its own port number as well as its own packet number sequence.
  • In one embodiment, six commands are defined for use by the [0105] remote control 10. The payload data of each command comprises a one byte command code followed by a variable number of parameters, as:
  • STX (data=0×02h). The STX command indicates the start of the transmission of a series of packets comprising a data sequence. This command is accompanied by parameters which specify the total number of packets in the sequence and the Port Number assigned to the sequence. Once an STX command is answered by an ACK, any communication using the specified Port Number will be associated with that specific “sequence” of data. [0106]
  • ETX (data=0×03h). The ETX command follows after a complete sequence has been transmitted, and contains the checksum for the entire sequence (excluding the headers). If a NAK is sent as a reply to an ETX command it is meant to signal retransmission of the entire sequence. [0107]
  • ACK (data=0×06h). The ACK command signals a successful transfer of a data Block or Sequence. [0108]
  • NAK (data=0×15h). The NAK command signals an unsuccessful transfer of a data block or sequence. NAK also constitutes a request for retransmission of the data not correctly received. [0109]
  • ETB (data=0×17h). The ETB command indicates the end of a block of data. Also causes the packet sequence count to be reset to zero. [0110]
  • CAN (data=0×18h). The CAN command cancels the sequence on the Port Number included in the data portion of this command. [0111]
  • While the above describes one possible implementation of a communications protocol for transfer of data between the [0112] remote control 10 and another device, it will be appreciated that there are many other possible protocols that are equally suitable including, but not limited to, those corresponding to various standards, e.g. Bluetooth, IrDA Control, IEE802.11 and others.
  • To effect the transmission of IR codes, the [0113] IR Controller 140 communicates with applications 430 resident in the remote control 10 using a pre-defined set of commands. Since the actual mechanisms and formats for transmitting such IR signals are well known in the art—see, for example U.S. Pat. No. 4,959,810 which is incorporated herein by reference in its entirety—it will not be described further herein. In an exemplary embodiment, the SendIR command is issued to the IR Controller 140 to cause an IR code to be transmitted. The SendIR command is a six byte packet including the fields RcdLength(1), 01h, DeviceTypeNum(2),KeyCode(1) and KeyFlag(1) where:
  • RcdLength is a one byte value indicating the total number of bytes in this packet. [0114]
  • 01h is a command type which identifies this command as a “send IR” command. [0115]
  • DeviceTypeNum is a combination of DeviceType and DeviceNumber as follows: [0116]
  • Bits 15..12: DeviceType—see Table 2 below. [0117]
  • [0118] Bits 11..0: DeviceNumber represents a four (decimal) digit number which identifies a set of IR functions to control a specific device (e.g. “Sony TV set”).
  • KeyCode identifies the function to be transmitted, according to Table 3 below. [0119]
  • KeyFlag indicates if any special processing is required. For example, if [0120] KeyFlag bit 7 is “on” this indicates that this IR command is part of a macro sequence playback, requiring that the IR data frame be repeated a certain minimum number of times. If bit 5 is “on” this indicates that the IR Controller should use a learned IR code rather than it's pre-programmed code.
    TABLE 2
    IR Controller device types
    Letter
    Device Type Device Name Representation
     0 TV T
     1 Cable C
     2 Video Accessory N
     3 Satellite/DSS S
     4 VCR V
     5 Cassette Tape K
     6 Laser Disk L
     7 Digital Audio Tape J
     8 Digital Video Disk Y
     9 Tuner/Amplifier R
    10 Amplifier/Misc. Audio A/M
    11 Compact Disk D
    12 Phonograph P
    13 Home Control H
    15-31 Reserved
  • [0121]
    TABLE 3
    IR Controller KeyCodes
    KeyCode Function Name
     1 Digit 1
     2 Digit 2
     3 Digit 3
     4 Digit 4
     5 Digit 5
     6 Digit 6
     7 Digit 7
     8 Digit 8
     9 Digit 9
    10 Digit 0
    11 Volume Up
    12 Volume Down
    13 Mute
    14 Channel Up
    15 Channel Down
    16 Power
    17 Enter
    18 Previous Channel
    19 TV/VIDEO
    20 TV/VCR
    21 A/B
    22 TV/DVD
    23 TV/LD
    24 Input
    25 TV/DSS, TV/SAT
    26 Play
    27 Stop
    28 (Search) Forward
    29 (Search) Reverse
    30 Pause
    31 Record
    32 Menu
    33 Menu Up
    34 Menu Down
    35 Menu Left
    36 Menu Right
    37 Select
    38 Exit
    39 . . . 255 Other functions
  • It will be appreciated that there are many other commands that go back and forth between the processors and that the above description with respect to the SendIR command is not intended to be limiting. [0122]
  • As previously, the exemplary remote control hardware and operating system are capable of supporting multiple application programs. In a preferred embodiment, two application programs coexist in the unit: one which provides conventional remote control (“clicker”) [0123] functionality 432, and another associated with the two-way RF communication subsystem which provides general purpose text and graphics display capability in the form of a compact browser utility 434. A printer application 436 may be incorporated with the applications 430 to facilitate printer functionality, as well as communication with a segregated printer, e.g., printer 710. The application which provides conventional consumer appliance remote control functionality is preferably the application that is launched by default upon power-up (i.e., insertion of batteries into the unit) and is the mode of operation to which the user usually returns.
  • FIG. 1 illustrates a typical appearance of the [0124] LCD touch screen 24 when the remote control 10 is in the mode of operation for providing remote control functionality. It will be appreciated that many other displays are also available, depending on the type, model, and functionality of the device(s) to be controlled. In addition, the remote control application need not display key icons for functions not supported by a particular device, so the actual display may vary according to the specific device brand or even model currently set up. For example, even though the IR Controller and the remote control screen layout may in general support menu operations (see KeyCodes 32 through 38 in Table 1), if the specific device currently set (e.g., a Goldstar TV) does not offer this feature, those keys need not be displayed.
  • Turning now to FIG. 5, FIG. 5 illustrates the top level program hierarchy within the [0125] remote control application 432. The remote control application 432 (and its sub-applications) acquire events from the event queue (placed there by the Event Manager 410) and use other Managers and resources to perform their intended function. The main menu sub-application 500 is called at the time the remote control 10 receives power, for example the time at which the batteries are installed. It initializes all the Managers 400, places a welcome message on the LCD display 24, initializes and loads all applications and resources that may be used. After a set period of time (a few seconds), the welcome message should be replaced by the default device screen. A typical default device screen is shown in FIG. 1.
  • Once all applications and resources have been initialized, the [0126] main menu sub-application 500 waits for an Event. One such Event is an internal main processor timeout which, in this specific case, turns off the display and system CPU to save battery power. Another such Event is a user keypress. In this latter regard, the user may press one of several types of keys, creating Events to which the main menu sub-Application 500 responds. One or more of the control keys shown on the display 24 generates an Event invoking a sub-application 503 that produces a new display. Typically this might be a second “page” (i.e., alternative device screen) of command keys for the current device under control (e.g., a TV) or for a different device (e.g., from TV to VCR) with a new page of keys. Activation of another group of keys (both the “soft” keys shown on the display and the hard keys in the keypad 20) will invoke a sub-application 504 that transmits an infrared code. The send IR sub-application 504 communicates with the IR Controller 140 via the operating system's communication manager using the IR Controller command structure described earlier to cause the appropriate device IR command signal to be transmitted.
  • Activation of other keys can invoke a sub-application [0127] 502 that will turn on the display backlighting. Yet another key activation can invoke the setup sub-application 501 that permits the user to customize the remote control 10. Activation of still other keys can invoke a different application 508 and pass control of the unit to that application. By way of example, activation of a key labeled “iMosiac” may invoke the Browser application 434 which is described in greater detail below.
  • For customizing the universal [0128] remote control 10, the setup application 501 is invoked. Customization, as is shown in FIG. 5, can be provided by three menu-driven, sub-applications, namely, the device personalization sub menu 505, the device setup sub menu 506 and the system sub menu 507. The device setup sub menu 506, shown in FIG. 6, comprises five sub-applications that afford the user the opportunity to access all of the infrared control codes required for operation of an entire home electronics system. Control codes may be pre-stored in the memory 110 of the remote control 10, learned into the memory 110 by using the remote control that came with a device, or downloaded from a remote source, e.g., from a source via the Internet.
  • To select control codes to be available for access to control consumer electronic devices by device type and manufacturer, the setup by [0129] brand sub-application 510 is utilized. This sub-application is based in part on technology disclosed in U.S. Pat. No. 5,614,906 entitled “Method for selecting a remote control command set” that is incorporated herein by reference in its entirety. The setup by search sub-application 516 permits the user to select control codes by linearly stepping through the data base of codes by device type, trying each one in turn. The setup by code sub-application 513 permits the user to simply enter a known code number to configure the remote control 10 to make accessible the control codes to control the device(s) corresponding to the known code number. The new code sub-application 519 allows the user to try new codes received during a prior download over the Internet or through customer service via the telephone. Selected/downloaded control codes may be made available for user access by using the add function 511 or used to replace currently accessible control codes using the replace function 512. The delete sub-application 522 can be used to erase all selected control codes, allowing the user to start over with a clean slate.
  • The [0130] personalization sub menu 505 of sub-applications shown in FIG. 7 offers some very powerful sub-applications to the user that permit the remote control 10 to be fully personalized to meet specific needs of a user. For example, the macros sub-application 530 comprises five different functions. The macros sub-application 530 is based on technology disclosed in U.S. Pat. No. 5,959,751 entitled “Universal Remote Control Device” which is incorporated herein by reference in its entirety. The macros sub-application permits the user to add 531, view 532, delete 534, copy 533 (e.g., onto another screen) or delete all 535 macro functions.
  • To select a key from one device representing a specific infrared function and create a copy of it for use with another device, the move [0131] key sub-application 540 is utilized. For example, the move key sub-application 540 can be used to move the channel up function for the TV device such that it is accessible from the VCR device screen. This Sub-Application is based on technology disclosed in U.S. Pat. No. 6,014,092 entitled “Key mover” that is incorporated herein by reference in its entirety. In addition to moving a key 541 a user may delete all 542 keys that have been moved.
  • To teach the remote control a new function from another remote control, the learn sub-application [0132] 550 is utilized. The learn sub-application is based on technology disclosed in U.S. Pat. No. 6,097,309 entitled “Remote control learning system and method using signal envelope pattern recognition” that is incorporated herein by reference in its entirety. A new function can be learned 551 by the remote control and assigned to a pre-defined function key or to a blank key. All learned functions can be deleted 552.
  • To label [0133] new device keys 561, new function keys 562 or to edit existing key labels, the label keys sub-application 560 is utilized. The label key sub-application 562 makes available symbols and lower and upper case characters as well as the backspace, space, and shift for use in creating alphanumeric key labels. A caps lock function can also be provided.
  • To teach the remote control a new function by entering a three-digit code, the [0134] key magic sub-application 570 is utilized. The key magic sub-application 570 is based on technology disclosed in U.S. Pat. No. 5,515,052 entitled “Universal remote control with function synthesis” that is incorporated herein by reference in its entirety. A new function can be added 571 and assigned to a pre-defined function key or to a blank key. All added functions can be deleted 572.
  • Any key on any device page may be viewed and deleted by the view & delete [0135] function 595.
  • The [0136] remote control 10 may also be upgraded and customized by the methods taught in U.S. Ser. No. 09/615,473, filed Jul. 13, 2000, entitled “Customizable and Upgradeable Devices and Methods Related Thereto,” which is incorporated herein by reference in its entirety.
  • The [0137] volume lock sub-application 580 affords the user a means for controlling the volume for one device (the amplifier, for example) from another screen dedicated to controlling another device like the TV, for example. The user may institute the locking feature using the lock function 581 or may remove the feature using the unlock function 582.
  • The [0138] home theater sub-application 590 offers the user a means for creating on one or several screens a set of keys that are those most often used keys in a home theater system. The user may configure the feature using the configure function 591 or may remove the feature using the reset to default function 592.
  • The [0139] system sub menu 507 of sub-applications, illustrated in FIG. 8, offers the user the ability to affect the overall operation of the remote control. For example, the upgrade sub-application 600 permits the user to add 601 codes from a remote source such as a server on the Internet, via a cable set top box, etc. This application makes it easy for the user to always have the most current and/or correct codes in the subject remote control, even after the purchase or upgrade of new devices for the family home entertainment system. This sub-application may be based on technology disclosed in U.S. Pat. No. 5,537,463 entitled “Magnetic modem in a remote control,” U.S. Pat. No. 5,228,077 entitled “Remotely upgradable universal remote control” and in U.S. Pat. No. 5,689,353 entitled “Remote control with two-way data coupling” that are incorporated herein by reference in their entirety. The add function 601 and the replace function 602 make it possible for the user to add or replace codes after the upgrade process is complete.
  • The [0140] LCD sub-application 610 provides a means for the user to compensate for any drift in the calibration of the LCD 24 during long-term use. The user may invoke the calibrate function 611 to return the LCD 24 to factory-level settings.
  • While using the touchscreen, the user can receive audible feedback that a key has been selected. To this end, a soft clicking sound is issued by the Piezo Buzzer. This sound may be turned on or off using the sound on/off [0141] sub-application 630.
  • After the user has fully personalized the subject remote control, those settings may be locked into place to avoid inadvertent changes. This feature is performed by the lock on/off [0142] sub-application 620. The user may return the remote control 10 to its original, factory settings by invoking the user reset/master reset sub-application 640.
  • To navigate and browse HTML-formatted data supplied from an external source (e.g., via a two-way RF or IR communications link) the [0143] remote control 10 includes a browser application 434 that supports a sub set of XHTML-Basic and Compact HTML as proposed and defined by the World Wide Web Consortium. In this manner, the remote control 10 provides for customized user interface and data display since, within the constraints of the remote control hardware (screen size, color, memory availability, etc.), any screen layout of text, images, and/or hyperlink buttons is possible. Thus, any external device equipped with a compatible RF or IR transceiver, such as a personal computer, cable or satellite set top box, home automation controller or security system, CD jukebox, TV set, and the like, can avail itself of the remote control 10 as a data display and interface device via a well-understood standardized set of HTML commands.
  • In addition to the subset of XHTML-Basic commands supported, the remote control browser can also offer extra META statements as special extensions of the standard to facilitate use in situations which are not classically Web-based. For example, the browser can support a “Full screen” META statement, <META NAME=“Any Names” CONTENT=“Full_Screen”>, that will cause the browser to go to full screen display mode (e.g., no navigation buttons or scroll bars are displayed). Similarly, the browser can support a “Refresh” META statement, <META HTTP-EQUIV=“Refresh” CONTENT=“xx; URL=http://www.name.com/anything.html”>, that will cause the Browser to count a given number of seconds and then display the next html page specified, or if the ‘URL=’ is not present, refresh the current page. Both of these extensions are useful for authoring displays in which the user is not necessarily aware that the interface presented to him is HTML based via a browser—for example, simple TV guide applications and the like. Additionally, the “Refresh” feature is useful in applications where the data content to be displayed on the [0144] remote control 10 needs to be synchronized with a TV or audio program, for example enhanced TV services or karaoke lyrics.
  • The browser application can also be adapted to support a special extended HTML tag type, “IROP.” With this ability, the [0145] remote control 10 can be used in connection with HTML pages that are authored to support “buttons” for use in sending IR commands. The general format of the IROP tag is <IROP KEY=“1-18, . . . ”, LABEL=“function name” IMG=“file path”> where “KEY=xx,yy . . . ” specifies the IR code(s) to be transmitted upon activation of the button (using the IR KeyCodes defined for the IR Controller defined in Table 3 above), and “LABEL=” and “IMG=” respectively define a label and graphic (i.e. icon) associated with the button or link. For example <IROP KEY=“10, 7”, LABEL=“ABC”> would result in the display of “ABC” as a selectable area on the screen. User activation by pressing the “ABC” area on the touch screen would cause the browser to send to the IR Controller 140 a SendIR command containing KeyCode number 10 followed by a SendIR command containing KeyCode number 7, thus causing the IR Controller to transmit the IR codes for the digits “zero” and “seven”, i.e. selecting channel 7 on the current consumer electronic device used for channel changing (TV, Cable box, Satellite receiver, etc.). As will be appreciated, this extended IROP tag is useful in situations where it is desired that a user be provided with the ability to interact with an HTML page to initiate the transmission of IR command codes to consumer appliances. Examples of such HTML pages include TV guides, CD jukebox managers, and the like.
  • Turning to FIG. 9, to invoke the browser application, the user may, for example, press a soft button [0146] 910 (such as “iMosaic” 41 on the regular remote control application display screen 24.) When invoked, the browser application starts by initializing itself and the two-way communication interface (via the RF I/O Manager in the illustrative embodiment) 912. If the browser application and two-way communication interface are successfully initialized, the remote control 10 displays the basic Browser screen layout, an example of which is shown in FIG. 11, and issues a request to load a preset home page 914, 916. FIGS. 10a through 10 g provide detailed flowcharts of the overall operation of the exemplary Browser Application, showing how subsequent processing of the downloaded HTML data is performed.
  • Turning to FIG. 10[0147] a, there is shown the overall flow of the exemplary Browser application. As described earlier, the remote control 10 is an event-driven system, so once initialized, the Browser Application simply waits for an Event to occur 1002. Browser-related Events can be classified into one of three general categories: KeyDown Events 1004 which result from user activation of any of the keys shown in FIG. 11 (hard or soft); HTML Events 1006 which result from user activation of an HTML generated item in the current display area (for example a hyperlink, check box, text input area, etc.); and I/O Events 1008 resulting from activity on the two way communication link, timers, or other system-generated interrupts (a low battery indication, for example). The individual processing of each of these categories of Event will be described in further detail later, in conjunction with the figures that follow.
  • In one exemplary embodiment, internal priorities within the Browser Application are arranged such that, while in process of loading and displaying a page of data via the RF link, it will ignore other inputs such as HTML Events. In other words, it is designed such that a user is required to wait until the current page is completely displayed before initiating any action such as a hyperlink selection. This is evident in FIG. 10[0148] a where the “IDLE” status of the Browser application (i.e., not currently loading data via the RF link) is used to determine whether KeyDown and HTML events are processed or not. It will be appreciated that other implementations are also possible, in particular providing the ability to abort a HTML download in progress and initiate a new one by pressing a key or hyperlink in a partially loaded and displayed page.
  • FIG. 10[0149] b illustrates the processing of a KeyDown Event, specifically the action taken in response to each of the possible key press user inputs. As can be seen, these actions are used to effect page navigation and browser control in addition to providing means to configure the Browser Application and to return the unit to the (default) Remote Control Application.
  • FIG. 10[0150] c illustrates the processing of an HTML Event. In the HTML subset supported by the exemplary Browser Application, only four classes of HTML Event can occur: Activation of a hyperlink 1010, activation of a form control field 1012, expiration of a “refresh” META statement timer (a special extension to standard HTML which allows periodic reloading of a page), 1014 or activation of a IROP field (a special extension to standard HTML which allows IR commands to be transmitted to consumer appliances) 1016. Activation of a hyperlink results in a request for the contents of the specified URL to be issued via the communications link, after which the Browser Application returns to the “Get Next Event” waiting state shown at the top of FIG. 10a pending receipt of the requested data. Activation of a forms control function results in the appropriate action as shown in FIG. 10b (note that not all possible HTML forms functions are supported by the subset, unrecognized control requests are simply ignored), again followed by a return to the “Get Next Event” waiting state. Expiration of a “refresh” timer causes a request to be issued via the communications link for the URL specified in the META statement (or, if no URL is specified, the current page to be automatically reloaded) and a return to the “Get Next Event” waiting state pending receipt of the requested data. Activation of an IROP control causes the Browser to issue SendIR commands to the IR Controller, as described earlier, also followed by a return to the “Get Next Event” waiting state.
  • FIG. 10[0151] d illustrates the processing of an RF I/O Event. All communications transactions are preferably timed in order to allow appropriate action to be taken by the Browser in the event the communications link is interrupted, for example by the user wandering out of RF range. Thus, the first I/O Event that is checked for is a timer expired status 1020. If there is a Port currently open (i.e., activity in progress) the timer expired event is handled as shown in FIG. 10e, described in more detail below. If the Event is an “RF Buffer Ready” event 1022, indicating that there is received data ready for processing, the event is handled as shown in FIG. 10g, described in more detail below. An RF buffer overflow event 1024 signifies an error condition, handled as shown in FIG. 10f, described in more detail below. If the sending (server) side issues a “Cancel” command (a request to abort transmission), this event 1026 is handled in a similar manner to a timeout event. All other types of events 1028 represent conditions which should abort any page download currently in progress (e.g. a low battery condition), and thus result in the Browser issuing a “CANCEL” request to the server (the inverse of the server “CANCEL” described previously) provided a Port is currently open.
  • FIG. 10[0152] e shows the error processing invoked in the case of a timeout or a server initiated “CANCEL” request when the Browser application is not “idle,” i.e., it is loading HTML or image data via the RF link. If a given time, e.g., three seconds, has not elapsed since the last activity on this port 1030, timing continues without any action. If the given time has been reached or exceeded, the Browser issues a “CANCEL” request to the server 1032. It then determines if a given number of retries, e.g., three, have already occurred for this particular request 1034. If the number of retries has not been exceeded, the Browser reissues the request 1036. If all of the retries have been exhausted, the Browser takes error action as appropriate: in the case of a failed HTML page download it displays an error message to the user 1038 (FIG. 21 is a example of such a message); if the failure occurred during the download of an image 1040, the Browser simply skips display of that image and proceeds to request the next image 1042, if any exists. (The processing of HTML and requests for image data is described in more detail later in conjunction with FIG. 10g.)
  • FIG. 10[0153] f shows the error processing that occurs in the event of a buffer overflow. As can be seen, the actions taken by the remote control 10 are similar to those described above in conjunction with an exhausted retry count.
  • FIG. 10[0154] g shows the processing steps that occur upon receipt of a buffer fall of data Events from the RF I/O Manager. In this case, the Browser first checks its internal status to determine if it is currently expecting HTML or image data 1050. If expecting HTML data, the HTML page is sent to the HTML parser 1052, which processes the HTML data and breaks it down into individual elements for display (text strings and images), position coordinates for each hyperlink or control within the display, and a table of control-link relationships. The HTML parser also sets the appropriate timer if a “refresh” META statement is encountered. When the HTML parser has completed its analysis, the display information is passed to the Display Manager 1054 for rendering on the LCD screen. Once the basic HTML page is displayed (i.e., text, links, controls, etc. together with “place holder” icons for the locations of graphic images) the Browser then issues requests for any graphic images called out in the HTML source, loading and displaying the graphic images one by one until all specified graphics have been displayed. This is achieved by issuing a request for the next graphic file 1056 via the RF communications link and then returning to the “Get Next Event” state (FIG. 10a).
  • When a response is received, the next RF buffer ready Event will find the Browser in an “expecting image data” state. This will cause the opposite branch to be taken at the top of FIG. 10[0155] g. Here, the Browser, after making any necessary adjustments to page layout resulting from the insertion of the new graphic 1058 (in some instances the graphic size may have been predefined in the HTML, in which case no adjustment is necessary since the appropriate area is already allocated, but in others the final graphic may differ in size from the “place holder” icon and require adjustment to the balance of the page layout to accommodate it), displays the graphic data just received 1060 and issues a request for the next graphic. After the last graphic has been downloaded and displayed, the Browser set its internal status to “IDLE” (thereby enabling recognition of HTML and KeyDown Events) and returns to the “Get Next Event” state (FIG. 10a).
  • FIG. 11 shows an exemplary, basic touch screen display layout for the remote control Browser. In the illustration, the layout comprises a [0156] toolbar 1100 containing the usual Browser control items (e.g., “back,” “forward,” “reload,” “stop,” “go to,” and “home” illustrated from left to right), a key 1120 to access previously entered bookmarks, a general display area 1150 in which HTML formatted data is displayed, and a scroll bar 1140 used to navigate pages of data which are longer than the display space. In addition, the screen may include two control elements specific to the browser application, namely, a key 1130 to access set up routines used to adjust items such as RF link addresses, home page URL, etc., and a key 1110 used to return the unit to the basic remote control application 432 when use of the Browser is complete.
  • The “home page” URL first loaded by the Browser application need not be Web based in the classical sense. Rather, the “home page” may be an address pointing to an HTML formatted interface to a home control system as illustrated in FIG. 12. The “home page” illustrated in FIG. 12 shows an example of how the universal [0157] remote control 10 can display simple icons and messages 1202 useful in receiving information from appliances around the home and, in turn, controlling them. In yet another example, the “home page” initially loaded might take the form of a TV guide display loaded from a cable or satellite set top box including program viewing information 1302, as illustrated in FIG. 13. Note that this particular example makes use of the “full screen” META statement 1300 as described above to hide the generic browser controls (e.g., “back,” “forward,” “reload,” etc.) from the user.
  • By way of further example, FIG. 14 illustrates the use of the universal [0158] remote control 10 as part of a two-way communication system. In this illustrated example, the remote control 10 is used as a platform to browse the Internet, using a personal computer 1420 as a gateway or proxy server. Requests by the user of the universal remote control 10 for access to certain information located on Web pages on the Internet are sent through the RF I/O Manager 418 and RF Module 125 to a matching RF transceiver unit 1410 which is attached to the personal computer 1420 via one of its serial ports 1415. Software resident in the personal computer 1420, including an HTTP interface and server application 1440 formats the request appropriately and forwards it to the specified Web URL. When a response to a request is received at the personal computer 1420, the personal computer 1420 performs any format conversion required for compatibility with the subset of HTML supported by the remote control 10, and then forwards it to the remote control 10 via the reverse of the path described above. In this manner, Web content may be ultimately displayed on the universal remote control 10.
  • In the illustrative example, the PC application that provides the Internet access for the [0159] remote control 10 is called the server application. As illustrated in FIG. 15, the server start up module 1500 is invoked when the server application is started on the personal computer 1420. The server application manages the display (to the PC screen) and internal settings 1510, the transfer of data 1520 between the Internet and the remote control 10, and the external serial port 1540 to which the PC-side RF transceiver unit 1410 is attached. As serial messages are received 1542 they are placed in an internal data buffer 1544 from which they are subsequently processed and delivered to the Internet 1522,1524,1526. If Internet data is received 1526, then it is converted to a compatible format if necessary 1528, 1530 and then sent to the remote control 10 for display 1532. It will be appreciated that while this example uses a personal computer based Web gateway, similar systems can readily be implemented using various other devices to implement the gateway, for example a cable or satellite set top box, a Web-enabled TV set, a residential home gateway controller, a Web-enabled game console, a personal video recorder, etc.
  • FIGS. [0160] 18-20 depict exemplary bases 700 connected to printers 710. Specifically, FIG. 18 illustrates the remote control being placed in a cradle-style base 700 a. The cradle-style base 700 a is connected to a separate thermal printer 710 a. The printer 710 a supports supply paper 720, which may be conveniently supplied in conventional roll form or flat form. Printed paper 722 exits the discharge opening 724, which is preferably an elongated slot.
  • FIG. 19 illustrates a base [0161] 700 b having a top-mounted integral printer 710 b.
  • FIG. 20 illustrates a base [0162] 700 c having a side mounted paper supply in the form of a spool 726. The paper 722 (not shown in FIG. 20) exits the discharge opening 724 that opens on the opposite side of the base 700 c. A tear-bar 728 mounted parallel to the discharge opening 724, provides an efficient means of removing printed paper 722 (not shown in FIG. 20). A removable paper supply cover 730 removably attaches to the first side of the base 700 c and maintains the integrity of the supply paper 720.
  • The [0163] printers 710 provide a convenient method for obtaining a hard copy of data from the remote control 10. The remote control 10 can act as an interface with a consumer electronic device to obtain hard copies of data. The data may reside within memory in the consumer electronic device (e.g., a user manual) or the consumer appliance can act as a conduit for information obtained from another source (e.g., a set-top box connected to the Internet). By way of further example, coupons 740 and 742 shown in FIG. 21 may have been requested by a user from a PC for instance. Targeted coupons (or advertising) may be automatically downloaded into the remote control 10 based on the type of program content (e.g., which news shows and entertainment shows) for which the user has a preference. For example, a user that views a predetermined percentage or quantity of outdoor programs (measured, e.g., in minutes or number of shows) may be sent camping coupons. While coupons are used for illustrative purposes herein, it will be appreciated that many other types of printable material are suitable for output using the system described. For example, confirmation of orders placed with shopping channels, menu listings from local restaurants, driving directions to advertised businesses, tickets to events, etc., may all be obtained through the remote control 10. Associated listings of additional material, for example books, videos, sound tracks, etc. related to shows watched, or being watched, maybe sent or requested. When coupled with the aforementioned browser/internet capability, the printer 710 may be used to obtain a hard copy of an email, for example.
  • Users notepad capability is obtainable through use of the [0164] display module 180. The display module 180 can be used to capture the image in memory 110 for later printing with printer 710.
  • FIG. 22 shows a [0165] remote control 10 displaying a coupon 740 and “Print” button/icon 2200. When a user selects the print icon 2200 (see also FIGS. 10a and 10 b) the “Send Image to Printer” request/command, which results in printing only the active region of the display, is processed as depicted in FIGS. 24 through 26. A complete screen dump of the display may also be printed. The bar code is preferably formatted using HTML and HTML TAGS. For many applications it is desirable to send the bar codes as data rather than screen dumps. The printer 710 or the printer module 706 (or 706′ in FIG. 23) is then provided with software algorithms for printing out various industry standard formatted bar codes. This approach ensures bar code compatibility with pre-existing retail infrastructures, or subsequently determined infrastructures.
  • FIG. 23 illustrates two configurations by which the [0166] remote control 10 may interface with a printer 710. Configuration 1 is representative of a system configuration where the remote control 10 interfaces with the printer 710 via a physical connection, such as contacts 704 of docking station 700 (which is preferably also a charging base equipped with contacts to mate with the remote control's recharging contacts 107); configuration 2 is representative of a wireless interface where the data is sent through printer control module 706′ (which is associated with a base station). Thus, print capability may be utilized without the requirement of docking the remote control 10.
  • To effect printing remotely, the [0167] remote control 10 appends a “print data” header to a data block and transmits it over a wireless link, preferably a RF link. If multiple components are connected in the hardwired configuration, the remote control 10 may be adapted to append the appropriate header, for example “scanner data” or “display monitor data” where the print module 706 is more generally an output module that routes the data from the remote control as necessary. Additional data formatting, if desired, can then be performed in the output module or the output device, e.g., the printer.
  • FIG. 24 illustrates a basic process of sending an image (such as coupon [0168] 740) to printer 710. The remote control 10 tests if a printer is available (Step 2410). Depending on the system configuration, i.e., whether the remote control is docked in docking station 700 or not, the printer available test will comprise sensing printer status via either serial interface contacts 104 (for example) or the RF link through RF antenna 52. The printer may be unavailable for a variety of reasons, for example if the remote control 10 is not docked, it is out of RF range with the base station, or the printer is communicating but has no paper. If the printer is unavailable, the remote control 10 attempts to store the requested data output for later printing, if, for example, memory is available (Step 2412). If the printer is available, the remote control 10 transfers the current data (Step 2414) and any previously stored data (Step 2416).
  • FIG. 25 illustrates how the data is output by the remote control [0169] 10 (block diagram 25 a) along with how the data is handled by a base station (block diagram 25 b). The remote control 10 determines if the data will be sent remotely or locally (Step 2510). Depending of the application, it may be desirable to send data remotely, to a remote base station, even while the remote control 10 is docked in docking station 700. For other applications, the remote control automatically configures itself to send data either locally or remotely depending on whether or not it is docked.
  • If the data is not sent locally (and it is desired to print it because the [0170] print icon 2200 was selected) the “Printer” header is appended to the data (Step 2512). The data is transmitted (Step 2514) via RF link 2516 to the base station. The printer module 706′ receives the data block (Step 2518) and tests for an output header, specifically a “Printer” header (Step 2520). If a “Printer” header is detected, the header is stripped off and the data is routed to the printer 710 (Step 2522). If a “Printer” header is not detected, the data can be sent to a personal computer, set-top box, game console with Web access, home gateway, etc. acting as a server 1420 which is linked to the base station (Step 2524). To increase system flexibility it is desirable if the destination device communicate status to the remote control 10.
  • FIG. 26 illustrates via [0171] flow charts 26 a and 26 b how status 2610 may be communicated back to the remote control 10 when the remote interface configuration (configuration 2 of FIG. 23) is in use. A data block containing printer status and a “Printer” header is constructed (Step 2612). The status data is transmitted (Step 2614) via RF link 2616 (note that link 2616 is from the base station to the remote control 10 and link 2516 is from the remote control 10 to the base station). Other data from other components, e.g., from the server, may be coupled with the status data and transmitted over link 2616 (Step 2618). The remote control 10 receives the data through RF antenna 52 (Step 2620) and routes the data to the appropriate applications, e.g., server data to browser application (Step 2622) and print data to printer application (Step 2624).
  • While aspects of the invention has been particularly shown and described with reference to particular embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. The scope of the claimed invention is intended to be defined by following claims as they would be understood by one of ordinary skill in the art with appropriate reference to the specification, including the drawings, as warranted. [0172]

Claims (44)

What is claimed is:
1. A communication system, comprising:
a hand-held wireless controller having a display, the hand-held wireless controller operable to transmit command codes to control the operation of a first consumer electronic device and to receive data to be printed from a second consumer electronic device and to display a representation of the data to be printed in the display;
a base station adapted to receive communications from the wireless controller including the data to be printed; and
a printer coupled to the base station for use in creating a print output based on the data to be printed.
2. The communication system as recited in claim 1, wherein the first consumer electronic device and the second consumer electronic device are the same consumer electronic device.
3. The communication system as recited in claim 1, wherein the first consumer electronic device comprises a television and the second consumer electronic device comprises a set-top box.
4. The communication system as recited in claim 1, wherein the first consumer electronic device comprises a television and the second consumer electronic device comprises a personal computer.
5. The communication system as recited in claim 1, wherein the hand-held wireless controller and the base station have cooperating contacts for removably coupling the wireless controller to the base station.
6. The communication system as recited in claim 1, wherein the hand-held wireless controller comprises a power source and wherein the base station is adapted to recharge the power source when the hand-held wireless controller is coupled to the base station.
7. The communication system as recited in claim 1, wherein the hand-held wireless controller and the base station communicate using RF transmissions.
8. The communication system as recited in claim 7, further comprising a personal computer which provides server functionality coupled to the base station for receiving from the base station data transmitted from the wireless controller and wherein the base station comprises a controller for directing data to the printer or to the personal computer.
9. The communication system as recited in claim 7, further comprising a set-top box which provides server functionality coupled to the base station for receiving from the base station data transmitted from the wireless controller and wherein the base station comprises a controller for directing data to the printer or to the set-top box.
10. The communication system as recited in claim 7, further comprising a Web-enabled game console which provides server functionality coupled to the base station for receiving from the base station data transmitted from the wireless controller and wherein the base station comprises a controller for directing data to the printer or to the Web-enabled game console.
11. The communication system as recited in claim 7, further comprising a home gateway box which provides server functionality coupled to the base station for receiving from the base station data transmitted from the wireless controller and wherein the base station comprises a controller for directing data to the printer or to the home gateway.
12. The communication system as recited in claim 8, wherein the personal computer and the base station are adapted to communicate using serial transmissions.
13. The communication system as recited in claim 1, wherein the printer is integral with the base station.
14. The communication system as recited in claim 1, wherein the data to be printed comprises data representative of a bar code.
15. The communication system as recited in claim 14, wherein the printer comprises programming for printing industry standard formatted bar codes.
16. A base station for use in a communication system comprising a hand-held wireless controller adapted to interface with a consumer electronic device, the base station comprising:
coupling means for coupling the hand-held wireless controller to the base station to receive data from the hand-held wireless controller; and
a printer to print output based on the data.
17. The base station as recited in claim 16, wherein the coupling means comprises a RF adapter for receiving RF signals including the data from the hand-held wireless controller.
18. The base station as recited in claim 16, wherein the coupling means comprises a contact adapted to mate with a cooperating contact on the hand-held wireless controller.
19. The base station as recited in claim 16, comprising a cradle adapted to removably receive the hand-held wireless controller.
20. The base station as recited in claim 19, wherein the base station is adapted to recharge a power supply within the hand-held wireless controller while the hand-held wireless controller is received in the cradle.
21. The base station as recited in claim 19, wherein the printer is integral with the cradle.
22. The base station as recited in claim 19, wherein the cradle has a side and the printer comprises a paper discharge parallel with the side.
23. A hand-held wireless controller adapted to control a consumer electronic device and communicate with a base station, the hand-held wireless controller comprising:
a memory storing a plurality of command codes for use in commanding the operation of the consumer electronic device;
a first transmitter for transmitting signals representative of command codes to the consumer electronic device;
a receiver for receiving data to be printed;
a display module comprising a touch panel through which a user may select at least one of the plurality of command codes to transmit to the consumer appliance via the first transmitter and for displaying an image representative of the data to be printed; and
a second transmitter for transmitting a signal indicative of the data to be printed to the base station.
24. The hand-held wireless controller as recited in claim 23, wherein the second transmitter comprises an electrical contact for mating with a cooperating contact in the base station.
25. A base station for use in a communication system comprising a hand-held wireless controller adapted to interface with a consumer electronic device, the base station comprising:
a cradle to receive the hand-held wireless controller having contacts through which data is routed between the wireless controller and the base station;
a printer connected to the cradle to print output based on the data received from the hand-held wireless controller; and
a print controller connected to the printer and the contacts for controlling the printing of the data.
26. The base station as recited in claim 25, wherein the printer is integral with the cradle.
27. A base station for use in a communication system comprising a wireless controller adapted to interface with a consumer electronic device, the base comprising:
an RF adapter for receiving data from the wireless controller;
a printer adapted to print output based on the data received from the wireless controller;
a personal computer which provides server functionality for receiving data received from the wireless controller; and
a controller linked to the RF adapter for routing the data to the printer or the personal computer.
28. The base station as recited in claim 27, wherein the controller routes data to the printer or the personal computer based upon header information contained in the received data.
29. A method for handling data in a system having a hand-held wireless controller having a display in communication with a consumer appliance and a base station having an associated printer, the method comprising:
displaying within the display of the hand-held wireless controller an image representative of data to be printed which is received from the consumer appliance;
accepting at the hand-held wireless controller a request to print the data as represented in the display;
transmitting a request from the hand-held wireless controller to the base station to determine if the printer is available for printing the representation of the image in the display and, if the printer is available, transmitting from the hand-held wireless controller to the base station a signal representative of the data for use by the printer to create a hard-copy representation of the data.
30. The method as recited in claim 29, wherein the data representative of the image in the display comprises data representative of a bar code.
31. The method as recited in claim 29, further comprising the steps of monitoring use of the consumer appliance and transmitting from the consumer appliance to the hand-held wireless controller the data to be printed as a function of the monitored use of the consumer appliance.
32. The method as recited in claim 31, wherein the data to be printed is targeted advertising.
33. The method as recited in claim 31, wherein the data to be printed is an order confirmation.
34. A method of delivering printable information, comprising:
transmitting candidate data for printing to a hand-held wireless controller adapted to transmit control signals to a consumer electronic device;
displaying on the hand-held wireless controller an image representative of the candidate data to be printed; and
in response to a request to print the printable information, communicating the data to be printed from the hand-held wireless controller to a base station adapted to interface to a printer.
35. The method as recited in claim 34, further comprising the step of storing the data to be printed locally in the hand-held wireless controller device until such time as communication with the base station is enabled.
36. The method as recited in claim 35, further comprising the step of enabling printing when the hand-held wireless controller is docked into a cradle provided as part of the base station.
37. The method as recited in claim 35, wherein the step of communicating further comprising the step of establishing an RF communication link between the hand-held wireless controller and the base station.
38. The method as recited in claim 34, wherein the data comprises a coupon.
39. The method as recited in claim 34, wherein the data comprises a ticket to an event.
40. The method as recited in claim 34, wherein the data comprises a targeted advertisement.
41. The method as recited in claim 34, wherein the data comprises information regarding a product offering.
42. The method as recited in claim 34, wherein the data to be printed comprises confirmation of an order or purchase transaction.
43. The method as recited in claim 34, wherein the data to be printed comprises driving directions.
44. The communication system as recited in claim 1, wherein the hand-held wireless controller has a browser application for displaying a mark-up language page within the display wherein the mark-up language page includes the data to be printed.
US09/973,354 2001-05-02 2001-10-09 Universal remote control with display and printer Expired - Fee Related US6859197B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US09/973,354 US6859197B2 (en) 2001-05-02 2001-10-09 Universal remote control with display and printer
PCT/US2002/009131 WO2002091737A1 (en) 2001-05-02 2002-03-26 Universal remote control with display and printer
EP02721568A EP1393550A1 (en) 2001-05-02 2002-03-26 Universal remote control with display and printer cross reference to relate applications
CA002444934A CA2444934A1 (en) 2001-05-02 2002-03-26 Universal remote control with display and printer cross reference to relate applications

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28819201P 2001-05-02 2001-05-02
US09/973,354 US6859197B2 (en) 2001-05-02 2001-10-09 Universal remote control with display and printer

Publications (2)

Publication Number Publication Date
US20020190956A1 true US20020190956A1 (en) 2002-12-19
US6859197B2 US6859197B2 (en) 2005-02-22

Family

ID=26964881

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/973,354 Expired - Fee Related US6859197B2 (en) 2001-05-02 2001-10-09 Universal remote control with display and printer

Country Status (4)

Country Link
US (1) US6859197B2 (en)
EP (1) EP1393550A1 (en)
CA (1) CA2444934A1 (en)
WO (1) WO2002091737A1 (en)

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030038849A1 (en) * 2001-07-10 2003-02-27 Nortel Networks Limited System and method for remotely interfacing with a plurality of electronic devices
US20040021646A1 (en) * 2002-08-01 2004-02-05 Fujitsu Limited Portable information terminal
US20040165011A1 (en) * 2003-02-26 2004-08-26 David Quijano Systems and methods for controlling user-controlled devices using data stored on a portable storage medium
US20050025493A1 (en) * 2003-07-28 2005-02-03 Jurgis Astrauskas Method and apparatus for using a close proximity probe for optical communication with a device external to the probe
US20050025503A1 (en) * 2003-07-28 2005-02-03 Jurgis Astrauskas Method and apparatus for operating an optical receiver for low intensity optical communication in a high speed mode
US20050024330A1 (en) * 2003-07-28 2005-02-03 Jurgis Astrauskas Method and apparatus for independent control of low intensity indicators used for optical communication in an appliance
US20050052419A1 (en) * 2003-08-22 2005-03-10 Kyocera Wireless Corp. Hand-held electronic device with improved keyboard
US20050073422A1 (en) * 2003-09-18 2005-04-07 Graff Timothy E. Method and apparatus for enabling optical communication through low intensity indicators in an appliance that uses a vacuum flourescent display
US20050248528A1 (en) * 2004-05-04 2005-11-10 Logitech Europe S.A. Time management in presentation device
US20050267876A1 (en) * 2004-05-31 2005-12-01 Kabushiki Kaisha Toshiba Electronic apparatus
US20060041655A1 (en) * 2004-05-06 2006-02-23 Marty Holloway Bi-directional remote control for remotely controllable apparatus
US20060143572A1 (en) * 2004-09-08 2006-06-29 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US20060229040A1 (en) * 2003-06-25 2006-10-12 Jurgen Hofer Remote control for issuing commands to a remote-controlled device
US20060247851A1 (en) * 2005-03-08 2006-11-02 Morris Robert P Mobile phone having a TV remote style user interface
US20060259864A1 (en) * 2001-11-20 2006-11-16 Universal Electronics Inc. Hand held remote control device having an improved user interface
US20060288300A1 (en) * 2004-09-08 2006-12-21 Universal Electronics Inc. Configurable controlling device and associated configuration upload and download system and method
US20070111720A1 (en) * 2003-02-04 2007-05-17 Masumi Ishiwatari Remote control system, remote control apparatus, remote control method, program for implementing the method, and electronic appartus
US20070204308A1 (en) * 2004-08-04 2007-08-30 Nicholas Frank C Method of Operating a Channel Recommendation System
US7283059B2 (en) 2000-03-15 2007-10-16 Logitech Europe S.A. Remote control multimedia content listing system
US7315148B2 (en) 2003-07-28 2008-01-01 Emerson Electric Co. Method and apparatus for conserving battery for operation of a low intensity optical communication probe
US20080005679A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Context specific user interface
US7321732B2 (en) 2003-07-28 2008-01-22 Emerson Electric Co. Method and apparatus for improving noise immunity for low intensity optical communication
US20080186410A1 (en) * 2007-02-02 2008-08-07 Sony Corporation System and method for effectively implementing a charging base for a remote control device
US7436319B1 (en) 2000-03-15 2008-10-14 Logitech Europe S.A. Method and apparatus for uploading and downloading remote control codes
US7444401B1 (en) * 2002-11-18 2008-10-28 Arkion Systems Llc Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US7523209B1 (en) * 2002-09-04 2009-04-21 Nvidia Corporation Protocol and interface for source-synchronous digital link
US20090143058A1 (en) * 2002-03-28 2009-06-04 At&T Intellectual Property I, L.P. Telephone with dynamically programmable push buttons for access to advanced applications
US7559664B1 (en) 2004-12-27 2009-07-14 John V. Walleman Low profile backlighting using LEDs
US20100329087A1 (en) * 2009-06-30 2010-12-30 Dreamer Device-specific and application-specific computing device, playback device and method for controlling playback device using computing device
US20110032191A1 (en) * 2009-08-04 2011-02-10 Cooke Benjamin T Video system and remote control with touch interface for supplemental content display
US20110037574A1 (en) * 2009-08-13 2011-02-17 At&T Intellectual Property I, L.P. Programming a universal remote control via a point-of-sale system
US20110128228A1 (en) * 2009-11-30 2011-06-02 Sony Corporation Programmable Remote Control
US8026789B2 (en) 2000-03-15 2011-09-27 Logitech Europe S.A. State-based remote control system
US20110255100A1 (en) * 2008-09-26 2011-10-20 Elke De Munck Label printer
US20120081287A1 (en) * 2010-10-01 2012-04-05 Kim Kanguk Mobile terminal and application controlling method therein
US20120271460A1 (en) * 2011-04-22 2012-10-25 Rognli Roger W Universal demand-response remote control for ductless split system
US8509400B2 (en) 2005-04-20 2013-08-13 Logitech Europe S.A. System and method for adaptive programming of a remote control
US8531276B2 (en) 2000-03-15 2013-09-10 Logitech Europe S.A. State-based remote control system
US8660134B2 (en) 2011-10-27 2014-02-25 Mueller International, Llc Systems and methods for time-based hailing of radio frequency devices
US8690117B2 (en) 2006-05-04 2014-04-08 Capstone Metering Llc Water meter
US20140143810A1 (en) * 2006-09-13 2014-05-22 Savant Systems, Llc Remote control unit for a programmable multimedia controller
US8823509B2 (en) 2009-05-22 2014-09-02 Mueller International, Llc Infrastructure monitoring devices, systems, and methods
US8833390B2 (en) 2011-05-31 2014-09-16 Mueller International, Llc Valve meter assembly and method
US8855569B2 (en) 2011-10-27 2014-10-07 Mueller International, Llc Systems and methods for dynamic squelching in radio frequency devices
US8866634B2 (en) 2006-05-04 2014-10-21 Capstone Metering Llc System and method for remotely monitoring and controlling a water meter
US20140317557A1 (en) * 2002-03-19 2014-10-23 Facebook, Inc. Constraining display motion in display navigation
US8918544B2 (en) 2011-03-31 2014-12-23 Logitech Europe S.A. Apparatus and method for configuration and operation of a remote-control system
US8931505B2 (en) 2010-06-16 2015-01-13 Gregory E. HYLAND Infrastructure monitoring devices, systems, and methods
US9202362B2 (en) 2008-10-27 2015-12-01 Mueller International, Llc Infrastructure monitoring system and method
US9239837B2 (en) 2011-04-29 2016-01-19 Logitech Europe S.A. Remote control system for connected devices
US9298334B1 (en) * 2011-02-18 2016-03-29 Marvell International Ltd. Method and apparatus for providing a user interface having a guided task flow among a plurality of devices
US20160232944A1 (en) * 2015-02-11 2016-08-11 Jorge L. Estrada Remotely Controlled Audio and Video Recording System
US9494249B2 (en) 2014-05-09 2016-11-15 Mueller International, Llc Mechanical stop for actuator and orifice
US9565620B2 (en) 2014-09-02 2017-02-07 Mueller International, Llc Dynamic routing in a mesh network
US9582993B2 (en) * 2015-06-19 2017-02-28 Grand Mate Co., Ltd. Home appliance, control device thereof, and method of assembling the control device
US9720575B2 (en) 2004-09-08 2017-08-01 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US10046244B2 (en) 2002-06-14 2018-08-14 Dizpersion Corporation Method and system for operating and participating in fantasy leagues
US10180414B2 (en) 2013-03-15 2019-01-15 Mueller International, Llc Systems for measuring properties of water in a water distribution system
US10579258B2 (en) * 2018-07-16 2020-03-03 Honeywell International Inc. Customizable gesture controller
US20200221157A1 (en) * 2008-06-27 2020-07-09 Universal Electronics Inc. System and method for ubiquitous appliance control
US11041839B2 (en) 2015-06-05 2021-06-22 Mueller International, Llc Distribution system monitoring
US11430325B2 (en) * 2013-06-26 2022-08-30 Google Llc Methods, systems, and media for controlling a remote device using a touch screen of a mobile device in a display inhibited state
US11480904B2 (en) 2018-11-06 2022-10-25 Hewlett-Packard Development Company, L.P. Iconographic control panel of an image forming apparatus
US11687217B2 (en) 2004-09-08 2023-06-27 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US11725366B2 (en) 2020-07-16 2023-08-15 Mueller International, Llc Remote-operated flushing system

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
WO2002046867A2 (en) 2000-11-01 2002-06-13 Flexiworld Technologies, Inc. Controller and manager for device-to-device pervasive digital output
US7318086B2 (en) 2000-11-20 2008-01-08 Flexiworld Technologies, Inc. System for mobile and pervasive output
US20020097408A1 (en) 2001-01-19 2002-07-25 Chang William Ho Output device for universal data output
US20030073432A1 (en) * 2001-10-16 2003-04-17 Meade, William K. Mobile computing device with method and system for interrupting content performance among appliances
US10235873B2 (en) * 2001-12-20 2019-03-19 Universal Electronics Inc. System and method to facilitate configuration of a controlling device
US7831278B2 (en) * 2001-12-18 2010-11-09 Intel Corporation Method and device for communicating data with a personal wireless storage device
US20030115415A1 (en) * 2001-12-18 2003-06-19 Roy Want Portable memory device
US20030115038A1 (en) * 2001-12-18 2003-06-19 Roy Want Method and device for emulating electronic apparatus
US7202783B2 (en) * 2001-12-18 2007-04-10 Intel Corporation Method and system for identifying when a first device is within a physical range of a second device
US20030177491A1 (en) * 2002-03-13 2003-09-18 Butikofer Chet M. Audio/video device connection with a printer for printing documents
SE520932C2 (en) * 2002-03-18 2003-09-16 Optillion Ab communication Module
US20040001095A1 (en) * 2002-07-01 2004-01-01 Todd Marques Method and apparatus for universal device management
JP2004120577A (en) * 2002-09-27 2004-04-15 Alps Electric Co Ltd Equipment controller
WO2004075004A2 (en) * 2003-02-14 2004-09-02 Mattel, Inc. Hand-held interactive electronic device
KR100584451B1 (en) * 2003-06-18 2006-05-26 삼성전자주식회사 Apparatus and method for control an electronic device using potable terminal
US7343564B2 (en) * 2003-08-11 2008-03-11 Core Mobility, Inc. Systems and methods for displaying location-based maps on communication devices
US7441203B2 (en) * 2003-08-11 2008-10-21 Core Mobility, Inc. Interactive user interface presentation attributes for location-based content
JP4487622B2 (en) * 2004-04-28 2010-06-23 ヤマハ株式会社 Peripheral equipment control device
US20060022895A1 (en) * 2004-07-28 2006-02-02 Williams David A Remote control unit with memory interface
KR100617790B1 (en) * 2004-12-27 2006-08-28 삼성전자주식회사 Terminal and method for displaying information of digital broadcasting channel
JP2006227843A (en) * 2005-02-16 2006-08-31 Sony Corp Content information management system, content information management device, content information management method and computer program
KR20060099982A (en) * 2005-03-15 2006-09-20 삼성전자주식회사 Digital composite apparatus and method to display information thereof
US8205013B2 (en) * 2005-05-02 2012-06-19 Samsung Electronics Co., Ltd. Method and system for aggregating the control of middleware control points
US9277156B2 (en) * 2005-11-30 2016-03-01 Broadcom Corporation Universal parallel television remote control
US9247175B2 (en) * 2005-11-30 2016-01-26 Broadcom Corporation Parallel television remote control
US7699229B2 (en) 2006-01-12 2010-04-20 Broadcom Corporation Laptop based television remote control
US20070233731A1 (en) * 2006-02-22 2007-10-04 Logitech Europe S.A. System and method for configuring media systems
US8028283B2 (en) * 2006-03-20 2011-09-27 Samsung Electronics Co., Ltd. Method and system for automated invocation of device functionalities in a network
US20070279389A1 (en) * 2006-05-31 2007-12-06 Samsung Electronics Co., Ltd. Method of task-oriented universal remote control user interface
US20090207134A1 (en) * 2008-02-14 2009-08-20 Netgear Inc. Remote control apparatus with integrated positional responsive alphabetic keyboard
US20090284472A1 (en) * 2008-05-19 2009-11-19 Omega3 Systems, Inc. System and method for controlling an electronic device
CN102047156B (en) * 2008-05-30 2014-03-26 皇家飞利浦电子股份有限公司 Round illumination device
US20110004505A1 (en) * 2009-07-01 2011-01-06 Yang Pan Methods of media asset distribution by employing electronic apparatus
US20110029383A1 (en) * 2009-07-28 2011-02-03 Randy Engel System and method for providing advertising content via an integrated home based device
US20110191516A1 (en) * 2010-02-04 2011-08-04 True Xiong Universal touch-screen remote controller
TW201207751A (en) * 2010-08-06 2012-02-16 Hometouch Co Ltd Television shopping system and its method
US8508401B1 (en) 2010-08-31 2013-08-13 Logitech Europe S.A. Delay fixing for command codes in a remote control system
US9019537B2 (en) 2013-01-22 2015-04-28 Canon Kabushiki Kaisha Systems and methods for providing status monitor capability to printing devices
US10706426B2 (en) * 2014-04-30 2020-07-07 Ncr Corporation Automated remote transaction assistance
US11599370B2 (en) * 2017-09-01 2023-03-07 Automobility Distribution Inc. Device control app with advertising

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4828406A (en) * 1986-07-16 1989-05-09 Citisource Inc. Portable ticket issuing device
US5005084A (en) * 1989-12-19 1991-04-02 North American Philips Corporation Remote control television system using supplementary unit for simplified personalized control
US5410326A (en) * 1992-12-04 1995-04-25 Goldstein; Steven W. Programmable remote control device for interacting with a plurality of remotely controlled devices
US5648760A (en) * 1991-12-10 1997-07-15 Khyber Technologies Corporation Portable messaging and scheduling device with homebase station
US5710605A (en) * 1996-01-11 1998-01-20 Nelson; Rickey D. Remote control unit for controlling a television and videocassette recorder with a display for allowing a user to select between various programming schedules
US5710557A (en) * 1996-07-25 1998-01-20 Htv, Inc. Computerized valet parking system
US5724106A (en) * 1995-07-17 1998-03-03 Gateway 2000, Inc. Hand held remote control device with trigger button
US5835864A (en) * 1991-10-03 1998-11-10 Thomson Consumer Electronics S.A. Method and apparatus for customizing a device with a smart card
US5901366A (en) * 1995-05-02 1999-05-04 Sony Corporation Program selection method and apparatus using cordless telephone set
US6002450A (en) * 1997-03-24 1999-12-14 Evolve Products, Inc. Two-way remote control with advertising display
US6040829A (en) * 1998-05-13 2000-03-21 Croy; Clemens Personal navigator system
US6097441A (en) * 1997-12-31 2000-08-01 Eremote, Inc. System for dual-display interaction with integrated television and internet content
US6104334A (en) * 1997-12-31 2000-08-15 Eremote, Inc. Portable internet-enabled controller and information browser for consumer devices
US6130726A (en) * 1997-03-24 2000-10-10 Evolve Products, Inc. Program guide on a remote control display
US6256019B1 (en) * 1999-03-30 2001-07-03 Eremote, Inc. Methods of using a controller for controlling multi-user access to the functionality of consumer devices
US6278499B1 (en) * 1997-03-24 2001-08-21 Evolve Products, Inc. Two-way remote control with advertising display
US6285357B1 (en) * 1997-09-25 2001-09-04 Mitsubishi Denki Kabushiki Kaisha Remote control device
US6517266B2 (en) * 2001-05-15 2003-02-11 Xerox Corporation Systems and methods for hand-held printing on a surface or medium
US6587835B1 (en) * 2000-02-09 2003-07-01 G. Victor Treyz Shopping assistance with handheld computing device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4894789A (en) 1988-02-22 1990-01-16 Yee Keen Y TV data capture device
JPH06503894A (en) 1990-08-16 1994-04-28 ゼネラル・パラメトリックス・コーポレーション Display control device including auxiliary display device
US5302970A (en) 1992-06-22 1994-04-12 Abovo, Inc. Personal communication device
US5624265A (en) 1994-07-01 1997-04-29 Tv Interactive Data Corporation Printed publication remote contol for accessing interactive media
FR2726670A1 (en) 1994-11-09 1996-05-10 Fast France Adv Sys Tech Sarl Data processing system for television in digital or analog network
US5671267A (en) 1994-12-30 1997-09-23 Lucent Technologies Inc. Interactive system for communications between a cordless telephone and a remotely operated device
US5574964A (en) 1995-05-30 1996-11-12 Apple Computer, Inc. Signal distribution system
US5831664A (en) 1995-12-15 1998-11-03 Mediaone Group, Inc. Method and system for synchronizing data between at least one mobile interface device and an interactive terminal
US5761606A (en) 1996-02-08 1998-06-02 Wolzien; Thomas R. Media online services access via address embedded in video or audio program
US6483548B1 (en) 1998-12-28 2002-11-19 Research Investment Network, Inc. Method of data display for electronic program guides (EPGs)
US6757001B2 (en) 1999-03-30 2004-06-29 Research Investment Network, Inc. Method of using physical buttons in association with a display to access and execute functions available through associated hardware and software

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4828406A (en) * 1986-07-16 1989-05-09 Citisource Inc. Portable ticket issuing device
US5005084A (en) * 1989-12-19 1991-04-02 North American Philips Corporation Remote control television system using supplementary unit for simplified personalized control
US5835864A (en) * 1991-10-03 1998-11-10 Thomson Consumer Electronics S.A. Method and apparatus for customizing a device with a smart card
US5648760A (en) * 1991-12-10 1997-07-15 Khyber Technologies Corporation Portable messaging and scheduling device with homebase station
US5410326A (en) * 1992-12-04 1995-04-25 Goldstein; Steven W. Programmable remote control device for interacting with a plurality of remotely controlled devices
US5901366A (en) * 1995-05-02 1999-05-04 Sony Corporation Program selection method and apparatus using cordless telephone set
US5724106A (en) * 1995-07-17 1998-03-03 Gateway 2000, Inc. Hand held remote control device with trigger button
US5710605A (en) * 1996-01-11 1998-01-20 Nelson; Rickey D. Remote control unit for controlling a television and videocassette recorder with a display for allowing a user to select between various programming schedules
US5710557A (en) * 1996-07-25 1998-01-20 Htv, Inc. Computerized valet parking system
US6002450A (en) * 1997-03-24 1999-12-14 Evolve Products, Inc. Two-way remote control with advertising display
US6130726A (en) * 1997-03-24 2000-10-10 Evolve Products, Inc. Program guide on a remote control display
US6278499B1 (en) * 1997-03-24 2001-08-21 Evolve Products, Inc. Two-way remote control with advertising display
US6285357B1 (en) * 1997-09-25 2001-09-04 Mitsubishi Denki Kabushiki Kaisha Remote control device
US6097441A (en) * 1997-12-31 2000-08-01 Eremote, Inc. System for dual-display interaction with integrated television and internet content
US6104334A (en) * 1997-12-31 2000-08-15 Eremote, Inc. Portable internet-enabled controller and information browser for consumer devices
US6040829A (en) * 1998-05-13 2000-03-21 Croy; Clemens Personal navigator system
US6256019B1 (en) * 1999-03-30 2001-07-03 Eremote, Inc. Methods of using a controller for controlling multi-user access to the functionality of consumer devices
US6587835B1 (en) * 2000-02-09 2003-07-01 G. Victor Treyz Shopping assistance with handheld computing device
US6517266B2 (en) * 2001-05-15 2003-02-11 Xerox Corporation Systems and methods for hand-held printing on a surface or medium

Cited By (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8674815B1 (en) 2000-03-15 2014-03-18 Logitech Europe S.A. Configuration method for a remote
US8653950B2 (en) 2000-03-15 2014-02-18 Logitech Europe S.A. State-based remote control system
US7436319B1 (en) 2000-03-15 2008-10-14 Logitech Europe S.A. Method and apparatus for uploading and downloading remote control codes
US8854192B1 (en) 2000-03-15 2014-10-07 Logitech Europe S.A. Configuration method for a remote
US8330582B2 (en) 2000-03-15 2012-12-11 Logitech Europe S.A. Online remote control configuration system
US7944370B1 (en) 2000-03-15 2011-05-17 Logitech Europe S.A. Configuration method for a remote control via model number entry for a controlled device
US7283059B2 (en) 2000-03-15 2007-10-16 Logitech Europe S.A. Remote control multimedia content listing system
US8742905B2 (en) 2000-03-15 2014-06-03 Logitech Europe S.A. Easy to use and intuitive user interface for a remote control
US7889095B1 (en) 2000-03-15 2011-02-15 Logitech Europe S.A. Method and apparatus for uploading and downloading remote control codes
US8674814B2 (en) 2000-03-15 2014-03-18 Logitech Europe S.A. State-based remote control system
US8704643B2 (en) 2000-03-15 2014-04-22 Logitech Europe S.A. Convenient and easy to use button layout for a remote control
US8531276B2 (en) 2000-03-15 2013-09-10 Logitech Europe S.A. State-based remote control system
US8026789B2 (en) 2000-03-15 2011-09-27 Logitech Europe S.A. State-based remote control system
US20030038849A1 (en) * 2001-07-10 2003-02-27 Nortel Networks Limited System and method for remotely interfacing with a plurality of electronic devices
US7610555B2 (en) * 2001-11-20 2009-10-27 Universal Electronics, Inc. Hand held remote control device having an improved user interface
US20060259864A1 (en) * 2001-11-20 2006-11-16 Universal Electronics Inc. Hand held remote control device having an improved user interface
US9851864B2 (en) 2002-03-19 2017-12-26 Facebook, Inc. Constraining display in display navigation
US9753606B2 (en) 2002-03-19 2017-09-05 Facebook, Inc. Animated display navigation
US20140317557A1 (en) * 2002-03-19 2014-10-23 Facebook, Inc. Constraining display motion in display navigation
US9626073B2 (en) 2002-03-19 2017-04-18 Facebook, Inc. Display navigation
US10055090B2 (en) 2002-03-19 2018-08-21 Facebook, Inc. Constraining display motion in display navigation
US9678621B2 (en) 2002-03-19 2017-06-13 Facebook, Inc. Constraining display motion in display navigation
US10365785B2 (en) * 2002-03-19 2019-07-30 Facebook, Inc. Constraining display motion in display navigation
US9886163B2 (en) 2002-03-19 2018-02-06 Facebook, Inc. Constrained display navigation
US20090143058A1 (en) * 2002-03-28 2009-06-04 At&T Intellectual Property I, L.P. Telephone with dynamically programmable push buttons for access to advanced applications
US7835731B2 (en) * 2002-03-28 2010-11-16 At & T Intellectual Property Ii, L.P. Telephone with dynamically programmable push buttons for access to advanced applications
US10046244B2 (en) 2002-06-14 2018-08-14 Dizpersion Corporation Method and system for operating and participating in fantasy leagues
US7176901B2 (en) * 2002-08-01 2007-02-13 Fujitsu Limited Portable information terminal
US20040021646A1 (en) * 2002-08-01 2004-02-05 Fujitsu Limited Portable information terminal
US8041841B1 (en) 2002-09-04 2011-10-18 Nvidia Corporation Protocol and interface for source-synchronous digital link
US7523209B1 (en) * 2002-09-04 2009-04-21 Nvidia Corporation Protocol and interface for source-synchronous digital link
US7783738B2 (en) * 2002-11-18 2010-08-24 Mueller International, Inc. Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US7792946B2 (en) * 2002-11-18 2010-09-07 Mueller International, Inc. Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US20090040057A1 (en) * 2002-11-18 2009-02-12 Arkion Systems Llc Method and Apparatus for Inexpensively Monitoring and Controlling Remotely Distributed Appliances
US20090287966A1 (en) * 2002-11-18 2009-11-19 Seyamak Keyghobad Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US20090287838A1 (en) * 2002-11-18 2009-11-19 Seyamak Keyghobad Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US20090319853A1 (en) * 2002-11-18 2009-12-24 Seyamak Keyghobad Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US8549131B2 (en) 2002-11-18 2013-10-01 Mueller International, Llc Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US8407333B2 (en) 2002-11-18 2013-03-26 Mueller International, Llc Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US7752309B2 (en) 2002-11-18 2010-07-06 Mueller International, Inc. Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US7444401B1 (en) * 2002-11-18 2008-10-28 Arkion Systems Llc Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US8140667B2 (en) 2002-11-18 2012-03-20 Mueller International, Llc Method and apparatus for inexpensively monitoring and controlling remotely distributed appliances
US7822409B2 (en) * 2003-02-04 2010-10-26 Canon Kabushiki Kaisha Remote control system, remote control apparatus, remote control method, program for implementing the method, and electronic apparatus
US20070111720A1 (en) * 2003-02-04 2007-05-17 Masumi Ishiwatari Remote control system, remote control apparatus, remote control method, program for implementing the method, and electronic appartus
US20040165011A1 (en) * 2003-02-26 2004-08-26 David Quijano Systems and methods for controlling user-controlled devices using data stored on a portable storage medium
US20060229040A1 (en) * 2003-06-25 2006-10-12 Jurgen Hofer Remote control for issuing commands to a remote-controlled device
US7679524B2 (en) * 2003-06-25 2010-03-16 Siemens Aktiengesellschaft Remote control for issuing commands to a remote-controlled device
US20050024330A1 (en) * 2003-07-28 2005-02-03 Jurgis Astrauskas Method and apparatus for independent control of low intensity indicators used for optical communication in an appliance
US20050025503A1 (en) * 2003-07-28 2005-02-03 Jurgis Astrauskas Method and apparatus for operating an optical receiver for low intensity optical communication in a high speed mode
US7321732B2 (en) 2003-07-28 2008-01-22 Emerson Electric Co. Method and apparatus for improving noise immunity for low intensity optical communication
US7091932B2 (en) 2003-07-28 2006-08-15 Emerson Electric Co. Method and apparatus for independent control of low intensity indicators used for optical communication in an appliance
US7315148B2 (en) 2003-07-28 2008-01-01 Emerson Electric Co. Method and apparatus for conserving battery for operation of a low intensity optical communication probe
US7280769B2 (en) 2003-07-28 2007-10-09 Emerson Electric Co. Method and apparatus for operating an optical receiver for low intensity optical communication in a high speed mode
US20050025493A1 (en) * 2003-07-28 2005-02-03 Jurgis Astrauskas Method and apparatus for using a close proximity probe for optical communication with a device external to the probe
US20050052419A1 (en) * 2003-08-22 2005-03-10 Kyocera Wireless Corp. Hand-held electronic device with improved keyboard
US20050073422A1 (en) * 2003-09-18 2005-04-07 Graff Timothy E. Method and apparatus for enabling optical communication through low intensity indicators in an appliance that uses a vacuum flourescent display
US7095333B2 (en) 2003-09-18 2006-08-22 Emerson Electric Company Method and apparatus for enabling optical communication through low intensity indicators in an appliance that uses a vacuum fluorescent display
US20050248528A1 (en) * 2004-05-04 2005-11-10 Logitech Europe S.A. Time management in presentation device
US20060041655A1 (en) * 2004-05-06 2006-02-23 Marty Holloway Bi-directional remote control for remotely controllable apparatus
US20050267876A1 (en) * 2004-05-31 2005-12-01 Kabushiki Kaisha Toshiba Electronic apparatus
US20070204308A1 (en) * 2004-08-04 2007-08-30 Nicholas Frank C Method of Operating a Channel Recommendation System
US9172915B2 (en) 2004-08-04 2015-10-27 Dizpersion Corporation Method of operating a channel recommendation system
US11656743B2 (en) 2004-09-08 2023-05-23 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US10509548B2 (en) 2004-09-08 2019-12-17 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US20060143572A1 (en) * 2004-09-08 2006-06-29 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US7743012B2 (en) 2004-09-08 2010-06-22 Universal Electronics Inc. Configurable controlling device and associated configuration upload and download system and method
US9720575B2 (en) 2004-09-08 2017-08-01 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US20060288300A1 (en) * 2004-09-08 2006-12-21 Universal Electronics Inc. Configurable controlling device and associated configuration upload and download system and method
US11119637B2 (en) 2004-09-08 2021-09-14 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US11687217B2 (en) 2004-09-08 2023-06-27 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US7941786B2 (en) * 2004-09-08 2011-05-10 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US7559664B1 (en) 2004-12-27 2009-07-14 John V. Walleman Low profile backlighting using LEDs
US20060247851A1 (en) * 2005-03-08 2006-11-02 Morris Robert P Mobile phone having a TV remote style user interface
US8509400B2 (en) 2005-04-20 2013-08-13 Logitech Europe S.A. System and method for adaptive programming of a remote control
US9207652B2 (en) 2005-04-20 2015-12-08 Logitech Europe S.A. System and method for adaptive programming of a remote control
US8690117B2 (en) 2006-05-04 2014-04-08 Capstone Metering Llc Water meter
US8866634B2 (en) 2006-05-04 2014-10-21 Capstone Metering Llc System and method for remotely monitoring and controlling a water meter
US20080005679A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Context specific user interface
US20140143810A1 (en) * 2006-09-13 2014-05-22 Savant Systems, Llc Remote control unit for a programmable multimedia controller
US9541910B2 (en) * 2006-09-13 2017-01-10 Savant Systems, Llc Remote control unit for a programmable multimedia controller
US8610834B2 (en) * 2007-02-02 2013-12-17 Sony Corporation System and method for effectively implementing a charging base for a remote control device
US20080186410A1 (en) * 2007-02-02 2008-08-07 Sony Corporation System and method for effectively implementing a charging base for a remote control device
US11102538B2 (en) * 2008-06-27 2021-08-24 Universal Electronics Inc. System and method for ubiquitous appliance control
US20200221157A1 (en) * 2008-06-27 2020-07-09 Universal Electronics Inc. System and method for ubiquitous appliance control
US20110255100A1 (en) * 2008-09-26 2011-10-20 Elke De Munck Label printer
US9649857B2 (en) 2008-09-26 2017-05-16 Dymo Label printer
US8947722B2 (en) * 2008-09-26 2015-02-03 Dymo Label printer with touchscreen-formatting of characters
US9934670B2 (en) 2008-10-27 2018-04-03 Mueller International, Llc Infrastructure monitoring system and method
US9202362B2 (en) 2008-10-27 2015-12-01 Mueller International, Llc Infrastructure monitoring system and method
US10262518B2 (en) 2008-10-27 2019-04-16 Mueller International Llc Method of disseminating monitoring information relating to contamination and corrosion within an infrastructure
US9799204B2 (en) 2009-05-22 2017-10-24 Mueller International, Llc Infrastructure monitoring system and method and particularly as related to fire hydrants and water distribution
US8823509B2 (en) 2009-05-22 2014-09-02 Mueller International, Llc Infrastructure monitoring devices, systems, and methods
US20100329087A1 (en) * 2009-06-30 2010-12-30 Dreamer Device-specific and application-specific computing device, playback device and method for controlling playback device using computing device
US8910047B2 (en) * 2009-06-30 2014-12-09 Sk Planet Co., Ltd. Device-specific and application-specific computing device, playback device and method for controlling playback device using computing device
US20110032191A1 (en) * 2009-08-04 2011-02-10 Cooke Benjamin T Video system and remote control with touch interface for supplemental content display
US9232167B2 (en) * 2009-08-04 2016-01-05 Echostar Technologies L.L.C. Video system and remote control with touch interface for supplemental content display
US20110037574A1 (en) * 2009-08-13 2011-02-17 At&T Intellectual Property I, L.P. Programming a universal remote control via a point-of-sale system
US8570158B2 (en) 2009-08-13 2013-10-29 At&T Intellectual Property I, L.P. Programming a universal remote control via a point-of-sale system
US8508482B2 (en) * 2009-11-30 2013-08-13 Neil Van der Byl Programmable remote control
US20110128228A1 (en) * 2009-11-30 2011-06-02 Sony Corporation Programmable Remote Control
US8931505B2 (en) 2010-06-16 2015-01-13 Gregory E. HYLAND Infrastructure monitoring devices, systems, and methods
US9861848B2 (en) 2010-06-16 2018-01-09 Mueller International, Llc Infrastructure monitoring devices, systems, and methods
US9849322B2 (en) 2010-06-16 2017-12-26 Mueller International, Llc Infrastructure monitoring devices, systems, and methods
US20120081287A1 (en) * 2010-10-01 2012-04-05 Kim Kanguk Mobile terminal and application controlling method therein
US9298334B1 (en) * 2011-02-18 2016-03-29 Marvell International Ltd. Method and apparatus for providing a user interface having a guided task flow among a plurality of devices
US8918544B2 (en) 2011-03-31 2014-12-23 Logitech Europe S.A. Apparatus and method for configuration and operation of a remote-control system
US20120271460A1 (en) * 2011-04-22 2012-10-25 Rognli Roger W Universal demand-response remote control for ductless split system
US20170023270A1 (en) * 2011-04-22 2017-01-26 Cooper Technologies Company Universal demand-response remote control for ductless split system
US9239837B2 (en) 2011-04-29 2016-01-19 Logitech Europe S.A. Remote control system for connected devices
US8833390B2 (en) 2011-05-31 2014-09-16 Mueller International, Llc Valve meter assembly and method
US10039018B2 (en) 2011-10-27 2018-07-31 Mueller International, Llc Systems and methods for recovering an out-of-service node in a hierarchical network
US8660134B2 (en) 2011-10-27 2014-02-25 Mueller International, Llc Systems and methods for time-based hailing of radio frequency devices
US8855569B2 (en) 2011-10-27 2014-10-07 Mueller International, Llc Systems and methods for dynamic squelching in radio frequency devices
US11255835B2 (en) 2013-03-15 2022-02-22 Mueller International, Llc Systems for measuring properties of water in a water distribution system
US10203315B2 (en) 2013-03-15 2019-02-12 Mueller International Llc Systems for measuring properties of water in a water distribution system
US10180414B2 (en) 2013-03-15 2019-01-15 Mueller International, Llc Systems for measuring properties of water in a water distribution system
US11307190B2 (en) 2013-03-15 2022-04-19 Mueller International, Llc Systems for measuring properties of water in a water distribution system
US11749102B2 (en) 2013-06-26 2023-09-05 Google Llc Methods, systems, and media for controlling a remote device using a touch screen of a mobile device in a display inhibited state
US11430325B2 (en) * 2013-06-26 2022-08-30 Google Llc Methods, systems, and media for controlling a remote device using a touch screen of a mobile device in a display inhibited state
US9494249B2 (en) 2014-05-09 2016-11-15 Mueller International, Llc Mechanical stop for actuator and orifice
US9565620B2 (en) 2014-09-02 2017-02-07 Mueller International, Llc Dynamic routing in a mesh network
US9601159B2 (en) * 2015-02-11 2017-03-21 Jorge L. Estrada Remotely controlled audio and video recording system
US20160232944A1 (en) * 2015-02-11 2016-08-11 Jorge L. Estrada Remotely Controlled Audio and Video Recording System
US11041839B2 (en) 2015-06-05 2021-06-22 Mueller International, Llc Distribution system monitoring
US9582993B2 (en) * 2015-06-19 2017-02-28 Grand Mate Co., Ltd. Home appliance, control device thereof, and method of assembling the control device
US10579258B2 (en) * 2018-07-16 2020-03-03 Honeywell International Inc. Customizable gesture controller
US11480904B2 (en) 2018-11-06 2022-10-25 Hewlett-Packard Development Company, L.P. Iconographic control panel of an image forming apparatus
US11725366B2 (en) 2020-07-16 2023-08-15 Mueller International, Llc Remote-operated flushing system

Also Published As

Publication number Publication date
CA2444934A1 (en) 2002-11-14
EP1393550A1 (en) 2004-03-03
WO2002091737A1 (en) 2002-11-14
US6859197B2 (en) 2005-02-22

Similar Documents

Publication Publication Date Title
US6859197B2 (en) Universal remote control with display and printer
US6938101B2 (en) Hand held device having a browser application
US7102688B2 (en) System and method for using a hand held device to display a readable representation of an audio track
US20020140571A1 (en) System and method for using a hand held device to display product information
US7944370B1 (en) Configuration method for a remote control via model number entry for a controlled device
KR100494602B1 (en) Input apparatus
US6437836B1 (en) Extended functionally remote control system and method therefore
US6597374B1 (en) Activity based remote control unit
US20070052675A1 (en) Remote controller and digital information control system employing the same
US20060259930A1 (en) System and method for obtaining information on digital media content
US6381507B1 (en) Command pass-through functionality in panel subunit
US20060288370A1 (en) System and method for controlling a plurality of electronic devices
US6532004B1 (en) Appliances with multiple modes of operation
JP2000083178A5 (en) Image display system and remote control system
KR100563494B1 (en) A method of controlling a target device and a communication network
CA2453713A1 (en) System and method for using a hand held device to display information
JP4665285B2 (en) Remote control device and remote control method
JP3249449B2 (en) Centralized control system for multiple devices
AU2002240348A1 (en) A hand held device having a browser application
AU2002242159A1 (en) System and method for using a hand held device to display information
JPH11143634A (en) Remote controller
JP3181133B2 (en) Electrical equipment
JP2521895B2 (en) Remote control transmitter and pre-program key setting method
JPH11312044A (en) Keyboard device
KR20000003677A (en) Touch pad typed remote controller

Legal Events

Date Code Title Description
AS Assignment

Owner name: UNIVERSAL ELECTRONICS INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KLEIN, SANDRO D.;DRESTI, MAURO;CAMPBELL, ROBERT A.;AND OTHERS;REEL/FRAME:012256/0338;SIGNING DATES FROM 20010918 TO 20011004

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: NISEL INVESTMENTS LIMITED LIABILITY COMPANY, DELAW

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:UNIVERSAL ELECTRONICS INC.;REEL/FRAME:021164/0534

Effective date: 20080617

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20130222