This invention relates to an irrigation controller for controlling the operation of an irrigation system. In particular, this invention relates to a modular irrigation controller with expandable features.
Modular irrigation controllers use optional modules that can be added to the controller to increase the number of irrigation stations that may be controlled by the controller. For example, U.S. Pat. No. 5,956,248 No. (William et al.) provides an irrigation controller having a housing that encloses a microprocessor that stores and executes watering programs, and includes station modules that can be added within the housing to increase the number of irrigation stations controlled. Additionally, U.S. Pat. No. 5,262,936 (Faris et al.) provides a controller having a base unit for actuating a predetermined minimum number of irrigation stations. External station expansion modules can be added to the base unit for increasing the number of irrigation stations controlled by the controller. Also described are optional pump modules and accessory timer modules that behave the same as the station modules in that they provide an electrical output signal to a pump or to an accessory (such as a light), instead of to an irrigation station. However, the expansion modules in these patents simply act as additional station outputs (e.g., a conduit extension of the logic inside the controller and only include driver circuitry responsive to commands from the base unit) and do not provide any additional functionality or intelligence. In order to add functionality to these controllers apart from adding additional station outputs (e.g., to control additional stations or accessories), a user would have to purchase another irrigation controller configured with the desired functionality.
There exists, therefore, a need for an improved irrigation controller with a flexible and expandable architecture modular design, along with an enhanced communications to the modules that will provide enough flexibility for further additions to an irrigation system, not only to include additional output stations, but also to upgrade to new features and capabilities of expansion and re-configuration.
Several embodiments of the present invention answer the above and other needs by providing an irrigation controller with flexible and expandable capabilities for controlling the operation of an irrigation system. In accordance with some several embodiments, the irrigation controller includes a base unit with a removable and programmable control panel and a bus for communicating with a plurality of removable modules capable of performing a variety of functions and expanding the capacity of the irrigation controller beyond the physical limitations of its housing. Also provided are various expansion modules having additionally functionality and related methods and features for use in the modular irrigation controllers described herein as well as in other irrigation control systems.
In one embodiment, the invention may be characterized as a modular irrigation controller comprising: a housing: a control unit within the housing, the control unit including a first microcontroller for executing stored irrigation programs; a first expansion module removably mounted within the housing and electrically coupled to the first microcontroller, the first expansion module including driver circuitry for actuating irrigation valves in accordance with control signals received from the first microcontroller; and a second expansion module removably mounted within the housing and electrically coupled to the first microcontroller, the second expansion module including a second microcontroller capable of sending and receiving data communications to and from the first microcontroller, the data communications relating to an irrigation program.
In another embodiment, the invention may be characterized as a modular irrigation controller comprising: a housing: a control unit within the housing, the control unit including a main microcontroller for executing stored irrigation programs; a plurality of expansion module mounting locations within the housing configured to removably receive expansion modules, each expansion mounting location electrically coupled to the main microcontroller; and a first expansion module removably mounted to a first expansion module mounting location and electrically coupled to the main microcontroller, the first expansion module including a first microcontroller, the first microcontroller configured to operate with the main microcontroller and provide additional functionality not present in the capabilities of the main microcontroller.
In yet another embodiment, the invention may be characterized as an expansion module for a modular irrigation controller comprising: a housing; an electrical connector configured to removably connect to one of a plurality of expansion module mounting locations of a modular irrigation controller; and a microcontroller within the housing and coupled to the electrical connector, the microcontroller configured to operate with a control unit of the modular irrigation controller and provide additional control functionality not present in the capabilities of the control unit.
In another embodiment, the invention may be characterized as a modular irrigation controller comprising: a housing: a control unit within the housing, the control unit including a first microcontroller for executing stored irrigation programs; a plurality of expansion module mounting locations within the housing configured to removably receive expansion modules, each expansion mounting location electrically coupled to the first microcontroller; an expansion module removably mounted to a first expansion module mounting location and electrically coupled to the first microcontroller, the expansion module including a second microcontroller, the second microcontroller configured to operate with the first microcontroller; wherein the first microcontroller is configured to send data corresponding to the stored irrigation programs to the second microcontroller upon request by the second microcontroller.
In yet another embodiment, the invention may be characterized as a modular irrigation controller comprising: a housing: a control unit within the housing, the control unit including a main microcontroller for executing stored irrigation programs; a plurality of expansion module mounting locations within the housing configured to removably receive expansion modules, each expansion mounting location electrically coupled to the main microcontroller; a first expansion module configured to be removably and non-sequentially connected to any one of the plurality of expansion module mounting locations, the first expansion module having a first microcontroller and including driver circuitry for actuating irrigation valves in accordance with control signals received from the main microcontroller, wherein the first microcontroller is configured to allow the first expansion module to be removably and non-sequentially connected to any one of the plurality of expansion module mounting locations.
The above and other aspects, features and advantages of several embodiments of the present invention will be more apparent from the following more particular description thereof, presented in conjunction with the following drawings.
Corresponding reference characters indicate corresponding components throughout the several views of the drawings. Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention.
The following description is not to be taken in a limiting sense, but is made merely for the purpose of describing the general principles of exemplary embodiments. The scope of the invention should be determined with reference to the claims.
Described herein are several embodiments relating to irrigation controllers for controlling irrigation stations. In many embodiments, the irrigation controllers are modular in that various functional components of the irrigation controller are implemented in removable modules that when inserted into position within the controller provide certain functionality. Accordingly, the embodiments described herein cover various functionalities, features and methods useful in such modular controllers; however, many embodiments apply to irrigation controllers generally. The following specification describes several embodiments of the invention in the context of two example modular controller implementations. For example, many embodiments of the invention are described in one or both of a modular controller as illustrated variously in
Referring to the modular controller design, such as variously illustrated in
The controller housing 20, formed of plastic or other suitable material, is designed to withstand various environmental conditions. In one form, the controller housing 20 includes rear housing 40 and door 16 that enclose the electrical components housed within the housing 20. In one embodiment, the housing 20 encloses the base unit 50, the base module 55 and a plurality of expansion modules 65 to protect their electronic components and connections. As described further throughout this specification, in preferred form, a plurality of different types of expansion modules 65 are provided that may be removably inserted in any one of one or more locations within the controller 10. Thus, in many embodiments, a controller 10 is provided with different types of expansion modules having different functionality with the same controller. Additionally, in many embodiments, expansion modules used as station outputs may have a different number of station outputs and be inserted in any one of one or more locations within the controller.
The base unit 50, shown in
The door 16 pivotally swings open from a closed position to an open position as seen in
Looking at
The reset button 36 on the back of the control panel 30 consists of a right-angle mounted switch component (not shown) on the front side of the control panel circuitry 31 for easy and cost effective manufacturing and can be discretely actuated by a pencil or a screwdriver for hardware reset. The reset button 36 serves to restart the control panel microcontroller 32 from a potential lock-up condition possibly caused by electrical disturbances.
Indicated in
Importantly, it is an objective of several embodiments of the invention to have the control panel 30 modular and removable from the controller housing 20 and the base unit 50, as seen in
Now looking at
It is also an object of several embodiments of the invention to have the communications interface port 34a, as part of the control panel circuitry 31, connecting to a plurality of modular cartridges (not shown) facilitating a communications link via a plurality of media such as a radio modem, a telephone modem, wireless networks, hard-wired or fiber optic systems, etc. interfacing to a plurality of computers and networks. Such a communications link allows the irrigation controller 10 to intercommunicate for various commands including those for irrigation, for the update of the firmware 33a without the removal of any electronic components from the irrigation controller 10, and for the uploading and downloading of irrigation schedules. Also, the schedules that the user has entered at the control panel 30 may be extracted and sent to a central control system via the communications interface 34. In one example, the communications interface port 34a uses a dual-sided 2×5-pin edge card type with pin assignments illustrated in
The main microcontroller 32 gathers information or commands from the user interface 21, processes them and sends the commands to the base module 55 via control signals and to the expansion modules 65 via the communication bus 39 to drive the valves. As illustrated in
In many embodiments, the main microcontroller 32 and the communication bus 39 have an architecture that allows the main microcontroller of the main control panel 30 to work together with the expansion modules 65 in order to implement the functionality of the irrigation controller 10. For example, in preferred form, one or more of the expansion modules 65 include their own microcontroller, e.g., microcontrollers 66a as seen in
Generally, this type of coordinated operation between the main microcontroller 32 of the control panel 30 and the various expansion modules 65 is provided through the configuration of the main microcontroller 32 to be able to operate together with expansion modules of unknown functionality and its ability to share data with the expansion modules 65 and ability to act in response to data and commands from the expansion module. Additionally, a communication link and protocol are provided that allow data flow between the main microcontroller 32 and the various expansion modules 65. Further details and description are provided throughout this specification.
The main microcontroller 32 is also capable of directly monitoring other inputs such as the valve solenoid current, the presence of the base module 55, sensor inputs (e.g. rain and flow), and the AC line frequency. In addition to the user interface 21, the main microcontroller 32 is able to accept commands through the remote control port 63, shown in
Importantly, it is an objective of several embodiments of the invention to provide a communication link between the main microcontroller 32 and the distributed microcontrollers 66a of the expansion modules 65, seen in
Interconnect communication busses in existing modular irrigation controllers use a master/slave architecture. For example, the controller of U.S. Pat. No. 5,748,466 (McGivern et al.) employs a query/response model with the main microcontroller making a query to the module and expecting a response from it to ascertain the number of stations installed in the irrigation controller. Such a query/response relationship of the controller and modules results in unnecessary overhead and bandwidth usage on the interconnecting bus, becoming a limiting factor in expansion capability. Several embodiments of the invention solve this problem by having the expansion module 65 self-detect its installation and announce its presence to the main microcontroller 32. Generally, the microcontroller 66a of the expansion modules is configured to detect when it is connected to the connector 47 of the backplane 45. Once this determination is made, the microcontroller 66a causes a message to be transmitted to the main microcontroller via the communication bus 39 announcing that the expansion module has been installed. The microcontroller 66a waits for an acknowledge message back from the main microcontroller 32. If no acknowledge is received, the microcontroller 66a sends additional messages to the main microcontroller 32 until the main microcontroller 32 acknowledges the presence of the expansion module 65. Therefore, since the expansion modules are configured to self detect their installation in the controller 10, the main microcontroller 32 does not need to query the expansion modules 65. This results in saved overhead and bandwidth usage allowing the irrigation controller 10 to self-configure and provide for more overall expansion capacity with less demand on the main microcontroller 32.
It is an object of several embodiments to make the programming of a watering schedule into the irrigation controller 10 free of historical challenges that users have been facing with the prior art irrigation controllers. One embodiment solves the problem of difficult entry and incorrect setup of a watering schedule into existing controllers through the incorporation of a water wizard for easy setup, programming and use. The water wizard allows the irrigation controller 10 to confirm automatically that a watering schedule entered by the user is consistent and logical and guides the user through the programming steps necessary to setup the irrigation controller 10 and program a watering schedule into it. This intelligent water wizard is based on the main microcontroller 32 built into the irrigation controller 10. The water wizard guides the user through a series of logical steps, asking only for the needed information in an intuitive form and subsequently creating a schedule to satisfy the needed irrigation. For example, the water wizard asks if the irrigation is for lawn, trees or shrubs. Then it asks what the soil type is. And then it inquires about the Sun exposure. The water wizard would ask for a specific zone or watering time as necessary to complete the irrigation schedule. This union of native human language with the logic of an irrigation controller has been unprecedented in the art of inventing irrigation controllers.
It is a further object of other embodiments to include a novel water-conserving feature in which the user interface 21 provides ‘program review’ and ‘total run time’ features. Using the program review feature, the controller 10 displays to the user, e.g., on the LCD 24 (generically referred to as a display 24), a listing of all stations and watering times on a single display screen or series of displays screens that a user may scroll through. Advantageously, the user does not have to manipulate the rotary dial 22 or navigate complex menus in order to separately view irrigation settings or the irrigation program for various stations.
In response to selecting option 1 in the display screen of
Selecting the soft key corresponding to “next” in the screens of
One advantage of the various program review user interface display screens, such as shown in
Irrigation controllers are being provided with more and more features, buttons, labels and ever thickening manuals while trying to provide the user with more feedback and while supposedly simplifying the user interface, but ultimately adding to the complexity. Several embodiments answer the user interface complexity problem in the field of art, by pushing the complexity into the internal computer program logic of the irrigation controller 10. Basically, the user is asked about the watering or typical conditions or constraints existing on the landscape. The irrigation controller 10 configures itself in terms of the overall watering needs and objectives. This “Intelligent Use of Water”™ concept relieves the user of having to know detailed information about station run times, optimum watering time of the day, start times, number of start times, etc.
In one embodiment, the irrigation controller 10 intelligently stores and recalls module programming and configuration information in order to eliminate the need to reprogram the controller or expansion module when expansion modules are changed. For example, information unique to each expansion module is stored in a configuration data table residing in the non-volatile storage device (EEPROM) 32a of the main microcontroller 32 (see
When a given expansion module 65 is removed and replaced by an identical expansion module (or a different module with similar function), all configuration data and programming related to the expansion module removed is retained by the controller 10 and is applied to the replacement expansion module. In one embodiment, the module location and module's electronic SKU (stock keeping unit) number are used to track if a “new” module in a module mounting location 45b can accept the data. Once the newly installed expansion module 65 announces its presence to the main microcontroller 32 of the control unit, the configuration data table is scanned to verify that the same type of modules are mounted in the controller housing. If there is a match, the newly installed expansion module is passed the programming and configuration data already existing in the non-volatile memory 32a (or 33) eliminating the need for the user to reprogram the expansion module configuration or irrigation schedule. In the event there is not match, then the main microcontroller 32 determines that the newly installed expansion module is not identical to the removed module or is not intended to be a replacement for the removed expansion module, and the stored configuration data may be deleted or overwritten with new configuration data if the memory is needed.
Irrigation controllers are growing in complexity with each generation. According to several embodiments, the use of a Real Time Operating System (RTOS) in the main microcontroller 32 of the irrigation controller 10 simplifies and makes the operation of the microcontroller 32 more robust. It allows for a more complex program to be developed that is more robust and of higher quality in a shorter amount of time. In preferred form, the controller 10 employs the real time operating system (RTOS) to allow separate program sections to communicate between themselves in a well-defined fashion. Since each piece of program runs independently in its own context, it is easier to write and read the supporting software as well as to troubleshoot software bugs during the development stage and have a bug-free software running in the irrigation controller 10.
The microcontroller 32 of the main control unit or control panel 30 houses non-volatile memory backup (EEPROM) 32a, shown in
Also shown in
One of the objectives of another embodiment is to customize the user interface 21 according to the needs of the different user groups such as the contractors or the commercial users and novice users who lack experience in programming controllers. One embodiment solves the problem of having to design/redesign an irrigation controller according to the changing interface demands of the different user groups such as a classic contractor, a modern contractor, a novice user, etc., by offering a simple menu of user groups. The user simply makes a selection based on what user group they belong to and the overall user interface 21 changes with display driven menus tailored exclusively for that specific user group. For example, according to one embodiment, the user is able to specify in a user interface display settings display screen what type of group the user/programmer of the irrigation controller belongs to: a modern contractor (a contractor who is accustomed to modern methods to program an irrigation controller), a classic contractor (a contractor who is accustomed to a traditional method of programming an irrigation controller), or a novice (a user not familiar with the programming of an irrigation controller). Once the user selects which group the user belongs to, the user interface (i.e., the display screens and programming sequence) are presented to the user accordingly. Thus, the programming process the user must navigate to program the controller will vary depending on which group the user selects. One embodiment is illustrated in
As seen in
Shown in
The unlabeled soft keys 25 (also shown in
Existing irrigation controllers are limited to small, simple LCD segmented displays with limited language capability and limited graphic capability. It is a further objective of several embodiments to enhance the user experience through a display that can support a plurality of graphics and different alphabetical characters of different languages. To this end, the irrigation controller 10 employs a graphical display controlled by the control panel microcontroller 32 accommodating a superior language and graphics support with more lines of information displayed on the LCD 24 having the pinout configuration as illustrated in
In several embodiments, the user is allowed to select which language to view the display screens in. Known controllers are configured to display screens in a single language (e.g., English). However, since the controller stores display screens in multiple languages, the user can select a given language or change the display screen language. The language selection is stored in non-volatile memory (e.g., EEPROM 32a) so that the setting is saved for use after a power outage occurs. For example, the user simply navigates (through the rotary switch 22, the display screen menus and soft keys 25) to a language select screen to select the language of choice. Additionally, the language of initial display may be set when shipping the product, if for example, the controller will be shipped to a specific country having a commonly accepted language. The user will have the ability to change this language, but at least the initial language will be in the most common language of that country.
While the user interface 21 in accordance with some embodiments of the invention utilizes different fonts to emphasize certain details to the user, different portions of the display 24 can be flashing to emphasize certain other details. A plurality of graphic icons is also employed as part of the emphasis mechanism of the user interface 21.
Now returning to
The backplane circuitry 46 provides a valve test through a single-position screw terminal 64, also shown in
The backplane 45 also includes a base module mounting location 45a and a plurality of expansion module mounting locations 45b. Each mounting location 45a and 45b provides a location on the backplane where a module can be mounted thereto. The base module mounting location 45a includes a connector 44 that includes pins or contacts electrically coupled to the backplane circuitry 46. Each expansion module mounting location 45b also includes a connector 47 that includes pins or contacts electrically coupled to the backplane circuitry 46. In operation, the base module 55 is mounted within the housing 20 at the base module mounting location 45a of the backplane 45, and the expansion module(s) 65 are mounted within the housing 20 at corresponding expansion module mounting locations 45b of the backplane 45.
As seen in
According to several embodiments of the invention, mechanisms are provided to ensure that modules installed into the controller are compatible with the controller 10 and that these modules 65 were built by an authorized manufacturer. In one embodiment, each module 65 contains a predetermined textual message, e.g., a textual message that is copyright protected, that is transmitted by the module 65 over the bus 39 to the main microcontroller 32. The main microcontroller 32 expects to receive a valid textual message (e.g., the copyright message) from every module 65. If it does not receive such a message, the main microcontroller 32 will treat that specific module as rogue and ignore it. According to a second embodiment, both the modules 65 and the main microcontroller 32 contain a challenge/authenticate mechanism. This allows for a “mutual authentication” scheme that can be initiated by either the main microcontroller 32 or the expansion module microcontroller 66a. As shown in
Expansion modules 65 would also like to have assurance that they are installed in a controller 10 that has also been built by an authorized manufacturer. In this embodiment, the module 65 issues a challenge to the main microcontroller 32 (Step 100), as shown in
In preferred embodiments, the confidentiality of these transfers (steps 92, 95, 102, 105) is maintained by encrypting the data sent over the communication bus 39.
With an expandable architecture, it is possible that users could attempt to keep adding modules without limits. This may make it difficult to distinguish different products with different capacities in the market. A further object of some embodiments of the invention is to limit the number of modules, the number of each type of module, the number of external expansion housings, or any combination thereof. To that end, a mechanism exists in the firmware 33a such that if the user attempts to exceed the imposed limits, the irrigation controller 10 advises the user that a limit has been reached. Also, the controller 10 refuses to operate any modules that exceed the limit. For example, in one embodiment, a limit of the number of modules (or a limit of the number of certain types of modules that is allowed to be attached to the controller (including all expansion housings) is stored in the memory of the microcontroller (e.g., firmware 33 or the EEPROM 32a). When a module is enumerated, the main microcontroller checks to see if there are stored any limits. If there are, beyond the limit, the main microcontroller will not enumerate the additional modules or operate therewith. Additionally, the main microcontroller will send or cause an error message to be displayed to the user indicating that the user has exceeded the maximum number of modules (or maximum number of modules of a given type of module).
As indicated in
An alternate embodiment of a module status indicator 56a to communicate the module status is using a display screen, such as an LCD directly on the module, that is operated by the microcontroller 66a of the modules 55, 65. See, for example, the diagram of
As illustrated in the embodiment of
Shown in detail in
In one embodiment, a mechanism exists whereby the accidental installation of the base module 55 in any of the expansion module mounting locations 45b or the accidental installation of an expansion module 65 in the base module mounting location 45a is mechanically prevented. In one form, this mechanism utilizes the ‘polarity key feature’ in which the base module connector 57 is turned 180 degrees in the opposite direction from the placement of the expansion module connector 67. This connector polarity key feature is also reflected on the corresponding pins of connectors 44 and 47 of backplane circuitry 46 that couple and interconnect with the base module connector 57 and the expansion module connector 67 respectively. This mechanism prevents the base module 55 from properly mating if there is an attempt to mount the base module into one of the expansion module mounting locations 45b and also prevents the expansion module 65 from properly mating if there is an attempt to mount an expansion module to the base module mounting location 45a.
Additionally, as seen best in
Seen in
The expansion modules 65 interface with the backplane circuitry 46 through the connector 47 (e.g., a 2×5-pin header connector) indicated in
In addition to station output expansion modules 65, each module connector 47 can also accept other types of input/output modules that will work together with the main microcontroller. In one example, an expansion input module 65a can include a plurality of inputs 67 coupled to the microcontroller 66a such as one providing sensor inputs with an architecture that is illustrated in
The architecture for an expansion module type known as a smart expansion module 65b is shown in
In the diagram of
One example of a smart expansion module 65b is an evapotranspiration (ET) module that receives ET data at an input 67 and may optionally include one or more station outputs 67. The microcontroller 66a requests and receives an irrigation program from the main microcontroller 32, alters the program in accordance with the decision making programmed into the module 65b based on received ET data and returns the irrigation program with altered parameters to the memory of the main microcontroller 32. The main microcontroller 32 is configured to receive the replacement irrigation program, store it and execute it. In this manner, the expandable and open architecture of the main control unit or control panel 30 together with the addition of the smart expansion module 65b provides additional functionality (e.g., the ability to adjust schedules based on ET data) to the irrigation controller that was not present in the originally designed and configured control panel 30, without any firmware updates or other changes to the control panel. According to this architecture, the main microcontroller does not need to know in advance the types of possible smart expansion modules 65b that it could operate together with, it simply shares its data with other modules of unknown functionality and responds to commands and executes adjusted schedules provided by these modules 65b. Advantageously, the user does not need to purchase a new control panel to upgrade to functions not provided by the control panel, the user simply purchases a smart expansion module 65b that provides the desired functionality.
Moreover, in other embodiments, a variation of smart expansion modules defined as interface extension smart modules 65c is provided which also has the ability to interact with the user interface 21 of the control panel 30. The interactions between the user and the interface extension module 65c are shown in
One embodiment of an interface extension smart module 65d is illustrated in
Another variation of a smart expansion module 65e is illustrated in
Another variation of a smart expansion module 65f is illustrated in
In one embodiment, once the rotary dial 22 is turned to the “Smart Module” setting, the LCD 24 provides a list of the installed smart expansion modules (and smart expansion modules having interface extension capabilities), e.g., modules 65b, 65c, 65d, 65e, 65f. When this list appears, thanks to their built-in intelligence, these type of expansion modules have the ability to report their name and capabilities. Through the data received from the expansion modules 65 during the enumeration process (i.e., the process of the expansion modules 65 self detecting their installation and reporting their presence, type and configuration information to the main microcontroller), the main microcontroller 32 knows what module mounting locations have modules 65 in them so it knows how many modules belong on this list. Once the user selects the expansion module 65 which he/she wants to program from the list, by using the soft keys 25, the smart features are activated and the selected interface extension module 65c takes control of the controller display (e.g., LCD 24) and provides the user interface screens to the main microcontroller for display. The availability of an “exit” option on the menus created by the interface extension module 65c allows exiting from the ‘user interface extensibility’ mode, bringing back the list of smart expansion modules to the LCD 24.
Various expansion modules 65 and particularly smart expansion modules may be added to the controller to perform a variety of functions that expand the capabilities of the irrigation controller 10 beyond its basic irrigation functions. Other examples of functional expansion modules not specifically described above that may be added to the controller include: a latching solenoid module that sends a DC pulse along a wire to a latching solenoid operated valve; a wireless module having a wireless transmitter (radio, optical, etc.) that sends a wireless signal to a receiver at a self powered valve; a feature module containing an extra feature such as cycle and soak, etc., not present in the original controller; an alarm module for communicating fault conditions to a homeowner, an alarm company or alike; an lighting module that provides a low voltage output signal to outdoor lighting system (similar to an irrigation output, but intended to operate lights); a fertigation module connecting an automatic fertilization system and allowing the irrigation controller 210 to automate fertilization; a communication module connecting the controller 10 to other communication channels and/or networks including the internet, etc.
Referring next to
In normal operation, the main microcontroller 32 continuously sends refreshing signals on a periodic basis to each connected module to confirm that the module is still connected. For its part, the expansion module 65, replies to these refresh signals to let the controller know that it is still connected. If during operation, a given expansion module 65 is unplugged from the backplane, the main microcontroller 32 will stop receiving responses to the refresh signaling sent by the main microcontroller (Step 117). The microcontroller 32 then increments it retry counter (Step 118), and sends additional refresh signals until a response has still not been received from the expansion module after a maximum number of retry attempts (Step 119). At this point, the main microcontroller assumes that the expansion module has been removed and de-enumerates the expansion module (Step 120). In other words, the expansion module is removed from the list of enumerated modules 65. In preferred embodiments, the configuration data (including user defined configuration data) stored in memory is retained until another expansion module is mounted into the location of the removed module. In the event the new module (following steps 111-114) is a replacement module identical in nature to the recently removed module, the same configuration data is used for the replacement module. Advantageously, a module replacing an expansion module does not need to be reconfigured. That is, it can use the already learned or programmed configuration data as the previous module it is replacing. In one embodiment, upon the enumeration of a replacement expansion module, a copy of the configuration data stored in the memory of the control unit is transmitted to the expansion module and stored in the expansion module as well, since some configuration data may relate to a programmed or user defined parameter of the control unit as it relates to its interaction with the expansion module.
Speaking of the module enumeration, one preferred embodiment for a module to determine its position within a plurality of expansion module mounting locations 45b is to have pulse code modulated (PCM) coded pulses sent to each connector 47. This ensures a robust digital signal for the expansion modules to use in determining which mounting location they are attached to and requires only a single signal pin at the module connector 57. The PCM pattern delivered is unique for each connector 47. The expansion module 65 sees this PCM pattern and determines which mounting location is it attached to since it knows what PCM coded signals match with which mounting location 45b.
In another preferred embodiment for the expansion module to determine its location to report back the main microcontroller 32, each module mounting location 45b is identified by the combination of two input signals. One is an analog signal and the other is a frequency signal. The analog signal is used to identify the module mounting location of a single module within a group of expansion modules (GOM) and the frequency signal is used to identify what group of expansion modules such module belongs to, for example, the irrigation controller 10 is considered as the first group of modules (GOM1), whereas groups of expansion modules in additional expansion housing(s) 80 would be considered in another group of expansion modules. For example, the first external expansion housing 80 which is daisy-chained to the irrigation controller 10 is considered the second group of module (GOM2). And if there is another external expansion housing 80 which is coupled to the first external expansion housing, it is considered to be the third group of module (GOM3), and so on. When used in combination, the analog and frequency signals give a unique identifying address to each module in the system. The analog signal is a voltage divider network may be formed in the backplane circuitry 46 and is formed by 1% resistors that are connected in series. Each module mounting location 45b will be assigned to a pre-determined voltage signal which is between the logic ground and VCC. (For example: In this case, there are four different voltages for four different module mounting locations 45b. Module mounting location 1 will be assigned to 0.5V, module mounting location 2 will be assigned to 1V, module mounting location 3 will be assigned to 1.5V, and module mounting location 4 will be assigned to 2V). This same voltage divider network will also be applied to the backplane circuitry of any external expansion housing 80. In order to distinguish between groups of modules (which expansion housing), the frequency signal is initially generated by the main microcontroller 32 of the irrigation controller 10. This signal will be divided by 2n (n=1, 2, . . . ) by a frequency divider circuit in the external expansion housing 80 that is daisy-chained to the irrigation controller 10. It will continuously be divided by another 2n by a subsequent frequency divider circuit in the second external expansion housing 80 if connected. In one embodiment, the frequency divider circuit is a simple flip-flop or frequency counter device that will be embedded in the external expansion housing 80. In operation, the expansion modules 65 store a table of what voltages and frequencies corresponds to what module mounting location of what housing (either the main controller housing 20 or an expansion housing 80).
A further preferred embodiment for the expansion module to determine its location to report back the main microcontroller 32 uses a low cost module microcontroller, a resistor and a capacitor to physically locate the expansion module to its physical module mounting location. In operation, each connector 47 has a single dedicated pin (e.g., ENUM-RCX) that has a single dedicated resistor (e.g., see resistor 86 in
In preferred embodiments, since the main microcontroller 32 has an open architecture configured to work with and share data with expansion modules 65, the main microcontroller 32 can make sure the expansion module 65 or the external expansion housing 80 to which it is communicating is “legitimate”. Before establishing a normal communication activity, the main microcontroller 32 and the module microcontroller 66a conduct an authentication scheme. In one embodiment, this is accomplished by exchanging challenge codes and response codes. For example, as described above with reference to
Historically, dealing with a large number of heavy gauge wires extending from the irrigation controller to each station on the site has been an issue of intense labor, rising cost and wire mapping complexity especially in large sites such as golf courses and cemeteries. In one embodiment, this problem is solved by introducing a special type of expansion output module, namely a ‘decoder module’, plugged into an expansion module mounting location 45b of the irrigation controller 10 which will require just a single wire pair to connect to plurality of decoder enabled station valves on the site. This greatly minimizes the wiring requirements by having just a single pair of wires be connected to the controller. Stand-alone specialty controllers that work with decoder valves exist in the irrigation industry. However, one embodiment of the invention provides this decoder functionality in an expansion module to a modular controller that can also operate with other types of regular station expansion modules 65, input expansion modules 65a, and smart expansion modules 65b, 65c, 65d, 65e, 65f that co-exist with the decoder type outputs. In addition, the use of smart expansion modules in combination with a decoder output module allows the smart expansion modules 65b and 65c to control the decoder outputs of a decoder module in a powerful manner not possible with any other controllers in the industry. The components of the decoder module are similar to the components found in
Each expansion module 65 (and likewise modules 65a, 65b, 65c, 65d, 65e, 65f) contains an independent microcontroller 66a and communicates with the main irrigation microcontroller 32 to report its capability to the controller 10. In the presently preferred embodiment, the microcontroller 66a of the expansion module 65 is an ATMEGA8L-8AC microcontroller. The controller 10 then adjusts its operation accordingly based on the module capability. For example, if a new expansion module is detected with a 4-station capacity, then the controller 10 will add only an increment of 4 stations to the ‘total available’ in the programming menus. This flexibility of employing a plurality of expansion modules 65 provides operational and economic advantages to the contractor who no longer has to stock, install and learn to operate completely different controllers for different types of applications. By allowing different expansion module types to be mixed on a single controller, modular controllers in accordance with several embodiments of the invention provide the contractor with virtually infinite flexibility to tailor controller outputs to the unique set of needs of each individual site. For example, a site may have two or three valve locations that are difficult to access. The contractor could add wireless output module(s) to the controller and install wireless valves in these locations, while using lower cost AC output modules and standard solenoids for the other valves in the system.
It is common for prior art irrigation controllers to detect a short circuit caused by a mis-wired or a malfunctioning valve and suspend the watering. Those controllers typically assigned the responsibility of reading the short condition and alleviating the problem to the main microcontroller which is typically housed within the control panel. However, this responsibility of the main microcontroller introduces additional burden on the communication path, causing a delay in corrective action before undesirable effects take place. It is an object of another embodiment of the invention to move the short circuit and over-current detection (mis-wired or malfunctioning valve might have short circuit preventing the normal operation) out of the control panel 30 and into the expansion modules 65, thus bypassing the bottleneck of the bus 39 and the main circuitry 31 (shown in
As best seen in embodiment illustrated in
Seen clearly in
The prior art irrigation controllers have certain disadvantages in regards to the placement of the modules. One such controller by a competitor requires modules to be installed in a specific order. In contrast, modular controllers in accordance with several embodiments of the invention eliminate the need to move an existing module, renumber irrigation zones or disconnect and reconnect valve wires when adding a module to the irrigation controller 10. It is a further object of several embodiments of the invention to allow expansion modules 65 of any output station size capacity to be placed on any receptacle 45b in any order. This is allowed in many embodiments because the modules 65 report their station output capability to the main microcontroller 32, which is configured to accept any number of station outputs, including decoder station outputs. The microcontroller 32 is also configured not to be confused if there is a gap in sequential modules as installed.
A latching mechanism between the modules 55 or 65 and the backplane cover 43 facilitates the secure, firm and reliable connection of modules 55 or 65 to the backplane circuitry 46. The module 55 or 65 is placed perpendicularly onto the module mounting location 45a or 45b, seen in
Each module 55 and 65 has a status indicator 56a, e.g., a light emitting diode (LED), that illuminates to indicate correct installation of the module 55 or 65, or that the module 55 or 65 is active during valve or other operation. In some embodiments, the status indicator 56a is a sound emitting device.
To facilitate power consumption reduction, the microcontroller in modules 65 can go to sleep and be awakened by a command or signal from the control panel microcontroller 32. In some embodiments, the controller 10 also incorporates a power supply feature that enhances the component reliability while providing higher power output through a new method based on a modified form of pass regulator topology. The pass regulator transistor, instead of always being on, is switched to on and off modes using available line frequency. The advantage yielded with this approach is the increased system efficiency at no additional cost.
The backplane circuitry 46 holds the remote connector 63 and the ground terminal blocks 60b, the power terminals blocks 60a, base module connector 44 for the base module mounting location 45a and the connectors 47 for four additional expansion module mounting locations for expansion modules 65. In the illustrated embodiment, no station outputs are found on the backplane circuitry 46, although it is understood that in some embodiments, station outputs may be implemented in the backplane circuitry 46.
In one embodiment, the remote connector 63, indicated in
The prior art irrigation controllers have invented ad hoc or proprietary bus methodologies to solve communication problems. However, the software and firmware used for communications in such prior controllers is often not extensively tested, documented, or reliable, and is often inflexible thus offering few expandability options. Modular controllers in accordance with several embodiments of the invention incorporate, in a unique manner, the time-proven robust Transmission Control Protocol/Internet Protocol (TCP/IP) computer communication protocol for use on the controller's internal communication bus 39. The use of such a powerful protocol in a modular irrigation controller has never been undertaken in the industry. This preferred method, using TCP/IP, allows for superior flexibility for internal communications between the main microcontroller 32 and other microcontrollers 66a located in the irrigation controller 10. It also offers easier and greater communication with external control networks and larger networks. As illustrated in
One embodiment incorporates a very compact and efficient TCP/IP protocol stack so that it may fit in the small memory space of the module's microcontroller 66a thus keeping the cost of the module's microcontroller 66a as low as possible to create a cost-effective product. Traditionally, the use of a TCP/IP protocol would not be considered viable in a product of this nature. To keep the memory requirements as low as possible, the invention utilizes the UDP flavor of the TCP/IP protocol. The use of TCP/IP protocols within the modular controller allows utilizing the powerful addressing and routing features inherent in the TCP/IP protocol. The control panel 30 and each expansion module 65 are treated as separate internal network devices, each with a uniquely assigned IP address (Internet Protocol address).
To communicate within a larger network of a centralized system, this embodiment has an external communication interface 34a. In preferred form, this communication interface also uses a TCP/IP protocol to communicate with the main microprocessor 32. Thus, the controller 10 has the ability to be connected to an external network and assigned a unique IP address (dynamic or static) and be fully controlled over the Internet or other network. By using the TCP/IP protocol, each expansion module 65 (including input modules 65a, smart expansion modules 65a, 65b, 65c, 65d, 65e, 65f) can communicate with either the main microprocessor 32 or an external computer located on a private or public network. In return, the external computer can interact directly with every expansion module 65 as the main microprocessor 32 will act as a TCP/IP router directing the data to the correct module. In the preferred embodiment, the external communication interface 34a incorporates a phone line modem using Point-to-Point Protocol (PPP). It will be obvious to those skilled in the art, that the communication interface could alternately be an Ethernet interface, wireless interface, etc. Optionally, Internet email may be used to send messages back to the main microcontroller. In addition, a Hypertext Markup Language (HTML) web server can be optionally installed to make communications easier. This way, the irrigation controller can be updated with the latest input data, such as weather and environmental conditions, by email or by direct sending of UDP packets to the controller.
The following description provides more details regarding many of the pinout configurations of various electrical components of the modular controller 10 in accordance with several embodiments of the invention. Each pinout configuration comprises a plurality of pins of an electrical connector interface designed to couple to a corresponding interface having the same pin assignments. In one embodiment, the pinout assignments for the ribbon cable 49 interface between the control panel 30 and the backplane circuitry 36 as illustrated in
In one embodiment, the pinout assignments 69 for the base module connector interface between the connector 57 of the base module 55 and the connector 44 of the backplane circuitry 36 as illustrated in
In one embodiment, the pinout assignments 78 for the expansion module connector interface between the connector 57 of the expansion module 65 and the connector 47 of the backplane circuitry 36 as illustrated in
In one embodiment, the pinout assignments for the external expansion port 62 connector interface to an expansion housing 80 as illustrated in
In one embodiment, the pinout assignments for the interface to the LCD 24 of the user interface 21 as illustrated in
In one embodiment, the pinout assignments for the communications interface port 34a as illustrated in
Next, while referring to
The controller housing 212, preferably formed of plastic or other suitable material, is designed to withstand various environmental conditions, and houses a base unit 224, a base module 221, expansion modules 222 and smart modules 226 (also referred to as smart expansion modules). To releasably retain the cabinet door 16 in the closed position, the door edge opposite the hinge 262 includes a laterally inwardly projecting lip 266 that releasably mates with an opening 270 formed in a tab 268 projecting forwardly from the front edge of the rear cabinet portion 214. Upon release of the lip 266 from the opening 270, the cabinet door 216 pivotally swings open about the hinge 262 to reveal a removable and programmable control panel 220 that includes a user interface to enter and maintain an irrigation schedule. The cabinet door 216 contains a window 272 to which is mounted a light pipe 247. The light pipe 247 is positioned on the cabinet door 216 to provide direct viewing of a light emitting diode (led) alarm indicator 246 when the cabinet door 216 is closed.
The base unit 224 carries out basic irrigation functions and also performs other advanced functions, and comprises the control panel 220 that is removably attached to the front of the rear cabinet portion 214, and a back plane circuit board 251 (see
It is an object of one embodiment of the present invention to have an easy and intuitive user interface to enter and modify a plurality of irrigation schedules for an irrigation system. As seen in
With reference to
As best seen in
The control panel 220 can be removed from the controller 210, as seen in
A detachable ribbon cable 228 removably connects the control panel 220 to the backplane circuitry 251 so as to permit the control panel 220 to be completely removed from the base unit 224. To provide power so that the control panel 220 can be removed and programmed independent of an outside power source, a battery (not shown) is provided in a recess 234 in the control panel 220. This further provides additional flexibility in that, for example, a damaged control panel can quickly be changed and replaced with a new control panel without the need to replace the entire base unit 224. This feature also lets the user enter program information before installing the controller at a job site. In this instance, the battery is retained by a cantilever-type spring biasing element 235 that frictionally presses against the side of the battery to hold it in position. The battery is easily removed via a finger access hole 235b located in the spring biasing element 235 which allows the user to simply insert a finger, pull up on the spring element slightly to release the frictional contact, and remove the battery from the recess 234 shown in
A reset button 225 is located at the back of the control panel 220 as seen in
The base unit 224 relies on the insertion of the base module 221 to be capable of activating any irrigation stations. The base unit 224 does not have sufficient capability by itself to control an irrigation station, as there are no driver or output switches for irrigation stations within the base unit 224. Instead, drivers and switching means are located in the base module 221 and the expansion modules 222. It is an object of several embodiments of the present invention to achieve flexibility and cost savings. For example, a damaged component such as a microcontroller or station switch in a prior art base unit would require that the entire base unit be replaced. In one embodiment, a damaged component in the base module 221, the expansion module 222 or the smart module 226 requires only that the damaged module be swapped out and replaced on-site by a new module in much less time than is needed to install a new base unit and at significant cost savings. The expandable architecture allows the user to choose from a variety of expansion modules 222 that can include standard irrigation modules for carrying out watering schedules or smart modules 226 for carrying out additional functions.
Moreover, as shown in
As shown in
In this connection, the electrical contact pins 245A of the back plane circuitry 251 are grouped in sets corresponding to the location of each bay 219 into which a module can be positioned. Herein, as seen in
To properly position and guide the modules 221, 222, and 226 into the bays 219, each module includes longitudinal recesses (not shown) formed along the bottom of the lower module housing 282 that can mate with upstanding guide rails 230 formed on the bottom wall of the rear cabinet portion as seen in
The base module 221 is responsible for the carrying out basic irrigation functions, such as turning on or off irrigation system valves (not shown here) which control the flow of water to the irrigation stations for the preset programmed duration. The presently preferred circuitry for the base module 221 is illustrated in
The expansion modules 222, which are generally identical to each other, enable a user to quickly and easily expand the capabilities of the controller 210 functions without requiring the purchase of a new base unit 224. Each of the expansion modules 222 includes three station output terminals 227, herein in the form of conductive screws, as seen in
Each expansion module 222 includes a microcontroller 222b (see
The microcontroller 222b in the expansion module 222 and the microcontroller 220c in the base unit 224 are mutually dependent upon each other in order to operate. The communication between the control panel microcontroller 220c and the expansion modules 222 takes place through an asynchronous serial communication line, namely, COMMX. During the communication, data bits are transmitted in 100 microsecond intervals. In order to obtain a consistent time reference for data reception, bit marks are set at 100 microseconds. Due to the fact that the control panel microcontroller 220c and the modules 221 and 222 are running asynchronously, each running on a separate clock, a bit jitter of 8.4 microseconds, worst-case, could be realized. To guarantee the bit jitter not exceeding 8.4 microseconds, it is necessary that the control panel microcontroller 220c disables any interrupts associated with any other interrupt functions, such as key actuation by a user, and only service the communication task at hand. Other functions and operations should not be affected adversely since the communication sequence lasts only for approximately half a millisecond per module.
Preferably, the communication protocol consists of a negative start bit, 3 data bits, and an active low acknowledge. The recognition of the start bit by the module prompts the module to read the station status bits near the center of each 100 us bit mark. Upon completion of the status bits by the control panel microcontroller 220c, the control panel microcontroller releases the serial communication line and allows the module to acknowledge data reception by pulling down the serial communication line.
The microcontroller 222b in the expansion module 222 looks at the received data which contains information about which irrigation stations attached to this module should be activated or deactivated. In preferred form, he microcontroller 222b receives three consecutive messages with identical information before it actually makes a change to the irrigation station outputs. This provides a robust communication implementation whereby the irrigation stations do not erratically turn on or off under noisy data conditions.
The control panel microcontroller 220c sends irrigation station data to every expansion module 222 through the backplane circuitry 251 on a one second interval, thereby insuring that each microcontroller 222b in each expansion module 222 is refreshed with irrigation station data every one second. The microcontroller 222b in the expansion module 222 also includes a timeout mechanism. A timer inside the microcontroller 222b and an interrupt service routine in the microcontroller firmware is used to create a repetitive internal clock tick every few hundred microseconds, which in turn, increments a counter to keep track of seconds. This clock tick and counter is used to measure the interval time gap since the last valid communication packet received by the module microcontroller 222b from the control panel microcontroller 220c. If this time interval gap exceeds five seconds, the microcontroller 222b in the expansion module decides that a fatal communication failure has occurred and the microcontroller 222b deactivates all irrigation station outputs connected to itself.
Each time that the control panel microcontroller 220c sends irrigation station data to an expansion module 222, the microcontroller 222b in the expansion module 222 will respond with an acknowledge bit. This acknowledge bit is transmitted by the microcontroller 222b immediately after the receipt of the station status bits in the serial communication. If the control panel microcontroller 220c does not receive an acknowledge bit, this is an indication that a module is not installed in that specific path 237A-237D of the bay 219. After communicating with each connector in the bay 219, the control panel microcontroller 220c will know which paths have modules installed and which do not. The firmware of the control panel microcontroller 220c will correlate this information to determine which irrigation stations are effectively available to the irrigation program. If a user attempts to program an irrigation station that is not present, the firmware will alert the user by displaying a message such as “No Module”.
The spring finger contacts 245 of the expansion modules 222 mate with complementary contact pin sets 245a formed in the backplane circuitry 251, for example as is shown in
As shown in
The communication between the control panel microcontroller 220c and each of the expansion modules 222 and the smart modules 226 takes place through a serial communication line so that the particular module insertion path 237A-237D into which an expansion or smart module is inserted makes no difference. Thus, if an expansion module in insertion path 237B malfunctions and needs to be replaced, the removal of that module will have no effect on the operation of the remaining modules in insertion paths 237C and/or 237D.
If the control panel circuit 220b, illustrated in
Various smart modules 226 may be used to perform a variety of functions that expand the capabilities of the irrigation controller 210 beyond its basic irrigation functions. In this instance the smart module circuit shown in
Like the expansion modules 222, the smart modules 226 have a set of conventional spring finger contacts 245 that mate with a corresponding set of conventional connector pins 245A of the backplane circuitry 251. In this instance, as best seen in
The smart modules 226 use a dedicated line, herein designated COMM4, to communicate their presence and identity to the control panel microcontroller 220c. This COMM4 connection is provided in the right-most slot 230D of the base unit 224, so that a module inserted therein has access to this additional communication signal. Smart modules 226 can also utilize the asynchronous serial communication line, COMMX, in a similar manner to the expansion modules 222. In addition, if a Smart module 226 requires extended two-way communications with the base unit 224, it can achieve that through a software-based communications protocol programmed into the microprocessor of the smart module 226 and that of the base unit 224. Moreover, if desired, the backplane circuit board 251 can be modified to include additional bays 219 for receiving additional smart modules 226 simply by adding bays with a COMM-4 communication line for two-way communication with the control panel microcontroller 220c and/or by adding COMM-4 lines to one or more of the bays 219 in which expansion modules 222 are mounted.
Notably, the expandable architecture modular design allows the communication between the smart modules 226 and the base unit 224 such that all smart functions are carried out in the smart modules 226 rather than the base unit 224. The smart modules 226, herein having circuitry as shown in
To guard against the failure of the control panel microcontroller 220c, a mechanism is in place that allows both the expansion modules 222 and the smart modules 226 to be aware of such failures. The control panel microcontroller 220c communicates with the modules on a frequent basis. This allows a module to detect the loss of communication. In effect, this action is similar to that of a watchdog timer. While the control panel microcontroller 220c is active, the expansion modules 222 execute the commands as received in real time from the control panel microcontroller 220c. However, should there be a communication gap greater than expected, the expansion modules' microcontrollers 222b interpret this as a control panel microcontroller 220c failure and immediately shut down any watering activities or other functions until the watchdog conditions have been properly restored. For each command sent to the expansion modules 222, the expansion modules 222 respond with an acknowledgment. Absence of this acknowledgment informs the control panel microcontroller 220c that the module has suffered a hardware or software failure. Notably, it makes no difference into which bay 219 an expansion module 222 is positioned, nor to which of the output terminals 227 irrigation station wires are connected. The microcontroller 220c of the control panel 220 monitors the bays 219 for the presence or absence of expansion modules 222, and cooperates with the microcontrollers 222b of the expansion modules to send control signals only to those irrigation stations detected. In this manner, there is no requirement that any particular bay 219 include an expansion module 226, thus allowing the user to add or remove modules in random order, even while the controller 210 is on and active.
In addition to the normal irrigation program set, labeled A, B & C and stored in non-volatile EEPROM 44, the Controller 210 also contains a contractor's default program set. This contractor's default program set is stored at a separate location in non-volatile EEPROM 44 than the active program set. Irrigation programs for A, B & C are entered through the User Interface 229. A menu choice is available to store this set of irrigation programs into the EEPROM 44 as a contractor's default program set. Thereafter, the user may make changes to the programs A, B & C without concern about making irrigation program mistakes since there is a backup copy. In addition, a knowledgeable irrigation expert can enter a set of programs and store them as the contractor's default program set. A menu choice is available to recall the contractor's default program set from the EEPROM 44 and replace the normal irrigation program set A, B & C. This allows the user to quickly and easily restore a known working irrigation schedule. Other irrigation controllers in the industry have a set of factory defaults with fixed program settings that a user may recall, but do not have the ability to store and recall a set of irrigation programs customized for each individual site.
Generally, the contractor default program set is a program set that has been modified relative to the factory default, typically by a contractor during installation and is preferably site specific. In one embodiment, the contractor saves this customized program as a set recallable default program. Thus, if a user modifies the program that was input by the contractor, the user has the ability to recall the contractor default if the user is not happy with the changes made. In a prior art controller, the user could recall only the factory default and would have to re-program the controller just to get it back to the customized state the contractor had set up. By having the ability to recall this customized contractor default program, the user can easily go back to the customized state of the program, which was set up for the installation. Generically, the contractor default program may be referred to as modified default program, which is specifically not a factory default. Additional memory space is provided to be able to store both the factory default and the contractor's default in addition to the active program set.
In other embodiments, a contractor/user may set a contractor default program, save it, then make further changes to the contractor default so that the active program is the modified contractor default program. Then, the user instructs the controller to recall the stored contractor default program after a set period of time (days, hours, etc.). In operation, the controller executes the active program for a set period of time (e.g., 30 days), then the controller automatically stops using the active program and reverts back to the stored contractor default program. This feature may be useful in situations where the new grass is being planted and this new grass has initial watering needs until the grass takes root and becomes established in the soil. At this later point in time, the watering needs of the grass will have changed. In this example, the contractor will modify the factory default to generate a set of programs that will match the watering needs of the grass after 30 days once the grass has fully grown in. The contractor saves this program set as the contractor default, then modifies these programs further to generate an active program that will meet the current watering needs of the grass and sets the expiration of the active program for 30 days. After 30 days, the controller stops using the active program and recalls the contractor default to use as the active program (while continuing to save the contractor default to be recalled in the event a user modifies the active program and is not satisfied with the modified program). Advantageously, this embodiment allows more flexibility in the programming of the controller and greater ease to a user, who knows that a set of programs customized to the installation may be recalled, as opposed to being able to only recall a factory default which is not site specific.
While the invention herein disclosed has been described by means of specific embodiments, examples and applications thereof, numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims.
This application is a continuation of U.S. application Ser. No. 16/787,948, filed Feb. 11, 2020, which is a continuation of U.S. application Ser. No. 15/950,969, filed Apr. 11, 2018, now U.S. Pat. No. 10,582,673, which is a continuation of U.S. application Ser. No. 14/940,062, filed Nov. 12, 2015, which is a continuation of U.S. application Ser. No. 14/274,367, filed May 9, 2014, which is a continuation of U.S. application Ser. No. 13/182,418, filed Jul. 13, 2011, which is a continuation of U.S. application Ser. No. 12/204,747, filed Sep. 4, 2008, now U.S. Pat. No. 7,996,115, which is a continuation of U.S. application Ser. No. 11/022,179, filed Dec. 23, 2004, now U.S. Pat. No. 7,444,207 which claims the benefit of U.S. Provisional Application No. 60/532,498, filed Dec. 23, 2003. U.S. application Ser. No. 11/022,179 is also a continuation-in-part of U.S. application Ser. No. 10/687,352, filed Oct. 15, 2003, now U.S. Pat. No. 7,257,465, which claims the benefit of U.S. Provisional Application No. 60/418,894, filed Oct. 15, 2002. All of these applications are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3869854 | Church | Mar 1975 | A |
3942077 | Powers | Mar 1976 | A |
4007458 | Hollabaugh | Feb 1977 | A |
4016407 | Mesecar | Apr 1977 | A |
4090764 | Malsby | May 1978 | A |
4131882 | Hollabaugh | Dec 1978 | A |
4152750 | Bremenour | May 1979 | A |
4165532 | Kendall | Aug 1979 | A |
4176395 | Evelyn-Veere | Nov 1979 | A |
D253843 | Fernandez | Jan 1980 | S |
4204201 | Williams | May 1980 | A |
4242721 | Krolak | Dec 1980 | A |
4244022 | Kendall | Jan 1981 | A |
4250563 | Struger | Feb 1981 | A |
4276611 | Jansen | Jun 1981 | A |
4442504 | Dummermuth | Apr 1984 | A |
4569020 | Snoddy | Feb 1986 | A |
4593376 | Volk | Jun 1986 | A |
4672510 | Castner | Jun 1987 | A |
4725977 | Izumi | Feb 1988 | A |
4771374 | Ropelato | Sep 1988 | A |
4790762 | Harms | Dec 1988 | A |
4799142 | Waltzer | Jan 1989 | A |
4845380 | Piegari | Jul 1989 | A |
4852051 | Mylne | Jul 1989 | A |
4870863 | Duncan | Oct 1989 | A |
4882702 | Struger | Nov 1989 | A |
4920453 | Onose | Apr 1990 | A |
4922407 | Birk | May 1990 | A |
4937732 | Brundisini | Jun 1990 | A |
4937746 | Brundisini | Jun 1990 | A |
5000692 | Taniguchi | Mar 1991 | A |
5025361 | Pitman | Jun 1991 | A |
5097861 | Hopkins | Mar 1992 | A |
5124942 | Nielsen | Jun 1992 | A |
5173855 | Nielsen | Dec 1992 | A |
5193570 | Mott | Mar 1993 | A |
5251153 | Nielsen | Oct 1993 | A |
5262936 | Faris | Nov 1993 | A |
5265005 | Schmidt | Nov 1993 | A |
5278749 | De Man | Jan 1994 | A |
5287888 | Geiger | Feb 1994 | A |
5293554 | Nicholson | Mar 1994 | A |
5301346 | Notarianni | Apr 1994 | A |
5444611 | Woytowitz | Aug 1995 | A |
D362659 | Hedding | Sep 1995 | S |
5479338 | Ericksen | Dec 1995 | A |
5519726 | DiCarlo | May 1996 | A |
5553220 | Keene | Sep 1996 | A |
5590363 | Lunsford | Dec 1996 | A |
5600576 | Broadwater | Feb 1997 | A |
5600671 | Maul | Feb 1997 | A |
5602728 | Madden | Feb 1997 | A |
5748466 | McGivern | May 1998 | A |
5781921 | Nichols | Jul 1998 | A |
D398900 | Roman | Sep 1998 | S |
D398901 | Roman | Sep 1998 | S |
5812879 | Moro | Sep 1998 | A |
5839658 | Sarver | Nov 1998 | A |
5853122 | Caprio | Dec 1998 | A |
5853302 | Roman | Dec 1998 | A |
D409566 | Roman | May 1999 | S |
D409584 | Fetherolf | May 1999 | S |
5921280 | Ericksen | Jul 1999 | A |
5956248 | Williams | Sep 1999 | A |
D417198 | Clifton | Nov 1999 | S |
5983303 | Sheafor | Nov 1999 | A |
6088621 | Woytowitz | Jul 2000 | A |
6108598 | Sumitani | Aug 2000 | A |
6111522 | Hiltz | Aug 2000 | A |
6170035 | Gianellini | Jan 2001 | B1 |
6178476 | Powell | Jan 2001 | B1 |
6230089 | Lonn | May 2001 | B1 |
6240336 | Brundisini | May 2001 | B1 |
6314340 | Mecham | Nov 2001 | B1 |
6330806 | Beaverson | Dec 2001 | B1 |
D452695 | Miller | Jan 2002 | S |
D454625 | Flanagan | Mar 2002 | S |
D457144 | Suen | May 2002 | S |
6402032 | Huang | Jun 2002 | B1 |
6402048 | Collins | Jun 2002 | B1 |
6453215 | Lavoie | Sep 2002 | B1 |
6459959 | Williams | Oct 2002 | B1 |
D467349 | Niedbala | Dec 2002 | S |
D470826 | Bergmann | Feb 2003 | S |
6571340 | Lee | May 2003 | B1 |
6585168 | Caprio | Jul 2003 | B1 |
6600971 | Smith | Jul 2003 | B1 |
6647319 | Goldberg | Nov 2003 | B1 |
29198322 | Zwick | Jan 2004 | |
6685104 | Float | Feb 2004 | B1 |
6708084 | Battistutto | Mar 2004 | B2 |
6721630 | Woytowitz | Apr 2004 | B1 |
D492264 | Perez | Jun 2004 | S |
6751740 | Robertson | Jun 2004 | B1 |
6763287 | Brundisini | Jul 2004 | B2 |
6766221 | Christiansen | Jul 2004 | B1 |
6772050 | Williams | Aug 2004 | B2 |
6834662 | Olson | Dec 2004 | B1 |
6842667 | Beutler | Jan 2005 | B2 |
6850819 | Townsend | Feb 2005 | B1 |
6898467 | Smith | May 2005 | B1 |
6967565 | Lingemann | Nov 2005 | B2 |
D512966 | Cook | Dec 2005 | S |
6996457 | Williams | Feb 2006 | B2 |
D517020 | Cook | Mar 2006 | S |
7050887 | Alvarez | May 2006 | B2 |
7058478 | Alexanian | Jun 2006 | B2 |
7058479 | Miller | Jun 2006 | B2 |
7069115 | Woytowitz | Jun 2006 | B1 |
7181319 | Woytowtiz | Feb 2007 | B1 |
7225058 | Porter | May 2007 | B1 |
7229026 | Evelyn-Veere | Jun 2007 | B2 |
D546772 | Venegas | Jul 2007 | S |
7245991 | Woytowitz | Jul 2007 | B1 |
7248945 | Woytowitz | Jul 2007 | B2 |
7249265 | Von Carolsfeld | Jul 2007 | B2 |
7257465 | Perez | Aug 2007 | B2 |
7269829 | Smith | Sep 2007 | B2 |
7289886 | Woytowitz | Oct 2007 | B1 |
7328089 | Curren | Feb 2008 | B2 |
D569797 | Neitzel | May 2008 | S |
7398139 | Woytowitz | Jul 2008 | B1 |
7444207 | Nickerson | Oct 2008 | B2 |
7522975 | Perez | Apr 2009 | B2 |
7574285 | Kah | Aug 2009 | B2 |
7584023 | Palmer | Sep 2009 | B1 |
7613546 | Nelson | Nov 2009 | B2 |
7613547 | Woytowitz | Nov 2009 | B1 |
7640079 | Nickerson | Dec 2009 | B2 |
7844367 | Nickerson | Nov 2010 | B2 |
7844369 | Nickerson | Nov 2010 | B2 |
7953517 | Porter | May 2011 | B1 |
7996115 | Nickerson | Aug 2011 | B2 |
8160750 | Weiler | Apr 2012 | B2 |
8244404 | Nickerson | Aug 2012 | B2 |
8265797 | Nickerson | Sep 2012 | B2 |
8271144 | Kah | Sep 2012 | B2 |
8417390 | Nickerson | Apr 2013 | B2 |
8706307 | Weiler | Apr 2014 | B2 |
8738188 | Nickerson | May 2014 | B2 |
8874275 | Alexanian | Oct 2014 | B2 |
8930032 | Shupe | Jan 2015 | B2 |
9348338 | Nickerson | May 2016 | B2 |
9538713 | Pearson | Jan 2017 | B2 |
9547313 | Nickerson | Jan 2017 | B2 |
9678485 | Malaugh | Jun 2017 | B2 |
10025284 | Nickerson | Jul 2018 | B2 |
10285344 | Stange | May 2019 | B2 |
10368503 | Kah, Jr. | Aug 2019 | B2 |
10390501 | Schoenberg | Aug 2019 | B1 |
10582673 | Nickerson | Mar 2020 | B2 |
10687352 | Wilson | Jun 2020 | B2 |
11061375 | Masters | Jul 2021 | B2 |
11071263 | Nickerson | Jul 2021 | B2 |
20010031944 | Peterson | Oct 2001 | A1 |
20020019682 | Fujita | Feb 2002 | A1 |
20020024611 | Watanabe | Feb 2002 | A1 |
20020060631 | Runge | May 2002 | A1 |
20020091452 | Addink | Jul 2002 | A1 |
20020119683 | Paredes | Aug 2002 | A1 |
20020183898 | Williams | Dec 2002 | A1 |
20030002607 | Mooney | Jan 2003 | A1 |
20030026074 | Clements | Feb 2003 | A1 |
20030093159 | Sieminski | May 2003 | A1 |
20030097482 | Dehart | May 2003 | A1 |
20030105984 | Masuyama | Jun 2003 | A1 |
20030135286 | Brundisini | Jul 2003 | A1 |
20030135786 | Vollmar | Jul 2003 | A1 |
20030160107 | Harris | Aug 2003 | A1 |
20030167367 | Kaushik | Sep 2003 | A1 |
20030182022 | Addink | Sep 2003 | A1 |
20030182027 | Mocek | Sep 2003 | A1 |
20030225947 | Hanson | Dec 2003 | A1 |
20040086053 | Anderson | May 2004 | A1 |
20040095267 | Pruitt | May 2004 | A1 |
20040113662 | Grimsrud | Jun 2004 | A1 |
20040135001 | Collins | Jul 2004 | A1 |
20040225411 | Beutler | Nov 2004 | A1 |
20040236443 | Ware | Nov 2004 | A1 |
20040254685 | Williams | Dec 2004 | A1 |
20050004715 | Christiansen | Jan 2005 | A1 |
20050005149 | Hirota | Jan 2005 | A1 |
20050026486 | Thomas | Feb 2005 | A1 |
20050035206 | Attia | Feb 2005 | A1 |
20050039471 | Smith | Feb 2005 | A1 |
20050055106 | Beutler | Mar 2005 | A1 |
20050119797 | Marian | Jun 2005 | A1 |
20050143842 | Marian | Jun 2005 | A1 |
20060004715 | Lock | Jan 2006 | A1 |
20060030971 | Nelson | Feb 2006 | A1 |
20060080002 | Williams | Apr 2006 | A1 |
20060100747 | Runge | May 2006 | A1 |
20060217846 | Woytowitz | Sep 2006 | A1 |
20070061048 | Lorenz | Mar 2007 | A1 |
20070106426 | Ensworth | May 2007 | A1 |
20070208462 | Kah | Sep 2007 | A1 |
20080027586 | Hern | Jan 2008 | A1 |
20080058964 | Nickerson | Mar 2008 | A1 |
20080319585 | Nickerson | Dec 2008 | A1 |
20110093123 | Alexanian | Apr 2011 | A1 |
20110270448 | Kantor | Nov 2011 | A1 |
20110270449 | Nickerson | Nov 2011 | A1 |
20110301767 | Alexanian | Dec 2011 | A1 |
20120041607 | Woytowitz | Feb 2012 | A1 |
20130123991 | Richmond | May 2013 | A1 |
20130157924 | Dewhurst | Jun 2013 | A1 |
20130158724 | Nickerson | Jun 2013 | A1 |
20130253714 | Williams | Sep 2013 | A1 |
20140018965 | Pearson | Jan 2014 | A1 |
20140249684 | Nickerson | Sep 2014 | A1 |
20160135390 | Nickerson | May 2016 | A1 |
20160235020 | Nickerson | Aug 2016 | A1 |
20170118929 | Pearson | May 2017 | A1 |
20180228099 | Nickerson | Aug 2018 | A1 |
20180310495 | Weiler | Nov 2018 | A1 |
20180314223 | Nickerson | Nov 2018 | A1 |
20200264576 | Nickerson | Aug 2020 | A1 |
20210092918 | Ensworth | Apr 2021 | A1 |
20210378110 | Kish | Dec 2021 | A1 |
20220026869 | Nickerson | Jan 2022 | A1 |
20220240463 | Crist | Aug 2022 | A1 |
Number | Date | Country |
---|---|---|
1230393 | Dec 1987 | CA |
2101793 | Feb 1994 | CA |
2325357 | May 2001 | CA |
0497040 | Aug 1992 | EP |
0586715 | Mar 1994 | EP |
1099991 | May 2001 | EP |
1103178 | May 2001 | EP |
1324166 | Jul 2003 | EP |
2195712 | Jun 2010 | EP |
02058254 | Jul 2002 | WO |
2004046872 | Jun 2004 | WO |
2005062961 | Jul 2005 | WO |
2005062961 | Jul 2005 | WO |
2009002757 | Dec 2008 | WO |
Entry |
---|
Durda, ‘Serial and URAT Tutorial’, http://www.freebsd.org/doc/en.sub.-IS.ISO8859-1/articles/serial-uart/art- icle.sgml, Jan. 13, 1996, pp. 1-32, vol. 1.13, FreeBSD. |
Hunter Industries, ‘About Hunter: A Corporate Chronology’ http://www.hunterindustries.com/Corporate/About_Hunter/about_02.html, Dec. 1, 2004, pp. 1-2, Hunter Industries Incorporated, San Marcos, CA. |
Hunter Industries, ‘Hunter ICC Controllers’, Sep. 1, 2002, pp. 1-2, Hunter Industries Incorporated, San Marcos, CA. |
Hunter Industries, ‘Hunter Pro-C Controllers,’ Jun. 1, 2002, pp. 1-2, Hunter Industries Incorporated, San Marcos, CA. |
Hunter Industries, ‘ICC Commercial Irrigation Controllers, Owner's Manual and Installation Instructions for all 8 Station Base Models,’ Apr. 1, 2002, pp. 1-34, Hunter Industries Incorporated, San Marcos, CA. |
Hunter Industries, ‘ICC Controllers, Institutional Series Controllers for Heavy Duty Residential and Commercial Applications,’ Nov. 1, 2002, pp. 1-22, Hunter Industries Incorporated, San Marcos, CA. |
Hunter Industries, ‘Modular Controllers Mean You'll Always Have ‘The Right Controller For Every Job’’, http://www.hunterindustries.com/Resources/Library/Product/200210-hdln-modular.html, Dec. 1, 2004, pp. 1-3, Hunter Industries Incorporated, San Marcos, CA. |
Hunter Industries, ‘Pro-C Controller, A Complete Family of Full-Featured Residential and Light Commercial Controllers,’ Mar. 1, 2002, pp. 1-32, Hunter Industries Incorporated, San Marcos, CA. |
Hunter Industries, ‘Pro-C Residential and Light Commercial Irrigation Controllers, Owner's Manual and Installation Instructions,’ Nov. 1, 2000, pp. 1-34, Hunter Industries Incorporated, San Marcos, CA. |
Motorola Communications Sector, Irrinet I/O Module 4 Digital lnputs/16 Solid-State Outputs, 1992, 25 pp., Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Motorola MIR 5000C System Installation Section, 1989, 23 pp., Technical Writing Services, Motorola Communications Israel Ltd., Tel Aviv, Israel. |
Motorola, ‘Irrigation Field Unit Owner's Manual’, Jan. 1, 1992, pp. 87, T.O.C. & Sections 1-3, Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Motorola, ‘IRRInet Component Descriptions’, Feb. 16, 1993, p. 6. |
Motorola, ‘MIR 5000F-Trunked Radio Satellite’, Dec. 14, 1992, p. 2, Megeath. |
Motorola, ‘MIR5000C Quickstart and Reference Guide’, Feb. 1, 1994, Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Motorola, ‘Motorola MIR-5000 Component Descriptions,’ Feb. 16, 1993, p. 3. |
Motorola, IRRInet—Trunked Radio Satellite, Bidding Specifications, Dec. 14, 1992, pp. 1, Megeath. |
Motorola, Irrinet CPU Module-Service Manual, 1992, 22 pp., Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Motorola, IRRInet General Description Service Manual, 1993, Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Motorola, IRRInet Owner's Manual, published at least on or before Dec. 31, 1992, TOC and Secs. 1-3, Motorola Communications Israel Ltd., Tel Aviv, Israel. |
Motorola, Line & Second Radio Board: Parts List and Connectors, 2 pp., Technical Writing Services, Motorola, Inc., Schaumburg, IL, 2005. |
Motorola, MIR5000 System Features, Nov. 1, 1991, pp. 20, San Diego Turf & Irrigation, San Diego, CA. |
Motorola, MIR5000 System Planner, Mar. 8, 1993, TOC and pp. 1-42, The Toro Company, Riverside, CA. |
Motorola, MIR5000C Central System Operating Instructions, published at least on or before Dec. 30, 1991, pp. 12, Technical Writing Services, Motorola Communications Israel Ltd., Tel Aviv, Israel. |
Motorola, New Members to the MIR5000 Family, Irrinet and Scorpio, published at least on or before Dec. 23, 2003, pp. 14, Toro, Riverside, CA. |
Motorola, Scorpio AC—Installation Instructions, 1993, 23 pp., Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Motorola, Scorpio, Bidding Specifications, Jan. 6, 1993, pp. 3. |
Motorola, Scorpion AC, TOC and Secs. 1-3, Sep. 1, 1994, Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Motorola, Scorpion DC Operation, Sep. 1, 1994, pp. 17, Technical Writing Services, Motorola, Inc. Schaumburg, IL. |
Motorola, Scorpion DC—Installation, Sep. 1, 1994, pp. 4, Technical Writing Services, Motorola, Inc., Schaumburg, IL. |
Rain Bird, Central Computer Control System, Maxicom, ‘Landscape Irrigation Products, 1993-1994 Catalog’, Cover page and pp. 98-99, US (3 pgs.). |
Rain Bird, Central Control System, Maxicom—Guide to Operations, Feb. 1, 1993, TOC and pp. 5.4-1-2; 5.4-41-42; 7.2-1-2; Rain Bird Sales, Inc., Tucson, AZ. |
Rain Bird, Central Control System, Maxicom, Jun. 1994, Cover page and pp. 2-8, Rain Bird Sales, Inc., US (8 pgs.). |
Rain Bird, Components of the Maxicom System, Feb. 9, 1994, p. 3.2, Section 3, US. (1 pg.). |
Rain Bird, Installation and Operation Guide, Controller Unit IM, Apr. 1, 2002, pp. 82-86, Rain Bird Corporation, Glendora, CA. |
Rain Bird, Maxicom Guide to Operations, Oct. 1, 1994, Chapter 7, Rain Bird Corporation, Glendora, CA (54 pgs). |
Rain Bird, Rain Bird-Landscape Irrigation: Producs: IM Series Controllers, www.rainbird.com, published at http://web.archive.org/web/20030203155244/www.rainbird.com/landscape/products/controllers/im.htm, Feb. 5, 2003, pp. 1-4, Rain Bird Corporation, Glendora, CA. |
The Strong Box, ‘Stainless Steel Controller Enclosure’, Jan. 1, 1991, p. 10, V.I.T. Products, Inc., San Diego, CA. |
Toro & Motorola, ‘General Description IRRInet’, published at least on or before Dec. 23, 2003, pp. 24, The Toro Company, Riverside, CA. |
Toro, Motorola MIR 5000 Radio-Based Irrigation Central Computer Control System, 1991, pp. 1-4, The Toro Company, Riverside, CA. |
U.S. Appl. No. 14/940,062; Office Action dated Oct. 11, 2017; (pp. 1-31). |
U.S. Appl. No. 10/687,352; Advisory Action; dated Dec. 18, 2006. |
U.S. Appl. No. 10/687,352; Interview Summary dated Apr. 5, 2007. |
U.S. Appl. No. 10/687,352; Interview Summary; dated Dec. 18, 2006. |
U.S. Appl. No. 10/687,352; Notice of Allowance dated Apr. 5, 2007. |
U.S. Appl. No. 10/687,352; Notice of Panel Decision from Pre-Appeal Brief Review dated Mar. 12, 2007. |
U.S. Appl. No. 10/687,352; Office Action dated Feb. 24, 2006. |
U.S. Appl. No. 10/687,352; Office Action dated Aug. 8, 2006. |
U.S. Appl. No. 11/022,179; Interview Summary dated May 2, 2008. |
U.S. Appl. No. 11/022,179; Notice of Allowance dated Jun. 25, 2008. |
U.S. Appl. No. 11/022,179; Office Action dated Feb. 16, 2007. |
U.S. Appl. No. 11/022,179; Office Action dated Nov. 1, 2007. |
U.S. Appl. No. 11/838,862; Notice of Allowance dated Dec. 12, 2008. |
U.S. Appl. No. 11/838,862; Office Action dated Aug. 18, 2008. |
U.S. Appl. No. 12/204,747; Examiner Interview Summary dated Jan. 12, 2010. |
U.S. Appl. No. 12/204,747; Examiner Interview Summary dated Jun. 8, 2010. |
U.S. Appl. No. 12/204,747; Notice of Allowance dated Mar. 31, 2011. |
U.S. Appl. No. 12/204,747; Office Action dated Mar. 26, 2010. |
U.S. Appl. No. 12/204,747; Office Action dated May 26, 2009. |
U.S. Appl. No. 12/204,747; Office Action dated Jul. 20, 2010. |
U.S. Appl. No. 13/182,418; Office Action dated Apr. 19, 2013. |
U.S. Appl. No. 13/182,418; Office Action dated Nov. 19, 2013. |
U.S. Appl. No. 14/274,367; Office Action dated May 12, 2015. |
U.S. Appl. No. 15/950,969; Notice of Allowance dated Jul. 2, 2019; (pp. 1-15). |
U.S. Appl. No. 15/950,969; Notice of Allowance dated Oct. 15, 2019; (pp. 1-7). |
U.S. Appl. No. 15/950,969; Office Action dated Jan. 8, 2019; (pp. 1-7). |
U.S. Appl. No. 16/787,948; Notice of Allowance dated Mar. 22, 2021; (pp. 1-12). |
U.S. Appl. No. 16/787,948; Supplemental Notice of Allowance dated Jun. 25, 2021; (pp. 1-2). |
Number | Date | Country | |
---|---|---|---|
20210321583 A1 | Oct 2021 | US |
Number | Date | Country | |
---|---|---|---|
60532498 | Dec 2003 | US | |
60418894 | Oct 2002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16787948 | Feb 2020 | US |
Child | 17365529 | US | |
Parent | 15950969 | Apr 2018 | US |
Child | 16787948 | US | |
Parent | 14940062 | Nov 2015 | US |
Child | 15950969 | US | |
Parent | 14274367 | May 2014 | US |
Child | 14940062 | US | |
Parent | 13182418 | Jul 2011 | US |
Child | 14274367 | US | |
Parent | 12204747 | Sep 2008 | US |
Child | 13182418 | US | |
Parent | 11022179 | Dec 2004 | US |
Child | 12204747 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10687352 | Oct 2003 | US |
Child | 11022179 | US |