1. Field of the Invention
The present invention relates to wireless remote control of appliances such as, for example, garage door openers.
2. Background Art
Home appliances, such as garage door openers, security gates, home alarms, lighting, and the like, may conveniently be operated from a remote control. Typically, the remote control is purchased together with the appliance. The remote control transmits a radio frequency activation signal which is recognized by a receiver associated with the appliance. Aftermarket remote controls are gaining in popularity as such devices can offer functionality different from the original equipment remote control. Such functionality includes decreased size, use with multiple appliances, increased performance, and the like. Aftermarket controllers are also purchased to replace lost or damaged controllers or to simply provide another remote control for accessing the appliance.
An example application for aftermarket remote controls are remote garage door openers integrated into an automotive vehicle. These integrated remote controls provide customer convenience, increased safety, multiple door operation, and enhanced vehicle value. Present in-dash vehicle integrated remote controls provide a “universal” or programmable garage door opener which learns characteristics of an existing transmitter then, when prompted by a user, generates an activation signal having the same characteristics.
Two types of activation signals are commonly used, those based on a fixed code and those based on a rolling code. Fixed code activation signals transmit the same code word with each activation transmission. Typically, the fixed code word may be set by the user in the receiver and any transmitters. This may be accomplished by setting jumpers or DIP switches to a matching pattern in the receiver and transmitters.
In contrast, rolling code activation signals include a different code word with each activation transmission. The rolling code code word is typically generated by encrypting a counter value with a crypt key. The crypt key is based on a transmitter identifier number maintained by the transmitter.
Rolling code appliance receivers must “learn” a transmitter before the transmitter can be used to activate the appliance. This is done by placing the receiver in learn mode and then keying the transmitter to send an activation signal. The activation signal includes the transmitter identifier and a rolling code word. The receiver uses the transmitter identifier to generate a crypt key. The receiver then uses the crypt key to decrypt the rolling code word, yielding a counter value. The receiver stores the counter value and crypt key associated with the transmitter identifier. The receiver then drops out of learn mode and is ready for normal operation.
One advantage of rolling code activation schemes is the ability of an appliance receiver to reject previously transmitted activation signals. This prevents false activation from reflections as well as from unauthorized access by retransmission of an activation signal grabbed from the air. The receiver accomplishes this task by decrypting a received rolling code to obtain a counter value maintained by the transmitter. This counter value is compared to an expected counter value associated with the transmitter identifier received together with the decrypted rolling code. If the received counter value is less than the expected counter value, the receiver treats the received activation signal as an invalid signal.
A problem therefore arises if two transmitters have the same transmitter identifier. After no more than one activation by either transmitter, one of the transmitters will have a counter value less than the other transmitter. When encrypted and transmitted, the lesser counter value will result in an activation signal ignored by the receiver, rendering that transmitter useless.
What is needed is a universal remote controller that may be programmed by an existing rolling code transmitter and then function together with the existing transmitter in activating an appliance.
The present invention provides a universal remote control that establishes a new transmitter identifier when programmed to a particular rolling code scheme.
A method of activating an appliance remotely controllable by an existing transmitter is provided. The appliance responds to a radio frequency activation signal based on one of a plurality of rolling code schemes. At least one activation signal transmitted from an existing transmitter is received. The activation signal includes an existing transmitter identifier. The activation signal is examined to determine which of the plurality of rolling code schemes was used by the existing transmitter to generate the received activation signal. A new transmitter identifier, different from the existing transmitter identifier, is determined based on the rolling code scheme. A new activation signal including the new transmitter identifier is transmitted based on the determined rolling code scheme.
In an embodiment of the present invention, the new activation signal is transmitted after receiving an activation input. Similarly, the determination as to which rolling scheme was used by the existing transmitter follows reception of a programming mode input.
In another embodiment of the present invention, determination is made as to whether the received activation signal is based on one of a plurality of fixed code schemes or on one of a plurality of variable code schemes. If the received activation signal is based on one of the fixed code schemes, a fixed code received in the activation signal is stored. The stored fixed code is used to transmit an activation signal.
Determining whether the received activation signal is based on one of the fixed code schemes may include receiving at least two activation signals from the existing transmitter and comparing at least corresponding portions of the received signals to determine any differences.
A system for operating an appliance is also provided. The system includes a receiver and a transmitter. Control logic operates in a learn mode to determine and store a new transmitter identifier different from any existing transmitter identifier received in at least one rolling code activation signal transmitted by the existing transmitter. In an operate mode, the control logic generates a new activation signal different from any activation signal transmitted by the existing transmitter. The new activation signal includes the new transmitter identifier.
A method of programming a programmable radio frequency appliance remote control is also provided. A signal, based on one of a plurality of activation schemes, is received from an existing radio frequency remote control. A determination is made as to whether the received signal was generated using one of a plurality of rolling code activation schemes. If so, an indication as to which rolling scheme was used to generate the received signal is stored. A new transmitter identifier, different from an existing transmitter identifier associated with the existing transmitter, is also determined and stored.
The above features, and other features and advantages of the present invention are readily apparent from the following detailed description thereof when taken in connection with the accompanying drawings.
Referring to
Appliance control system 20 includes garage 22 having a garage door, not shown. Garage door opener (GDO) receiver 24 receives radio frequency control signals 26 for controlling a garage door opener. Activation signals 26 have a transmission scheme which may be represented as a set of receiver characteristics. One or more existing transmitters (ET) 28 generate radio frequency activation signals 26 exhibiting the receiver characteristics in response to a user depressing an activation button.
A user of appliance control system 20 may wish to add a new transmitter to system 20. For example, vehicle-based transmitter 30 may be installed in vehicle 32, which may be parked in garage 22. Vehicle-based transceiver 30 receives at least one activation signal 26 from existing transmitter 28. Vehicle-based transmitter 30 determines whether existing transmitter 28 operates using a fixed code scheme or a rolling code scheme by examining activation signal 26. If a rolling code scheme is used, vehicle-based transceiver 30 determines a new transmitter identifier compatible with the scheme used to generate activation signal 26. The new transmitter identifier is different from the transmitter identifier used by existing transmitter 28. Transceiver 30 generates activation signal 34 which, for rolling code systems, is different from an activation signal 26 sent by existing transmitter 28. This allows both existing transmitter 28 and vehicle-based transceiver 30 to be used with garage door opener receiver 24.
Referring now to
Several types of codes 66 are possible. One type of code is a fixed code, wherein each transmission from a given remote control transmitter contains the same code 66. In contrast, variable code schemes change the bit pattern of code 66 with each activation. The most common variable code scheme, known as rolling code, generates code 66 by encrypting a counter value. After each activation, the counter is incremented. The encryption technique is such that a sequence of encrypted counter values appears to be random numbers.
Data word 60 is converted to a baseband stream, shown generally by 70, which is an analog signal typically transitioning between a high voltage level and a low voltage level. Various baseband encoding or modulation schemes are possible, including polar signaling, on-off signaling, bipolar signaling, duobinary signaling, Manchester signaling, and the like. Baseband stream 70 has a baseband power spectral density, shown generally by 72, centered around a frequency of zero.
Baseband stream 70 is converted to a radio frequency signal through a modulation process shown generally by 80. Baseband stream 70 is used to modulate one or more characteristics of carrier 82 to produce a broadband signal, shown generally by 84. Modulation process 80, mathematically illustrated by multiplication in
Referring now to
A rolling code receiver is trained to a compatible transmitter prior to operation. The receiver is placed into a learn mode. Upon reception of an activation signal, the receiver extracts transmitter identifier 62. The receiver then uses key generation algorithm 102 with manufacturing key 104 and received transmitter identifier 62 to generate crypt key 100 identical to the crypt key used by the transmitter. Newly generated crypt key 100 is used by decrypt algorithm 112 to decrypt rolling code 110, producing counter 114 equal to counter 106. The receiver then saves counter 114 and crypt key 100 associated with transmitter identifier 62. As is known in the encryption art, encrypt algorithm 108 and decrypt algorithm 112 may be the same algorithm.
In normal operation, when the receiver receives an activation signal, the receiver first extracts transmitter identifier 62 and compares transmitter identifier 62 with all learned transmitter identifiers. If no match is found, the receiver rejects the activation signal. If a match is found, the receiver retrieves crypt key 100 associated with received transmitter identifier 62 and decrypts rolling code 110 from the received activation signal to produce counter 114. If received counter 106 matches counter 114 associated with transmitter identifier 62, activation proceeds. Received counter 106 may also exceed stored counter 114 by a preset amount for successful activation.
Another rolling code scheme generates crypt key 100 based on manufacturing key 104 and a “seed” or random number. An existing transmitter sends this seed to an appliance receiver when the receiver is placed in learn mode. The transmitter typically has a special mode for transmitting the seed entered, for example, by pushing a particular combination of buttons. The receiver uses the “seed” to generate crypt key 100. As will be recognized by one of ordinary skill in the art, the present invention applies to the use of a “seed” for generating a crypt key as well as to any other variable code scheme.
Referring now to
Transmitter section 122 includes antenna 136, which may be the same as antenna 124, filter 138, variable gain amplifier 140, DRFM 128 and control logic 132. Control logic 132 can load DRFM 128 with a sampled carrier stream by asserting “select” and “record,” then shifting the carrier stream into DRFM 128 on bus 134. The bit stream representing a carrier may have been previously received and sampled or may have been preloaded into control logic 132. Control logic 132 generates a modulated carrier on DRFM output 142 by asserting the “play” control line with the desired data word. The amplitude modulated signal on DRFM output 142 is amplified by variable gain amplifier 140 and filtered by filter 138 before transmission by antenna 136.
A DRFM transceiver similar to the system illustrated in
Referring now to
A user interface, shown generally by 152, provides means for accepting input from a user and for displaying output to a user. The example illustrated in
Microcontroller 150 provides DRFM control signals 158 described above as “play,” “record” and “select.” Microcontroller 150 implements bus 134 using serial data line 160 and serial clock line 162. Microcontroller 150 provides variable amplifier control 164 from an analog output (AO). Alternatively, variable amplifier 140 may be controlled by a digital output from microcontroller 150 which is converted into an analog signal by an external analog-to-digital converter. Finally, microcontroller 150 includes digital input detector data 166 for sampling the output of detector 130 during learn mode.
Referring now to
User input is received, as in block 170. For example, microcontroller 150 can detect a depression of pushbutton switch 154. The desired function is identified, as in block 172. If pushbutton 154 is held for a brief period of time, the user is providing an activation input. If the user depresses pushbutton 154 for an extended period of time, the user places the channel represented by pushbutton 154 into learn mode.
A determination is made as to whether or not the programmable controller is in learn mode, as in block 174. If so, one or more signals from existing transmitters are received, as in block 176. Programmable controller 30 preferably provides an output signal prompting the user to key existing transmitter 28. Once programmable transmitter 30 receives activation signal 26 from existing transmitter 28, a determination is made as to whether or not activation signal 26 uses rolling code, as in block 178. One method for determining whether activation signal 26 is a fixed code signal or a rolling code signal is to have the user key existing transmitter 28 twice. If activation signal 26 is the same in both instances, activation 26 is a fixed code signal. If the data word in activation 26 varies between the two transmissions, activation signal 26 is a rolling code signal.
If the received activation signal is not a rolling code signal, the fixed code scheme is identified, as in block 180. The scheme used to generate activation signal 26 may be determined from one or more characteristics of activation signal 26. These characteristics include the number of bits transmitted, the base band data rate, the base band modulation scheme, the broadband frequency, the broadband modulation scheme, and the like. Once the fixed code scheme is identified, the fixed code is extracted and stored, as in block 182.
Returning to block 178, if received activation signal 26 was generated using a rolling code scheme, the rolling code scheme is identified, as in block 184. Once again, identifying the rolling code scheme may be accomplished by examining the characteristics of activation signal 26. The rolling code scheme may also be identified through programming mode input. A check is made in block 186 to determine if the crypt key was sent in transmission 26, as in block 186. If not, a new transmitter identifier is determined, as in block 188. A crypt key is generated, as in block 190, using the new transmitter identifier and/or a random number seed sent in transmission signal 26. If the crypt key was sent in signal 26, the crypt key is obtained from the existing transmitter, as in block 192. The crypt key, transmitter identifier, and any other relevant information is stored in memory associated with the channel being trained.
Returning now to block 174, if user input indicates an activation input was received, a data word is constructed, as in block 194. Construction of the data word is based on the identified fixed or rolling code scheme associated with the activation input channel. In the case of a rolling code scheme, the data word includes the new transmitter identifier and a rolling code value. A carrier is modulated with the data word, as in block 196, and transmitted as activation signal 34.
Once transceiver 30 has been programmed to generate a rolling code activation signal, appliance receiver 24 is trained to learn new transmitter identifier 62 held by transceiver 30. This is accomplished by placing appliance receiver 24 in learn mode and activating the appropriate input channel on transceiver 30.
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention.
| Number | Name | Date | Kind |
|---|---|---|---|
| 1522241 | Hennessey | Jan 1925 | A |
| 3098212 | Creamer, Jr. | Jul 1963 | A |
| 3300867 | Sampson | Jan 1967 | A |
| 3337992 | Tolson | Aug 1967 | A |
| 3456387 | Tolson | Jul 1969 | A |
| 3680951 | Jordan et al. | Aug 1972 | A |
| 4074200 | Buchta | Feb 1978 | A |
| 4167833 | Farina et al. | Sep 1979 | A |
| 4178549 | Ledenbach et al. | Dec 1979 | A |
| 4219812 | Rittenbach | Aug 1980 | A |
| 4241870 | Marcus | Dec 1980 | A |
| 4247850 | Marcus | Jan 1981 | A |
| 4425717 | Marcus | Jan 1984 | A |
| 4447808 | Marcus | May 1984 | A |
| 4453161 | Lemelson | Jun 1984 | A |
| 4482947 | Zato et al. | Nov 1984 | A |
| 4529980 | Liotine et al. | Jul 1985 | A |
| 4535333 | Twardowski | Aug 1985 | A |
| 4581827 | Higashi | Apr 1986 | A |
| 4595228 | Chu | Jun 1986 | A |
| 4598287 | Osakabe et al. | Jul 1986 | A |
| 4623887 | Welles, II | Nov 1986 | A |
| 4631708 | Wood et al. | Dec 1986 | A |
| 4635033 | Inukai et al. | Jan 1987 | A |
| 4638433 | Schindler | Jan 1987 | A |
| 4665397 | Pinnow | May 1987 | A |
| 4676601 | Itoh et al. | Jun 1987 | A |
| 4700327 | Hilton | Oct 1987 | A |
| 4706299 | Jorgensen | Nov 1987 | A |
| 4707788 | Tashiro et al. | Nov 1987 | A |
| RE32576 | Pastore | Jan 1988 | E |
| 4727302 | Mizuta et al. | Feb 1988 | A |
| 4743905 | Wiegand | May 1988 | A |
| 4747159 | Kato | May 1988 | A |
| 4750118 | Heitschel et al. | Jun 1988 | A |
| 4754255 | Sanders et al. | Jun 1988 | A |
| 4771283 | Imoto | Sep 1988 | A |
| 4793690 | Gahan et al. | Dec 1988 | A |
| 4799189 | Grover | Jan 1989 | A |
| 4806930 | Wojciak, Jr. | Feb 1989 | A |
| 4825200 | Evans et al. | Apr 1989 | A |
| 4881148 | Lambropoulos et al. | Nov 1989 | A |
| 4882565 | Gallmeyer | Nov 1989 | A |
| 4886960 | Molyneux et al. | Dec 1989 | A |
| 4890108 | Drori et al. | Dec 1989 | A |
| 4896030 | Miyaji | Jan 1990 | A |
| 4905279 | Nishio | Feb 1990 | A |
| 4912463 | Li | Mar 1990 | A |
| 4917477 | Bechtel et al. | Apr 1990 | A |
| 4953305 | Van Lente et al. | Sep 1990 | A |
| 4978944 | Andros et al. | Dec 1990 | A |
| 4988992 | Heitschel et al. | Jan 1991 | A |
| 5016996 | Ueno | May 1991 | A |
| 5064274 | Alten | Nov 1991 | A |
| 5085062 | Capdevila | Feb 1992 | A |
| 5103221 | Memmola | Apr 1992 | A |
| 5109222 | Welty | Apr 1992 | A |
| 5113821 | Fukui et al. | May 1992 | A |
| 5122647 | Lynam et al. | Jun 1992 | A |
| 5123008 | Beesley | Jun 1992 | A |
| 5126686 | Tam | Jun 1992 | A |
| 5146215 | Drori | Sep 1992 | A |
| 5154617 | Suman et al. | Oct 1992 | A |
| 5181423 | Philipps et al. | Jan 1993 | A |
| 5191610 | Hill et al. | Mar 1993 | A |
| 5193210 | Nicholas et al. | Mar 1993 | A |
| 5201067 | Grube et al. | Apr 1993 | A |
| 5225847 | Roberts et al. | Jul 1993 | A |
| 5243322 | Thompson et al. | Sep 1993 | A |
| 5252960 | Duhame | Oct 1993 | A |
| 5252977 | Lueker et al. | Oct 1993 | A |
| 5266945 | Peek et al. | Nov 1993 | A |
| 5278547 | Suman et al. | Jan 1994 | A |
| 5369706 | Latka | Nov 1994 | A |
| 5379453 | Tigwell | Jan 1995 | A |
| 5402105 | Doyle et al. | Mar 1995 | A |
| 5408698 | Serizawa et al. | Apr 1995 | A |
| 5412379 | Waraksa et al. | May 1995 | A |
| 5420925 | Michaels | May 1995 | A |
| 5442340 | Dykema | Aug 1995 | A |
| 5455716 | Suman et al. | Oct 1995 | A |
| 5463374 | Mendez et al. | Oct 1995 | A |
| 5471668 | Soenen et al. | Nov 1995 | A |
| 5473317 | Inomata et al. | Dec 1995 | A |
| 5475366 | Van Lente et al. | Dec 1995 | A |
| 5479155 | Zeinstra et al. | Dec 1995 | A |
| 5517187 | Bruwer et al. | May 1996 | A |
| 5528230 | Kim | Jun 1996 | A |
| 5554977 | Jablonski et al. | Sep 1996 | A |
| RE35364 | Heitschel et al. | Oct 1996 | E |
| 5564101 | Eisfeld et al. | Oct 1996 | A |
| 5583485 | Van Lente et al. | Dec 1996 | A |
| 5594429 | Nakahara | Jan 1997 | A |
| 5596316 | Honeck | Jan 1997 | A |
| 5598475 | Soenen et al. | Jan 1997 | A |
| 5613732 | Demick | Mar 1997 | A |
| 5614885 | Van Lente et al. | Mar 1997 | A |
| 5614891 | Zeinstra et al. | Mar 1997 | A |
| 5619190 | Duckworth et al. | Apr 1997 | A |
| 5627529 | Duckworth et al. | May 1997 | A |
| 5645308 | Fink | Jul 1997 | A |
| 5646701 | Duckworth et al. | Jul 1997 | A |
| 5661455 | Van Lente et al. | Aug 1997 | A |
| 5661651 | Geschke et al. | Aug 1997 | A |
| 5661804 | Dykema et al. | Aug 1997 | A |
| 5680131 | Utz | Oct 1997 | A |
| 5680134 | Tsui | Oct 1997 | A |
| 5686903 | Duckworth et al. | Nov 1997 | A |
| 5686904 | Bruwer | Nov 1997 | A |
| 5691848 | Van Lente et al. | Nov 1997 | A |
| 5699044 | Van Lente et al. | Dec 1997 | A |
| 5699054 | Duckworth | Dec 1997 | A |
| 5699055 | Dykema et al. | Dec 1997 | A |
| 5708415 | Van Lente et al. | Jan 1998 | A |
| 5715020 | Kuroiwa et al. | Feb 1998 | A |
| 5731756 | Roddy | Mar 1998 | A |
| 5751224 | Fitzgibbon | May 1998 | A |
| 5793300 | Suman et al. | Aug 1998 | A |
| 5812097 | Maldonado | Sep 1998 | A |
| 5831548 | Fitzgibbon | Nov 1998 | A |
| 5838255 | Di Croce | Nov 1998 | A |
| 5841253 | Fitzgibbon et al. | Nov 1998 | A |
| 5841390 | Tsui | Nov 1998 | A |
| 5841813 | Van Nee | Nov 1998 | A |
| 5845593 | Birkestrand | Dec 1998 | A |
| 5854593 | Dykema et al. | Dec 1998 | A |
| 5872513 | Fitzgibbon et al. | Feb 1999 | A |
| 5903226 | Suman et al. | May 1999 | A |
| 5926087 | Busch et al. | Jul 1999 | A |
| 5926106 | Beran et al. | Jul 1999 | A |
| 5940000 | Dykema | Aug 1999 | A |
| 5940007 | Brinkmeyer | Aug 1999 | A |
| 5940120 | Frankhouse et al. | Aug 1999 | A |
| 5949349 | Farris et al. | Sep 1999 | A |
| 6002332 | King | Dec 1999 | A |
| 6005508 | Tsui | Dec 1999 | A |
| 6008735 | Chiloyan et al. | Dec 1999 | A |
| 6009355 | Obradovich et al. | Dec 1999 | A |
| 6021319 | Tigwell | Feb 2000 | A |
| 6025785 | Farris et al. | Feb 2000 | A |
| 6031465 | Burgess | Feb 2000 | A |
| 6043753 | Okayasu et al. | Mar 2000 | A |
| 6049289 | Waggamon et al. | Apr 2000 | A |
| 6055508 | Naor et al. | Apr 2000 | A |
| RE36703 | Heitschel et al. | May 2000 | E |
| 6072436 | Marougi | Jun 2000 | A |
| 6078271 | Roddy et al. | Jun 2000 | A |
| 6081203 | Fitzgibbon | Jun 2000 | A |
| 6091343 | Dykema et al. | Jul 2000 | A |
| 6104101 | Miller et al. | Aug 2000 | A |
| 6127740 | Roddy et al. | Oct 2000 | A |
| 6130625 | Harvey | Oct 2000 | A |
| 6131019 | King | Oct 2000 | A |
| 6137421 | Dykema | Oct 2000 | A |
| 6154544 | Farris et al. | Nov 2000 | A |
| 6166650 | Bruwer | Dec 2000 | A |
| 6175312 | Bruwer et al. | Jan 2001 | B1 |
| 6181255 | Crimmins et al. | Jan 2001 | B1 |
| 6191701 | Bruwer | Feb 2001 | B1 |
| 6243000 | Tsui | Jun 2001 | B1 |
| 6249673 | Tsui | Jun 2001 | B1 |
| 6271765 | King et al. | Aug 2001 | B1 |
| 6282152 | Kurple | Aug 2001 | B1 |
| 6308083 | King | Oct 2001 | B1 |
| 6320514 | Flick | Nov 2001 | B1 |
| 6333698 | Roddy | Dec 2001 | B1 |
| 6344817 | Verzulli | Feb 2002 | B1 |
| 6359558 | Tsui | Mar 2002 | B1 |
| 6362771 | Schofield et al. | Mar 2002 | B1 |
| 6397058 | Thibert et al. | May 2002 | B1 |
| 6414587 | Fitzgibbon | Jul 2002 | B1 |
| 6441719 | Tsui | Aug 2002 | B1 |
| 6486795 | Sobel et al. | Nov 2002 | B1 |
| RE37986 | Heitschel et al. | Feb 2003 | E |
| 6525645 | King et al. | Feb 2003 | B1 |
| 6542076 | Joao | Apr 2003 | B1 |
| 6556681 | King | Apr 2003 | B1 |
| 6556813 | Tsui | Apr 2003 | B1 |
| 6559775 | King | May 2003 | B1 |
| 6597291 | Tsui | Jul 2003 | B1 |
| 6634408 | Mays | Oct 2003 | B1 |
| 6661350 | Rohrberg et al. | Dec 2003 | B1 |
| 6690796 | Farris et al. | Feb 2004 | B1 |
| 6703941 | Blaker | Mar 2004 | B1 |
| 6759943 | Lucy et al. | Jul 2004 | B1 |
| 6791467 | Ben-Ze'ev | Sep 2004 | B1 |
| 6810123 | Farris et al. | Oct 2004 | B1 |
| 6822603 | Crimmins et al. | Nov 2004 | B1 |
| 6903650 | Murray | Jun 2005 | B1 |
| 6956460 | Tsui | Oct 2005 | B1 |
| 6963267 | Murray | Nov 2005 | B1 |
| 6975203 | Brookbank et al. | Dec 2005 | B1 |
| 20020034303 | Farris et al. | Mar 2002 | A1 |
| 20020067826 | King | Jun 2002 | A1 |
| 20020075133 | Flick | Jun 2002 | A1 |
| 20020126037 | Fitzgibbon | Sep 2002 | A1 |
| 20020137479 | Tsui | Sep 2002 | A1 |
| 20020140569 | van Ee et al. | Oct 2002 | A1 |
| 20020163440 | Tsui | Nov 2002 | A1 |
| 20020190872 | Suman et al. | Dec 2002 | A1 |
| 20020191794 | Farris et al. | Dec 2002 | A1 |
| 20020197955 | Witkowski et al. | Dec 2002 | A1 |
| 20030016119 | Teich | Jan 2003 | A1 |
| 20030016139 | Teich | Jan 2003 | A1 |
| 20030033540 | Fitzgibbon | Feb 2003 | A1 |
| 20030067394 | Tsui | Apr 2003 | A1 |
| 20030076235 | Tsui | Apr 2003 | A1 |
| 20030085798 | Castro Esteban | May 2003 | A1 |
| 20030118187 | Fitzgibbon | Jun 2003 | A1 |
| 20030189530 | Tsui | Oct 2003 | A1 |
| 20030197594 | Olson et al. | Oct 2003 | A1 |
| 20030197595 | Olson et al. | Oct 2003 | A1 |
| 20030216139 | Olson et al. | Nov 2003 | A1 |
| 20030228879 | Witkowski et al. | Dec 2003 | A1 |
| 20040048622 | Witkowski et al. | Mar 2004 | A1 |
| 20040061591 | Teich | Apr 2004 | A1 |
| 20040066936 | Farris et al. | Apr 2004 | A1 |
| 20040110472 | Witkowski et al. | Jun 2004 | A1 |
| 20040243813 | Farris et al. | Dec 2004 | A1 |
| 20050024184 | Chuey | Feb 2005 | A1 |
| 20050024185 | Chuey | Feb 2005 | A1 |
| 20050024229 | Chuey | Feb 2005 | A1 |
| 20050024230 | Chuey | Feb 2005 | A1 |
| 20050024254 | Chuey | Feb 2005 | A1 |
| 20050024255 | Chuey | Feb 2005 | A1 |
| 20050026601 | Chuey | Feb 2005 | A1 |
| 20050026602 | Chuey et al. | Feb 2005 | A1 |
| 20050026605 | Guthrie et al. | Feb 2005 | A1 |
| Number | Date | Country |
|---|---|---|
| 0 670 402 | Sep 1995 | EP |
| 2 171 545 | Aug 1986 | GB |
| 2 182 790 | Oct 1986 | GB |
| 2 302 751 | Jun 1996 | GB |
| 2 336 433 | Apr 1999 | GB |
| 2335773 | Sep 1999 | GB |
| 2 366 433 | May 2000 | GB |
| WO 9402920 | Jul 1993 | WO |
| WO 0029699 | May 2000 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20050026604 A1 | Feb 2005 | US |