When constructing a home or a facility, it is well known to provide garage doors which utilize a motor to provide opening and closing movements of the door. Motors may also be coupled with other types of movable barriers such as gates, windows, retractable overhangs and the like. An operator is employed to control the motor and related functions with respect to the door. The operator receives command input signals for the purpose of opening and closing the door from a wireless remote, from a wired or wireless wall station, from a keyless entry device or other similar transmitter device. It is also known to provide safety devices that are connected to the operator for the purpose of detecting an obstruction so that the operator may then take corrective action with the motor to avoid entrapment of the obstruction.
To generate the command input signals that initiate barrier movement between limit positions, it is well known to use a radio frequency or infrared transmitter to actuate the motor and move the door in the desired direction. These transmitter devices allow for users to open and close garage doors without having to get out of their car. These transmitter devices may also be provided with additional features such as the ability to control multiple doors, lights associated with the doors, and other security features. As is well documented in the art, the remote transmitters and operators may communicate with each other by using rolling codes that change after every operation cycle so as to make it virtually impossible to “steal” a code and use it a later time for illegal purposes. An operation cycle may include opening and closing of the barrier while simultaneously turning on and off a light that is connected to the operator.
Normally transmitted radio frequency (RF) codes are temporarily stored in a circular buffer in a memory device maintained by the operator. All the codes from different types of wireless transmitter devices (such as hand held transmitters, wireless keypad transmitters, hands-free transmitters and wireless wall station transmitters) are also stored in the same circular buffer. A circular buffer is a data structure used to pass data from one section of code within the operator to another where the code sections usually have no other interaction with each other. The data to be passed is typically in the form of a stream of data items. A circular buffer is similar to a linear buffer. But, unlike a stack device such as a first-in-last-out buffer or a last-in-first-out buffer which naturally keeps reusing memory as items are popped on and later pulled off of the stack, the circular buffer must work at reusing memory by having the code wrap around to the beginning of the buffer whenever the code gets to the end. In other words, the circular buffer forms an endless queue, wherein the queue functions as an endless first-in-first-out (FIFO) buffer. In addition to the memory for the buffer itself, a circular buffer requires at least one pointer variable. This is used to point to the next available location to place new data into the buffer and the next location containing data to be taken out of the buffer.
Normally the circular buffer will learn a new code from the various wireless devices until the buffer is full. Then, as each subsequent code is learned, one of the old codes is dropped out. In some of the prior art, the old codes are dropped out randomly by the operator and in some operators the codes are dropped out on a first in/first out basis. Issues develop when additional hand held transmitters are added and a wireless wall station or wireless keypad drops out. Many times this is not realized until the user tries to operate the door operator from the device that has been dropped out and determines that the operator no longer recognizes the signal from the device. In view of the primary importance and use of a wall station or keypad transmitter, the loss thereof can be very disconcerting to the end-user.
Known prior art references confirm the use of circular buffers as illustrated in U.S. Pat. No. 5,097,505 to Weiss which discloses a method and apparatus for performing personal identification and/or verification at predetermined stations or checkpoints. Each person to be identified has a unit such as a card, badge or other token or device which stores a predetermined coded value, at least a predetermined portion of which is changed at selected time intervals in accordance with an algorithm. The value of the predetermined portion of the stored code at any given time is non-predictable based upon the algorithm. The unit has a triggering signal generator, the unit being responsive to the triggering signal to present an indication of the current stored code value to the station, wherein the station responds to the predetermined code value for identifying the person. Triggering may be in response to detection of a predetermined beacon from the station, in response to a user keypad input, or may be periodically generated. Security may be enhanced by the person inputting a unique personal identification number (PIN) at the unit wherein the PIN is utilized in generating the non-predictable codes. The PIN input may also be used for triggering. Verification may be achieved by including a public code as part of the code which is presented from the unit when the public code is not changed.
U.S. Pat. No. 5,576,701 to Heitschel, et al. discloses a door actuating system which includes a keypad type remote transmitter for transmitting door open request signals generated by pressing the keys of the keypad. The system also includes a stored code type remote transmitter wherein a code stored in long-term storage for transmitting door open requests includes the stored code. A receiver selectively opens the door responsive to the door open requests from both types of remote transmitters. The receiver includes a user settable security switch which inhibits selective door actuation responsive to door open request signals from the stored code type transmitter while permitting selective door actuation responsive to door open request signals from keypad type transmitters.
U.S. Pat. Nos. 5,751,224; 6,081,203; and 6,414,587 to Fitzgibbon disclose a movable barrier or garage door operator which has a control head controlling an electric motor connected to a movable barrier or garage door. The control head has an RF receiver for receiving RF signals from a hand-held transmitter or a fixed keypad transmitter. The receiver operates the electric motor upon matching a received code with a stored code. The stored codes may be updated or loaded either by enabling the learn mode of the receiver from the fixed keypad transmitter or from a wired control unit positioned within the garage.
Although the above listed patents disclose the receipt and use of codes for association with operators and operator-like devices, none specifically address the problem of a code associated with a transmitter device being overwritten by a later-learned transmitter device. Therefore, there is a need in the art for a barrier operator system that distinguishes between the types of transmitters learned so that certain types of transmitters are not inadvertently overwritten.