Flexibly programmable irrigation system controller
This is a continuation of application Ser. No. 250,841 filed on Sep. 28, 1988, abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1.0 Field of the Invention 
     The present invention generally concerns irrigation control and controllers. The present invention more particularly concerns solid-state digital irrigation controllers that have keys and displays and that accept user parameterization, commonly called &#34;programming&#34;, of complex irrigation sequences and modes of operation. 
     2.0 Background of the Invention 
     Irrigation control has progressed from simple timed actuation, i.e., of switches or valves, to programmed control. Examples of existing programmed control include computation of total irrigation watering duration based on zone description, type of sprinkler components controlled, soil type and broad plant type categories (e.g., lawn vs. shrub). 
     One problem with previous irrigation control is that it has not been possible to specify a time period in which no watering is to occur. For example, facilities used by people are not usually irrigated when people are not likely to be present. Although undesired irrigation can be avoided by manual setting of all watering periods, this is inefficient, inconvenient, and incompatible with automated extrapolation of periodic irrigation cycles from supplied information. 
     Another aspect of existing programmed control is the use of a water budget feature. The water budget feature permits increasing or decreasing the watering time by a variable percentage. In theory the feature saves water by allowing reduction in the increases in the watering durations by a fixed percentage when the weather is wetter and/or cooler than expected. Many sprinkler heads apply water faster than the soil can absorb it, especially for sites with heavy clay soil, and/or sites with slopes and mounds. If water runs off or puddles from a normal irrigation cycle duration then runoff is even more pronounced when the water budget is set to 150%. One approach has been to divide the watering duration into two (2) cycles any time that the budget factor exceeds 150%. This gross division does not deal with a variety of conditions at the irrigation site, e.g., a site that cannot accept a 49% increase in watering duration. 
     Another problem exists with keeping track of total irrigation watering times at each irrigation station. Some existing irrigation controllers require the start times be entered for each irrigation repeat cycle with each separate irrigation station operating sequentially from this time. This is because hydrostatic pressure limitations in some irrigation systems demand that no more than one station should be irrigating, i.e., only one valve should be open, at any one time. For example, for each of eight stations performing three twenty-minute irrigation cycles, if station 1 starts at 12:00 midnight then station 2 may start at 12:20 a.m. and so on until station 8 may be scheduled to start at 2:20 a.m. Then station 1 may start again at 2:40 a.m. The number of cycles to be set is dictated by the total irrigation time divided by the individual irrigation cycle duration. Manual selection of such irrigation schedules for each individual irrigation station is difficult since it is particularly easy to lose track of how much total watering time is being entered. This tends to lead to inaccuracies that undesirably result in overwatering or underwatering. 
     The complexities inherent in stagger-scheduling irrigation of a number of irrigation stations are compounded by reducing the durations of individual irrigation cycles. For example, in the previous example where eight stations must each irrigate for one hour total duration, programming convenience might suggest a schedule of twelve irrigation cycles of five minutes each for each station. Station 1 would irrigate for five minutes starting each hour on the hour from midnight to 11:00 p.m. during twelve total irrigation cycles of five minutes each. Station 2 would start five minutes past the hour during the hours from 12:05 a.m. to 11:05 p.m. With existing irrigation controllers and valves these repeated short cycles use more energy, and induce more wear, in the valves. More importantly, this easy programming of shorter cycles may not permit sufficient ground penetration of irrigation water in certain types of soils with certain types of sprinklers. 
     Another problem arises when irrigation cycles are programmed too closely to one another. For example, if two stations only are controlled to irrigate during ten minute cycles for six total cycles each, giving a total watering duration of one hour at each station, an irrigation schedule that alternates between the two stations every ten minutes commonly results. This short off time (10 minutes) between the irrigation cycles at each of the two stations often results in insufficient soak time at each station between successive cycles. Water run off and wastage may result. 
     Existing irrigation control on one schedule cannot simultaneously integrate another schedule, e.g., long and infrequent deep watering cycles or short and frequent syringe cycles. For example, existing irrigation control does not allow a &#34;periodic deep watering cycle&#34; to be scheduled. Such a cycle would allow periodic long watering cycles for deep watering trees planted in lawns, or for flushing out salts in drip applications. For example, a shallow-rooted bluegrass lawn planted at a site with loamy soil and irrigated with spray heads having a precipitation rate of 1.7 inches per hour might be scheduled to water every other day (3.5 times per week) during the warm season for 15 minutes total watering duration. This schedule would apply about 0.4 inches of water per watering day (or about 1.5 inches per week). This schedule might be fine for watering the lawns, but not for trees. 
     To deep water trees planted in lawns, every 45 days an additional 80 minute cycle would be appropriate. This would apply 2.3 inches of water in order to soak the soil to a depth of almost 3 feet. With existing irrigation equipment the only easy and effective way to deep water trees in lawns is to install separate valves and bubblers for the trees. This involves extra cost and is rarely done. 
     Existing irrigation control doesn&#39;t permit the performance of periodic syringe irrigation cycles (multiple short irrigation cycles) until the completion of the normal irrigation watering schedule. In a desert, it would be desirable to schedule syringes to occur, for example, at one hour intervals every day from 9:00 am to 6:00 pm during the hot months of June through September. These cooling syringes would be in addition to the regularly scheduled irrigation cycles. In cold climates, syringe cycles can be specified for &#34;frost wipe&#34; applications to prevent damage to frosted turf, such as when people walk during early morning on frost-covered golf courses. 
     In summary, the failure to provide excluded watering time intervals in periodic (cyclic) irrigation control/controllers; to overcome deficiencies in water budgeting; to control total watering duration to eliminate underwatering or overwatering; to eliminate insufficient station on times; to avoid insufficient station off times; and to provide periodic alternate watering schedules such as periodic deep watering cycles or frequent syringe cycles are typical deficiencies of existing irrigation control. Improvements in these areas would, be expected to save money on water while reducing problems with plant disease, runoff, slope and pavement erosion, and liability for damages associated with underwatering and overwatering. 
     SUMMARY OF THE INVENTION 
     The present invention contemplates irrigation control based on the use of programmed information, generally at a higher degree of abstraction then previously used, in order to automatically calculate in response to such information irrigation control cycles that are (i) numbered and (ii) timed and (iii) diurnally allocated in an optimal manner. 
     The present invention contemplates an irrigation controller programmable (parameterizable) so that time-of-day intervals that specify when no watering is to occur can be inserted within normal, ongoing, periodic irrigation cycles; a water budgeting factor is used to control the numbers of irrigation cycles; total irrigation time duration is automatically split into either an automatically calculated, or a user-defined, number of irrigation cycles; the maximum &#34;on&#34; time duration for each individual split irrigation cycle may be automatically calculated from high level information regarding the irrigation site and system; a minimum &#34;off&#34; time duration between split irrigation cycles may be automatically calculated from high-level information input concerning the irrigation site and system; both the number and the temporal allocation of split watering cycles within a defined total watering time duration are automatically calculated from high level information regarding the irrigation site and system; special scheduling and set-up programs provide useful special irrigation sequences and/or durations; special irrigation cycles such as periodic deep soak, syringe and/or alternate day or calendar even day-odd day cycles are provided; and programmed irrigation control for a single station may be flexibly copied, wholely or partially with such modifications as may be desired, into the control of additional stations. The consistent purpose of all such capabilities is to reduce water wastage; to provide optimal irrigation cycles and durations; to increase ease and accuracy of controller set-up, review, modification, or reset; and to save time and money. 
     In accordance with the present invention, one or more excluded time intervals when no watering is to occur are specified. In many situations there are certain times of the day when no watering is desired. The irrigation controller in accordance with the present invention automatically calculates irrigation cycles while permitting the user to define an &#34;excluded interval&#34; when no watering is desired. The controller automatically skips this &#34;excluded interval&#34; if any scheduled watering cycle for the day is not finished before this interval begins then it is completed after the end of the &#34;excluded interval&#34;. 
     Water budgeting is used to determine the numbers of split irrigation cycles in order to avoid runoff. The controller in accordance with the present invention determines the numbers of split watering cycles in accordance with the water budgeting factor: as the water budgeting factor is increased or decreased the numbers of active split watering cycles are increased or decreased. The time duration for each split watering cycle may thus remain approximately the same, avoiding runoff due to overly long irrigation cycles. 
     Total irrigation time durations are automatically split into an automatically calculated (or user-defined) number of repeated irrigation cycles in order to minimize runoff. The controller in accordance with the present invention automatically generates a matrix of repeated irrigation cycles based on total irrigation time information. 
     An irrigation cycle maximum &#34;on&#34; time, is automatically determined based on site information typically relating to the type of soil (e.g., sand, loam, or clay), the type of sprinklers being used (e.g., spray heads, rotor heads, impulse heads), and whether or not the terrain is level or sloping. Based on this information, the maximum &#34;on&#34; time is automatically determined, normally by table lockup. From this determination, and from the total irrigation time duration, the number of repeated irrigation cycles into which the total irrigation time duration is to be split is calculated. Each of these cycles (save possibly a partial last cycle) is of a duration equal to the maximum &#34;on&#34; time. The &#34;on&#34; time is thus essentially an optimum irrigation cycle time duration for the particular site. Alternatively, the maximum &#34;on&#34; time can be user-defined or user-modified. 
     Normally the automatically determined, user-defined or user-modified maximum &#34;on&#34; time will be less than the total irrigation time. Therefore the calculated number of irrigation cycles is two or more. In accordance with one aspect of the present invention, these two or more irrigation cycles will be automatically diurnally allocated. The automatic temporal allocation of the irrigation cycles will avoid any &#34;excluded interval&#34; within which no watering is to occur. 
     A minimum &#34;off&#34; time between irrigation cycles is also automatically determined from the site information. The minimum &#34;off&#34; time is to insure that there will be a sufficiently long latent period between start times so as to allow the irrigation water to soak in before a next &#34;on&#34; cycle begins. 
     The automated determination of the duration, determination of the time separation, calculation of the numbers, and temporal scheduling of split irrigation watering cycles in accordance with the present invention promotes water conservation because the user always sets, and knows, the total irrigation time. 
     In accordance with the present invention, high level information regarding the irrigation site and system, plus the total irrigation time duration, are entered into the irrigation controller. From this information the irrigation controller automatically generates irrigation schedules. To do so the duration of an irrigation cycle (the maximum &#34;on&#34; time) and the necessary minimum temporal separation between successive cycles (the minimum &#34;off&#34; time) are first determined. The number of irrigation cycles is then calculated. Finally the irrigation cycles are scheduled, or allocated, within a diurnal period so that successive cycles at each station are temporally separated by at least the minimum &#34;off&#34; time while all stations are stagger-sequenced, in priority order, with no more than one station enabled to irrigate at any one time. 
     The present invention further contemplates a wide variety of special programs for satisfying diverse irrigation scheduling needs. 
     A &#34;mini setup&#34; is for irrigation applications that only need one start time per valve. 
     An &#34;autosplit setup&#34; in accordance with the present invention causes automatic calculation of split irrigation cycle times, as described above. 
     A &#34;ration setup&#34; in accordance with the present invention is a special program for odd/even day of the month water rationing. The odd/even water rationing setup in accordance with the present invention is sensitive to calendar month dates. 
     A &#34;one-time setup&#34; in accordance with the present invention programs one-time deep soak cycles for soaking in fertilizer or for watering new trees and shrubs immediately after planting. This setup can be used in conjunction with other setups, semi-automatically accomplishing a one-time deep soak before the controller automatically reverts to a normal watering program (such as &#34;mini&#34;, or &#34;autosplit&#34;). 
     A &#34;special setup&#34; permits control of special applications (such as lights, fountains, pumps, etc.) that must operate at the same time on any particular programmed day. This setup can also be run in conjunction with one of the other irrigation oriented setups, because individual stations can be designated as either valves, pumps, lights, etc. in a &#34;system setup mode&#34;. 
     The present invention also contemplates adding &#34;overlay&#34; programs for periodic deep soak(s), and for syringe cycles. These overlay programs are in addition to any of the regular watering programs. The &#34;periodic soak&#34; cycles accomplish periodic deep watering of trees in lawns and ground cover areas, and the periodic leaching of salts in drip irrigated areas. These soak cycles use the same sprinklers and valves as the normal watering cycles, and in accordance with the invention, their duration is automatically calculated from site information. The &#34;syringe&#34; cycles are multiple short cycles for summer cooling or winter frost-wipe applications. In accordance with the present invention, multiple syringe cycles may conveniently be scheduled by merely programming the time-of-day interval during which syringes will transpire, the duration of each syringe cycle, and the tempral separation between successive syringes. Further in accordance with the invention, active months for syringing may be specified. 
     Notably, this syringing information is quite unlike that entered to schedule normal irrigation watering cycles. This optimization of the nature, and format, of information solicited from the user/programmer is characteristic of the irrigation controller in accordance with the present invention, which is extremely user friendly. The irrigation controller generally accepts information in a format most familiar and convenient to the user, and automatically performs all necessary calculation to schedule and control irrigation based on the entered information. 
     The present invention contemplates that irrigation control parameters entered for an individual irrigation station (with considerable ease in accordance with the various aspects of the invention) may be copied so as to serve as the irrigation control parameters for another, independent, irrigation station. This copying may be done either without, or with, modifications to the parameters as used for the new station, all as is desired. This saves considerable effort in entering repetitive information, and still allows for different settings if desired. 
     For each different type of watering setup, the controller in accordance with the present invention permits the creation of an alternate version irrigation schedule. Information can be copied back and forth between the standard and alternate versions of each irrigation schedule. The controller permits selectable review, modification, or entry of new schedules. The ability to create, and try out new, alternate, irrigation schedules while retaining the previous schedule permits flexibility in trying new irrigation schedules and ease of evaluation and change. 
     The present invention contemplates that an irrigation controller selectively enabling and disabling irrigation at a number of logically-identified irrigation stations that are connected by wiring to physical terminals of the controller, might selectively associate the logically-identified irrigation stations with the physical connections. Each successive one of the physical irrigation stations is identified to the irrigation controller, normally by momentarily lifting its electrical connection at a terminal block. The irrigation controller associates a specified logical number for each irrigation stations with each physical station identified. By this procedure the irrigation controller may associate each logically numbered one of the of irrigation stations that it controls with a corresponding physical one of the actual physical irrigation stations. 
     The present invention contemplates that irrigation stations can be selectively disabled, under programmed control, without any necessity of physically disonnecting (by a swith or otherwise) the electrical connection to a disabled station(s). 
     The irrigation controller in accordance with the present invention is, despite its versatility and flexibility, extremely user friendly. The controller offers two-button programming with a self-prompting question and answer format. Menus and data entry screens are automatically advanced. All programming is done by answering either OK or NO to simple questions. An on-line help feature gives directions and help. 
     The controller has a modular design with the ability to upload and download programs, and to centrally manage each of a plurality of irrigation stations. An integrated moisture sensor control permits programmable &#34;wet&#34; and &#34;dry&#34; levels for each station. An information viewing mode permits the user to view the history of the 128 most recent programming and operational events, to get directions, to do a system self test, or to view the cumulative month-to-date irrigation time durations by station. Built-in wire continuity testing and system self-test and report functions are also included. 
     These and other aspects and attributes of the present invention will become increasingly clear upon reference to the following drawings and accompanying specification wherein: 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a pictorial diagram of an irrigation controller in accordance with the present invention; 
     FIG. 2 is a block diagram of an irrigation system in accordance with the present invention including the irrigation controller illustrated in FIG. 1; 
     FIG. 3 consisting of FIG. 3a through FIG. 3h, is a schematic diagram of the preferred embodiment of an irrigation controller in accordance with the present invention; 
     FIG. 4 is a block diagram of a first, U1, Application Specific Integrated Circuit (ASIC) used in the preferred embodiment of an irrigation controller in accordance with the present invention; 
     FIG. 5a is a simplified electrical schematic diagram of the sampling capacitor array and switches used in ASIC U1; 
     FIG. 5b is a simplified electrical schematic diagram of a sampling comparator used in ASIC U1; 
     FIG. 5c is a simplified electrical schematic diagram of a step-up DC-to-DC Converter used in the switching regulator of ASIC U1; 
     FIG. 6, consisting of FIG. 6a through FIG. 6d, is a block diagram of a second, U2, Application Specific Integrated Circuit (ASIC) used in the preferred embodiment of an irrigation controller in accordance with the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     1.0 The Preferred Embodiment of the Invention is in a Light-Energized Irrigation Technology Controller 
     The present invention is embodied in an 8-station light-energized irrigation controller. The irrigation controller is spoken of as being &#34;light-energized&#34; and (along with the irrigation valves that it controls) to embody &#34;Light-Energized Irrigation Technology&#34; (LEIT). This description is in lieu of describing, for example, the controller to be &#34;solar powered&#34; because it employs an extremely small area light (solar) collector. Resultant to the small energy collected, the controller uses extremely little energy for all irrigation functions, including control of up to eight (8) valves. The acronym LEIT when applied to irrigation controllers is a trademark of Solatrol, Inc. (assignee of the present invention), i.e., LEIT™ Irrigation Controllers. 
     1.1 Operational Specification of the Preferred Embodiment of an Irrigation Controller in Accordance with the Present Invention 
     No electrical power input is required. Light energy required is 0.4 milliwatts/sq cm incident light for a minimum of 7 hrs/day. This is equivalent to one tenth of the amount of light at 55 northern latitude (e.g., in Canada) on a cloudy winter&#39;s day. 
     The power for the controller&#39;s display (when actuated) is derived from a POWERKEY™ (trademark of Solatrol, Inc.) power source. The POWERKEY™ power source packages a 9-volt alkaline battery that is used to energize the Liquid Crystal Display (LCD) of the controller during installation and programming. 
     The signal output of the controller to its controlled valves is 3.5 volts DC, 0.04 amps. No circuit breaker and no transformer are required. 
     Up to 8 valves (including up to 4 Master Valves) may be connected to each controller. Up to 8 electronic soil moisture sensors or optionally, other electronic sensing devices, may also be connected to each controller. 
     A user-defined emergency backup program and critical system parameters are stored in non-volative memory in case of memory loss from prolonged light interruption; no batteries are needed. 
     The operational temperature range is from -10° C. to 70° C. The storage temperature range is -40° C. to 70° C. 
     1.2 The Preferred Embodiment of a LEIT™ Irrigation Controller Interfaces with Certain Optional Accessories 
     The preferred embodiment of a LEIT Irrigation controller in accordance with the present invention interfaces to certain optional accessories and equipments. 
     A POWERKEY™ (trademark of Solatrol, Inc.) power source is a combination keyring and keyfob-cased battery for powering the display during programming and/or interactive operation. 
     An optional Multiprogrammer™ unit plugs into the digital interface of the controller for uploading and downloading the watering programs for up to 64 controllers. 
     An optional WIRESCOPE™ (trademark of Solatrol, Inc.) unit is a hand-held diagnostic unit that checks for proper controller and valve operation from the valve station end of each station wire, and can optionally give an identifying readout of valve and sensor numbers by station and controller. 
     Up to 8 optional soil moisture sensor units can connect to the controller to give precise irrigation system control based on readings of available soil moisture tension, or optionally, percentage soil saturation. 
     An optional remote test command assembly is a replacement controller face-plate that receives signals from a hand-held transceiver in order to allow wireless remote &#34;manual&#34; operation of valves and sensors from the valve or sensor locations. 
     An optional radio-link central module mounts permanently below the controller and acts as a transceiver for wireless communication between the controller and a radio-link central system. 
     The POWERKEY™ power source is manually plugged to the controller in order to provide power to the controller for first use precharging, and during each occurrence of the programming/parameterization of the controller&#39;s operation and/or the reviewing of data in the controller&#39;s memory. In the latter two cases, the POWERKEY™ power source also provides built-in illumination of the controller&#39;s display and control switches. The power source during operation of the controller to control irrigation may be the POWERKEY™ power source if it is still pluggably attached (an abnormal condition), but is normally light (even extremely dim light, such as moonlight) that falls upon the controller. 
     1.3 Features and Benefits of the Preferred Embodiment of a LEIT Irrigation Controller in Accordance with the Present Invention 
     The preferred embodiment of an irrigation controller in accordance with the present invention is light-energized with a built-in incident light collector. It exhibits sufficient energy storage to drive a custom CMOS ultra-low-power microcomputer with 32K RAM memory and to cycle up to eight (8) ultra-low-power irrigation valves up to sixteen (16) times per twenty-four (24) hour period. This provides complete independence from any need for AC power, saving on energy and installation costs and permitting the controller to be located closer to the valves. 
     An easy to read two-line LCD display with automatic prompting is implemented. The user is guided through the programming process with easy to understand two-line &#34;prompts,&#34; thus substantially eliminating confusion, mistakes, and requirements to repeatedly reference printed or human authority. 
     Two-button programming with &#34;best guess&#34; defaults is used for all settings. All programming is done by answering simple questions with OK or NO answers. The controller automatically gives the user &#34;best guess&#34; defaults where applicable. 
     An on-line help feature gives directions and information for each operational mode and parameter insertion. These on-line help messages are available at any time by pressing a HELP key. 
     The design is modular in that multiple 8-valve-station controller units can be integrated together. The individual 8-valve-station controller units can be networked together into optionally radio-linked centrally controlled systems, or, alternatively, multiple unrelated controllers on various sites can be centrally managed by optional multi-programming equipment. 
     Each of the 8 stations for a single controller unit can be independently programmed within one of six different runtime modes (Mini, Autosplit, Ration, ISC, One-Time, and Special. This gives the Irrigation Controller great programming flexibility. Options for (i) simplified &#34;Mini&#34; setups, (ii) &#34;Autosplit&#34; setups with automatically programmed split cycles and sequential non-overlapping operation, (iii) &#34;Ration&#34; setups for odd/even (day of month) water rationing, (iv) &#34;ISC&#34; setups with complete independence between stations, (v) &#34;Special&#34; setup for lights, fountains, and pump-start relays, (vi) periodic or one-time &#34;Add-on Soak Cycle&#34; setups, and (vii) for multiple &#34;Add-on Syringe Cycle&#34; setups are implemented. 
     Controller timing control of the irrigation valves is from 1 minute to 240 minutes in one minute increments. Thus one minute precision in starting or stopping irrigation is combined with the ability to set watering durations of up to 4 hours for each start time. One-time or periodic &#34;soak cycles&#34; can have a duration of up to 8 hours. 
     A calendar is maintained based on &#34;perpetual calendar&#34; data in permanent memory. Schedules may be established for specific days or every &#34;so many&#34; days. This permits flexible day cycles for irrigation, and allows different stations to operate on different day cycles. 
     Up to 128 automatic starts per day are enabled, thereby meeting the most demanding applications. 
     The controller&#39;s split cycle capability permits watering times to be split into up to 16 substantially equal increments. This minimizes runoff and puddling by splitting the programmed watering duration into shorter cycles each of which is separated by a programmable minimum &#34;off&#34; time. 
     A System Budgeting Factor of 10 to 200% acts to determine the numbers of split cycles. The System (water) Budgeting Factor increases or decreases the number of split cycles instead of acting as a total duration multiplier which can lead to runoff and puddling. Monthly budgeting with pre-set default values for each month is also available. This allows an entire year&#39;s scheduling to be set up. 
     An Integrated Moisture Sensor control with programmable &#34;wet&#34; and &#34;dry&#34; trigger levels is optionally implemented for each valve station. This keeps the soil moisture level for each valve within the optimal range for the growth of the type of vegetation being watered by that valve, instead of merely using the optional moisture sensors as switches to override cycle starts. 
     Automatic sequential program generation permits &#34;Excluded Time Intervals&#34;. The controller automatically generates a sequential matrix of start times for all active valves and split irrigation cycles based on user input for determined total watering durations by valve, either site information selection or operator entered number of split cycles, and on any user-defined &#34;Excluded Time Intervals&#34; when no watering is desired. 
     For very simple applications a &#34;Mini&#34; setup is available. This simple setup mode is extremely easy to use, and it is designed for applications where some of the more sophisticated features of the controller are not needed. 
     All valve stations can be programmed totally independent of one another in the &#34;ISC&#34; setup mode. This allows individual stations to be watered at different times on different days, and it also allows several stations to be running simultaneously for special applications where there are no hydraulic pressure or supply limitations. Another option, the &#34;Special setup&#34;, can be used for control of non-valve devices such as pumps, or lighting equipment. 
     One-time or periodic &#34;Soak&#34; cycles can be overlaid on any regular watering program. This feature can be used for watering in fertilizer, for periodically deep watering trees and shrubs in turf areas, and for periodically leaching salts in drip applications. 
     Multiple daily cooling or frost-wipe &#34;Syringe&#34; cycles can be overlaid on any regular watering program for any pre-programmed month(s) when needed. These cycles help prevent wilting and scorching of plant materials during hot summer months or damage from freezing or morning dew in cold weather months. 
     Even and odd days can be automatically excluded as watering days in the &#34;Ration&#34; setup mode. This allows for odd/even water rationing schedules to be easily programmed where this is mandated by law. 
     A programmable &#34;Delay Start&#34; permits watering to be suspended for up to 14 days during rainy weather, and at the end of the programmed &#34;Rain Delay&#34; the regular watering schedule will automatically resume. 
     A special &#34;View Info&#34; mode allows the user to review all settings or to view an event report which displays the controller history and current operational setup. This permits the user to easily review the current controller settings or to view a list of the last 128 events (watering cycles, program changes, etc.) in chronological order starting from the earliest event. 
     Built-in wire continuity and short testing, system self-test and report functions are implemented. The user is alerted if shorted or open valve wires exist, and the unit performs a self-diagnostic test when requested. 
     A &#34;Test Sequence&#34; allows each valve to be operated in sequence for one to ten minutes. This allows the irrigation system to be easily periodically tested. A STOP key lets the operator immediately stop the test sequence if broken sprinklers or pipes are found. 
     Both valve stations and sensors can be operated automatically, semi-automatically, or manually. In semi-automatic mode, all or selected valves can be run once using the &#34;One-Time&#34; setup. This allows the user to do a one-time soak for watering in fertilizer or new plantings. The controller then automatically reverts to the automatic &#34;Run&#34; mode. 
     Three level access codes provide security and render the controller useless if stolen. Separate codes for gardeners, supervisors, and factory personnel insure that only authorized individuals can change the controller settings, and that codes can be easily changed as operating personnel change. 
     1.4 Functions Performed by the Preferred Embodiment of an Irrigation Controller In Accordance with the Present Invention 
     The preferred embodiment of an irrigation controller in accordance with the present invention (i) receives specified information; (ii) makes decisions and performs calculations based on the specified information; (iii) typically displays the decisions and results derived in order that such may be, if desired, manually changed or modified; (iv) generates irrigation schedules for one or more irrigation stations in accordance with calculated results and (v) conducts irrigation in accordance with the generated schedules. 
     Information may be specified to the controller by manual data entry or by the download of information (and/or firmware operating programs) through communication ports of the controller. 
     The calculations are performed by a microprocessor, embedded within one of the Application Specific Integrated Circuits of the controller, that operates under control of firmware instructions resident within any of ROM, RAM, and EE memories of the controller. 
     1.4.1 Basic Function of-Setting Up an Irrigation Schedule 
     The preferred embodiment of an irrigation controller in accordance with the present invention accepts high level information regarding the irrigation site and equipment. This high level information typically concerns (i) soil type, (ii) type of sprinkler or irrigation head, and (iii) terrain. 
     From these informational inputs a table lookup is performed to determine (i) the maximum &#34;on&#34; time of an individual irrigation watering time and (ii) the minimum &#34;off&#34; time between successive irrigation cycles. A typical table with times in minutes is as follows: 
     
                                           TABLE 1                                 
__________________________________________________________________________
Lookup Table for &#34;On&#34; and &#34;Off&#34; Times of Irrigation Split Cycles          
         MAX ON                                                           
         LEVEL                                                            
              HILLY                                                       
                   LEVEL                                                  
                        HILLY                                             
                             LEVEL                                        
                                  HILLY                                   
                                       MIN OFF                            
HEAD TYPE                                                                 
         SAND SAND LOAM LOAM CLAY CLAY SAND                               
                                           LOAM                           
                                               CLAY                       
__________________________________________________________________________
FLAT SPRAY                                                                
         3    3     6   3    3    2    30  30  30                         
LAWN SPRAY                                                                
         5    5     9   5    5    3    30  30  30                         
ROTOR    8    8    16   8    8    5    30  30  30                         
IMPACT   8    8    16   8    8    5    30  30  30                         
STREAM SPR                                                                
         8    8    16   8    8    5    30  30  30                         
MICROSPRAY                                                                
         10   10   20   10   10   7    30  30  30                         
DRIP     30   30   60   30   30   30   30  30  30                         
__________________________________________________________________________
 (The maximum ON values in thie lookup table were calculated by dividing  
 the maximum precipitation rate for each type of sprinkler into the minimu
 percolation rate typical for each type of soil, and multiplying by 60 to 
 convert to minutes. Since sandy soils require more frequent irrigation   
 than loam soils because of their low moisture holding capacity, the same 
 maximum ON values were used for sand as for clay even though sand has a  
 much higher percolation rate than clay. Loam has the proper balance of   
 percolation rate and moisture holding capacity, and thus the maximum ON  
 times for loam are longer than for either sand or clay. The minimum OFF  
 times are based on field observation.)                                   
 
    
     The preferred embodiment of the irrigation controller further receives, e.g., by manual data input, a specification of the desired total irrigation time duration for each station. The controller calculates the number of irrigation cycles within the irrigation schedule for that station as: ##EQU1## For example, for a station irrigating hilly terrain, loam, soil, with a microspray irrigation head the number of cycles for a total irrigation watering time of 30 minutes is: ##EQU2## The irrigation controller may optionally display the irrigation cycle time and number of cycles. The number of cycles may be fractional. In such cases the duration of the last cycle is truncated, so that the total of all the split cycles always exactly equals the duration entered by the user. 
     The preferred embodiment of the irrigation controller then proceeds by use of (i) the minimum irrigation &#34;off&#34; time, and (ii) the maximum irrigation &#34;on&#34; time that now becomes the duration of an optimal, normal, non-partial irrigation cycle (both quantities derived by table lookup) and (iii) the calculated number of irrigation cycles, to generate the irrigation schedules. The manner of this schedule generation is to (i) allocate irrigation cycles for any one station as &#34;on&#34; times followed by &#34;off&#34; times until the calculated number of irrigation cycles ensue, insofar as (ii) the necessary and prioritized scheduling of irrigation cycles for other stations permits. These rules are best illustrated by example. If, for example, station 1 is a sole station that should, in accordance with the previous example of hilly terrain loam soil with a microspray irrigation head, irrigate for 3 cycles of 10 minutes each cycle separated by 30 minutes between cycles, an irrigation schedule would be generated as follows: 
     
         ______________________________________                                    
Time    Station #1                                                        
                  Station #2  . . .                                       
                                   Station #8                             
______________________________________                                    
12:00 mid.                                                                
        on        off              off                                    
12:05   --        --               --                                     
12:10   off       --               --                                     
12:15   --        --               --                                     
12:20   --        --               --                                     
12:25   --        --               --                                     
12:30   --        --               --                                     
12:35   --        --               --                                     
12:40   --        --               --                                     
12:45   --        --               --                                     
12:50   --        --               --                                     
12:55   on        --               --                                     
 1:00 am                                                                  
        --        --               --                                     
 1:05   off       --               --                                     
 1:10   --        --               --                                     
 1:15   --        --               --                                     
 1:20   --        --               --                                     
 1:25   --        --               --                                     
 1:30   --        --               --                                     
 1:35   --        --               --                                     
 1:40   --        --               --                                     
  1:45  --        --               --                                     
 1:50   on        --               --                                     
 1:55   --        --               --                                     
 2:00   off       --               --                                     
 2:05   --        --               --                                     
        etc.                                                              
______________________________________                                    
 
    
     The last irrigation by station #1 was during the period 1:50 to 2:00 a.m. The cycle recommences the following day. 
     If station #2 is also enabled under the same circumstances the combined irrigation schedules will be as follows: 
     
         ______________________________________                                    
Time    Station #1                                                        
                  Station #2  . . .                                       
                                   Station #8                             
______________________________________                                    
12:00 mid.                                                                
        on        off              off                                    
12:05   --        --               --                                     
12:10   off       on               --                                     
12:15   --        --               --                                     
12:20   --        off              --                                     
12:25   --        --               --                                     
12:30   --        --               --                                     
12:35   --        --               --                                     
12:40   --        --               --                                     
12:45   --        --               --                                     
12:50   --        --               --                                     
12:55   on        --               --                                     
 1:00 am                                                                  
        --        --               --                                     
 1:05   off       on               --                                     
 1:10   --        --               --                                     
 1:15   --        off              --                                     
 1:20   --        --               --                                     
 1:25   --        --               --                                     
 1:30   --        --               --                                     
 1:35   --        --               --                                     
 1:40   --        --               --                                     
 1:45   --        --               --                                     
 1:50   on        --               --                                     
 1:55   --        --               --                                     
 2:00   off       on               --                                     
 2:05   --        --               --                                     
        etc.                                                              
______________________________________                                    
 
    
     The last irrigation was by station #2 was during the period 2:00 to 2:10 a.m. The cycles recommence the following day. 
     If the full eight stations are all enabled under the same circumstances then the combined irrigation schedules will be as follows: 
     
         ______________________________________                                    
Time    Station #1                                                        
                  Station #2  . . .                                       
                                   Station #8                             
______________________________________                                    
12:00 mid.                                                                
        on        off              off                                    
12:05   --        --               --                                     
12:10   off       on               --                                     
12:15   --        --               --                                     
12:20   --        off              --                                     
12:25   --        --               --                                     
12:30   --        --               --                                     
12:35   --        --               --                                     
12:40   --        --               --                                     
12:45   --        --               --                                     
12:50   --        --               --                                     
12:55   --        --               --                                     
 1:00 am                                                                  
        --        --               --                                     
 1:05   --        --               --                                     
 1:10   --        --               on                                     
 1:15   --        --               --                                     
 1:20   on        --               off                                    
 1:25   --        --               --                                     
 1:30   off       on               --                                     
 1:35   --        --               --                                     
 1:40   --        off              --                                     
 1:45   --        --               --                                     
 1:50   --        --               --                                     
 1:55   --        --               --                                     
 2:00   --        --               --                                     
 2:05   --        --               --                                     
        etc.                                                              
______________________________________                                    
 
    
     The last irrigation by station #1 was during the period form 2:40 to 2:50 a.m. The last irrigation overall was by station #8 during the period from 3:50 to 4:00 a.m. In total, eight stations have irrigated for a total of 30 minutes each during 4 chronological hours. 
     The goal of the staggered starts is to (i) operate one irrigation station at a time with (ii) a minimum amount of dead time on all stations consonant with (iii) operating each station in accordance with its maximum &#34;on&#34; and minimum &#34;off&#34;  times while (iv) prioritizing between stations in accordance with their numbers. Each successive station is looked at in turn to see if an irrigation cycle for that station will properly fit within a window within the combined schedules, and if so the cycle is scheduled and the station will water. Which station&#39;s cycle to insert in any given window is determined by (i) which station has had the longest wait for a turn to have an irrigation cycle, and if two stations have equal waits then by (ii) the lowest numbered station first. 
     1.4.2 Exclusionary Periods 
     The preferred embodiment of an irrigation controller in accordance with the present invention accepts the specification, normally by user input, of one or more exclusion time intervals during which irrigation is not to transpire from any station. The specification is normally in the form of interval start and stop times, which are the corresponding times that irrigation is stopped and permissively restarted. The scheduling of irrigation cycles simply works around these one or more exclusion time intervals. An irrigation cycle may start before an exclusion interval, be suspended (off) during the exclusion interval, and resume to completion after the exclusion interval. This in essence adds an extra split watering cycle. 
     1.4.3 Budgeting of Irrigation 
     The preferred embodiment of an irrigation controller in accordance with the present invention accepts specification of a budget factor. The controller uses this budget factor to calculate a new, budgeted, total irrigation time duration as ##EQU3## The controller then proceeds to calculate a budgeted number of irrigation cycles in consideration of the maximum &#34;on&#34; time derived from the table lookup as ##EQU4## For example, for the hilly terrain loam soil irrigated with a microspray irrigation head: ##EQU5## This should be compared to the 6 cycles during which irrigation would normally transpire. The creation of irrigation schedules for the adjusted (budgeted) number of irrigation cycles transpires normally. There is also a Monthly Budget feature that allows a different budget to be set for each month of the year. Defaults are provided for each month. 
     1.4.4 Deep Soak Cycles 
     The preferred embodiment of an irrigation controller in accordance with the present invention accepts programming of a deep soak cycle for a selected station that overrides, supplants, and substitutes for all normal irrigation that might otherwise normally be scheduled for the station upon a particular day. 
     The (i) time duration, (ii) first occurrence, and (iii) periodicity days of the soak cycle are specified to the irrigation controller. The soak duration can be automatically calculated from site information, or user entered. For example, a particular, station might be programmed to conduct a 1 hour soak cycle every 30 days from a set day. Upon the set day, and each 30 days thereafter, the composite irrigation schedules will be routinely computed in a normal manner as if the particular station had only one irrigation period of duration 1 hour. All other irrigation cycles at other stations may be shifted in time-of-day but will otherwise proceed normally. Any base irrigation cycles that fall on a soak day for any particular station are skipped. Syringe cycles, if programmed, can fall on a soak day (see below). 
     1.4.5 Syringe Cycles 
     Syringe cycles are implemented in the preferred embodiment of an irrigation controller in accordance with the present invention as a separate schedule, automatically generated, that is (i) prioritized above the normal irrigation schedules. Syringe cycles are programmed in common for all stations based on one (only) set of input information for all parameters, except the syringe cycle duration. (They are not, however, conducted simultaneously.) 
     The controller accepts specification of the (i) syringe cycle duration by station, (ii) start time of the first station&#39;s (i.e., station #1) initial syringe cycle occurrence, (iii) start time of the first station&#39;s final syringe cycle occurrence, (iv) periodicity of the syringe cycles in the defined time interval, and, (v) active months during which syringe cycles are to be performed. The controller schedules syringe cycles of the indicated duration starting at the initial start time for station #1 followed by station #2 continuing up to station #8. After the proscribed time interval the syringe cycles repeat, and so continue until the last sequence of eight cycles upon the eight stations. This schedule is enabled only for the designated months. 
     For example, 1 minute duration syringe cycles might be specified to occur every two hours during a syringe period starting at 10:00 a.m. and ending with a 6:00 p.m. start time. Eight minutes of syringes would transpire, one minute per station, from 10:00 to 10:09 a.m. Another series would transpire from 12:00 noon to 12:09 p.m. The final series would be from 6:00 to 6:09 p.m. Each of these series would suspend any other irrigation cycle otherwise in progress. Each suspended cycle will conclude to its full scheduled duration at the end of the current series of syringe cycles. 
     2.0 Overview 
     The preferred embodiment of an irrigation controller in accordance with the present invention uses Light Energized Irrigation Technology (LEIT™). It can operate with the amount of incident light available in northern latitudes on a worst-case cloudy winter&#39;s day without needing any of the batteries, external solar panels, or the A.C. power connections required for traditional controllers. It is also extremely flexible and versatile in its operation. 
     A diagrammatic view of the preferred embodiment of the controller, with its cover plate removed and operator&#39;s panel area exposed, is shown in FIG. 1. Controller 1 is typically attached to post 2. An array of photovoltaic devices 10 (not shown) is located under transparent lid 11 to case 12. 
     Various electrical connectors are presented. A valve connector block 13 permits electrical connection by wires (not shown) to up to eight (8) electrically actuated valves. A control key socket 14 accepts a pluggable POWERKEY™ power source (not shown), being a 9 vdc battery suitably packaged so as to plug into socket 14. A digital accessory connector 15 permits communication connection to a multiprogramming unit (not shown) that may upload and download programs into the controller 1 (among other alternative ways of programming controller 1). The connector 15 is a standard type, and may, under firmware control within controller 1, interface to further devices. A sensor connector block 16 permits connection of up to eight (8) optional soil moisture sensors or other sensing devices. These soil moisture sensors, and the control proceeding therefrom, are not taught within this specification for being unimportant to the present invention. 
     A control panel 20 contains a liquid cystal display (LCD) 21 for showing information, questions, and directives. The control panel 20 also contains pushbutton switches 22-25. A STOP switch 22 stops the present controller 1 operation and turns off any valves previously turned on. A HELP switch 23 causes the controller 1 to display more information and/or instructions, keyed to the current operation or displayed questions, in LCD 21. The NO switch 24 and the OK switch 25 are used to answer controller-presented questions about the installation and the parameters of irrigation (e.g., the watering schedule) and to enable selectable readout of controller stored data. 
     The controller 1 is controlled in its operation by firmware running on a special Application Specific Integrated Circuit (ASIC) that includes a microprocessor. The explanation of the controller 1 hardware is contained in major sections 3-5 of this specification. The firmware executed by controller 1 is attached as Appendix A to this specification. This major section 2 deals with the user interface to controller 1, and serves to show its many unique aspects in accordance with the present invention. 
     The term &#34;programming&#34; used throughout this specification includes actions performed at the operator interface to the controller 1--actions normally but not necessarily performed in the field--by which the controller 1 is parameterized and directed in its programmed operation. The firmware itself is, of course, also &#34;programmed&#34;. In some cases the act of &#34;programming&#34; at the operator&#39;s panel will alter the flow, as well as the parameters used, within the firmware; thus constituting a form of &#34;programming&#34; at the process control level. The word &#34;programming&#34; is used to refer to the total compendium of operator/programmer interface to, and control of, irrigation controller 1. The word includes actions more exactingly thought of as parameterization (typically done in the field), as well as actions more exactingly thought of as coding (typically done in the factory or depot). 
     2.1.1 Talking to the Controller 
     The key features of the new user interface are as follows: 
     2.1.1.1 All Data Entry and Review is Accomplished by Using Only Two Keys 
     These two keys are labeled &#34;OK&#34; and &#34;NO&#34;. Two other supplemental keys are present on the control panel for the LEIT Irrigation Controllers. These keys are the &#34;HELP&#34; and &#34;STOP&#34; keys. The &#34;HELP&#34; key provides context sensitive help messages, and the &#34;STOP&#34; key serves as the universal &#34;exit&#34; or &#34;stop current action&#34; key. 
     2.1.1.2 The User is Prompted 
     The user is always prompted with what to do next, either in the form of questions that allow the user to make OK (yes) or NO decisions, or self-advancing menus and data entry screens. For example: ##STR1## 
     2.1.1.3 The User Always Knows His/Her Choices 
     The user always knows all the choices possible because all menus and number entry screens automatically self-advance (after a pause to let the user accept or reject the default value). Menu options cycle in a continuous loop until the user selects one of the options by pressing the OK key. To remind the user that he must press OK to select an option, there is a blinking  o  K symbol displayed on screen along with each option as the options are displayed one at a time. 
     Likewise, when numbers are to be entered, the numbers cycle in a continuous loop, so the user always knows the entire range of possible numbers. All number entry and menu selection can be done with one key, since the user can enter a number or make a menu selection just by waiting for the appropriate number or menu item to appear on the display, and then pressing OK. For example: ##STR2## 
     2.1.1.4 The Display May be Accelerated 
     Advanced users do not need to wait for the appropriate menu item or number to appear on the display, since the NO key doubles as an advance key. Pressing the NO key once advances the menu or number entry screen to the next menu item or number. Holding the NO key down causes the automatic advancing action to speed up, so that the user can get to the desired menu item or number more quickly. For example: ##STR3## After the user advances the display by pressing the &#34;NO&#34; key (or waits for it to automatically advance), the display reads: ##STR4## 
     2.1.1.5 Each Entry Is Confirmed or Rejected 
     After each entry is made by pressing the OK key, the user is given a chance to either confirm or reject the entry by the use of confirm screens. These confirm screens show the information that was just entered, followed by a blinking  o  k character. Pressing the OK key confirms the entry, whereas pressing the NO key rejects it and allows the user to go back to the data entry screen to change the entry. For example: ##STR5## After entering the new setting, users again get a confirming screen to let them accept or reject the new setting. 
     2.1.1.6 Repetitive Information May Be Copied 
     When repetitive information is being entered, the user interface allows information to be copied to greatly reduce the required number of keystrokes. For example, if Station #1 is set to water on Monday, Wednesday, and Friday (with Tuesday, Thursday, Saturday, and Sunday as off days), the user gets the following question: ##STR6## This saves a loss of time in re-entering the information for each station. If the user wants to change the setting, he/she just presses NO and the controller will automatically go back to the appropriate data entry screen for Station #2. If the user copies the setting to the next station in error, however, then he/she can go back and change the setting. This is because the user automatically gets a confirm screen after copying the settings to the next station. 
     2.1.1.7 The STOP and HELP Keys 
     Besides the OK and NO keys, there is a HELP key for getting instructions from the controller, and a STOP key for stopping whatever the controller is doing. 
     2.1.1.7.1 Using the HELP key. 
     The user may press the HELP key at any time to ask the controller for more information about what to do next. When the user is finished reading the message, he/she will be asked if he/she wants to &#34;Repeat the message?&#34; Pressing NO removes the help message and returns to what was previously displayed. See FIG. 1 for the location of the keys. 
     2.1.1.7.2 Using the STOP key. 
     Whenever the POWERKEY™ power source is inserted, the STOP key will stop whatever the controller is doing, no matter which mode it is in at the time. All the controller keys, including the STOP key, are inactive whenever the controller is actually running (or idling) by itself with the POWERKEY™ power source removed, that is, in either the AUTOMATIC, SEMI-AUTOMATIC or STAY IDLE/OFF modes. 
     If the user is entering or retrieving information in one of the set up modes, STOP will also cancel any scheduling entries the user has made and return the user to the main option list (CHOOSE ONE (OK)) screen. This is not the normal way to exit a mode, and should be used only when necessary. Normally, the user will use the STOP key only if he/she changes his/her mind and wants to start completely over again. 
     2.1.2 Controller Functions 
     The operation of the irrigation controller is organized into four main groups of functions called &#34;Modes&#34; These Modes are ENTER SETUP, RUN STATIONS, STAY IDLE/OFF, and VIEW INFO. Table 2 shows the the functions of these four Modes. Each of these modes is further organized into sub-modes. 
     The controller can only be operating in one Mode at a time. For example, if the user wants to enter a new setup, then the controller cannot be running stations manually at the same time. 
     
                                           TABLE 2                                 
__________________________________________________________________________
Functional Mode Specification                                             
__________________________________________________________________________
 ##STR7##                                                                 
 ##STR8##                                                                 
 ##STR9##                                                                 
 ##STR10##                                                                
 ##STR11##                                                                
__________________________________________________________________________
 
    
     2.1.2.1 Using the Menus 
     In order to use one of the Modes, the user starts at the &#34;Main Menu&#34; Screen (which reads &#34;CHOOSE ONE (OK)&#34;) and selects one of the Modes by using the NO and OK keys as described earlier. If the Mode has several functions, the user selects one of the functions in the same way. For example, in RUN STATIONS Mode the user selects whether he/she wants to use Automatic Run, Semi-Auto Run, or Manual Run. When the user is finished using the Mode, the controller will ask &#34;EXIT now?&#34; and if the user presses OK the &#34;main menu&#34; screen will be displayed again. 
     There are 4 main options used in setting up and running the controller. These options are chosen from a self-advancing list by pressing the OK key. The STOP key always abandons the current screen and returns to the &#34;Main Menu&#34;. 
     A brief description of the 4 Main-Functions or Modes of the Controller follows: 
     The first mode is ENTER SETUP. This mode lets the user enter SCHEDULES or ALTERNATE SCHEDULES to tell the controller when and how to run each valve or station. The ENTER SETUP mode also lets the user set up the SYSTEM to fit his/her site and specific application. 
     The second mode is RUN STATIONS. It lets the user run stations in 3 ways: AUTOMATIC, SEMI-AUTOMATIC, and MANUAL. The AUTOMATIC RUN mode is the normal way to turn valves on and off as scheduled in the SET SCHEDULES mode. The SEMI-AUTO RUN mode lets the user do an immediate one-time soak or a normal watering cycle before reverting to the AUTOMATIC RUN mode. The MANUAL RUN mode allows the user to operate valves one at a time or a defined TEST SEQUENCE, and it lets the user take moisture sensor readings. 
     The third mode is STAY IDLE/OFF. No watering will occur if the user chooses &#34;STAY IDLE/OFF&#34;. The controller will keep all the user&#39;s setups but none of them will be run. 
     The fourth mode is VIEW INFO. The VIEW INFO mode lets the user SEE HISTORY events by date, SEE DIRECTIONS, SEE RUN TOTALS or DO a system SELF TEST. 
     Before the user can begin watering, the user needs to complete both the SETUP SYSTEM and SET SCHEDULES Modes. The user then chosses RUN STATIONS, followed by either AUTOMATIC RUN, SEMI-AUTO RUN, or MANUAL RUN. 
     2.2.1 Setting the Display Contrast 
     The user should open the POWERKEY™ power source by removing its screws. The user snaps in a fresh 9 V battery (alkaline type) and reassembles the POWERKEY™ power source. The user unlocks and opens the controller&#39;s front cover and inserts the POWERKEY™ power source by gently pressing it into the socket located at the lower left of the controller. Since the internal light energy storage capacitor® may not be fully charged, the controller may need a few moments of charging from the battery in the POWERKEY™ power source. Once initially charged, the system will operate from skylight energy alone, rain or shine, day and night, all year-round. Plugging the POWERKEY™ power source into the controller supplies extra energy to run the controller for communicating with the user. During this communication the display is constantly enabled and the front panel is lighted for night time convenience. 
     While the unit is charging, the following message flashes intermittently: ##STR12## 
     When charging is completed, the display will then show: ##STR13## 
     The contrast of the display will change once a second. The user should press the OK key when the display is the most readable. The different contrast levels are numbered from 1 to 5 for convenience. 
     2.2.2 System Self Test 
     When the controller is accessed with the POWERKEY™ power source, the controller asks the user if he wants to perform a self-test. The test includes checking values and sensors, and looking for broken or shorted wires. 
     The controller then displays the results of the test, the current date and time, and its present status. See the program listing of the Appendix for a description of status messages. 
     2.2.3 Optional Secret Codes 
     If an optional Secret code has been assigned, then a Secret code number must be entered in order to use the controller. The display reads: ##STR14## The user should enter the six digits by using the NO and OK key as described earlier. The irrigation controller will check to see if the entry matches the code that was entered during the Secret Code Set Up. The controller gives two changes at entering the correct code. After that, it will not respond to any key presses for 10 minutes. 
     2.2.4 Optional Instruction Screens 
     The irrigation controller in accordance with the present invention has a built-in instruction manual that gives the user brief explanations of the keys and the controller operating modes. The 2-line instruction screens automatically change at a rate that is comfortable for reading. The first two screens present a Welcome Message and let the user decide whether or not he/she wants to view the instructions: ##STR15## Once the user has started the automatic scrolling display of the built-in instruction screens, he or she can stop the process merely by pressing the STOP key. 
     2.3 HOW TO SET UP THE IRRIGATION CONTROLLER 
     2.3.1 Set-Up Sequence 
     First time set up for the controller requires four steps: 
     1) Set the time and date, 
     2) Assign a Secret code (optional), 
     3) Enter Watering Schedule, and 
     4) Wire and assign stations for all valves and sensors. 
     Steps 1, 2, and 4, are done using the SETUP SYSTEM sub-mode, and step 3 is done using the SET SCHEDULES sub-mode. Note that step 4 must be done in the field with the controller connected to its valves. Steps 1-3 may be done prior to field installation, but care must be taken to ensure an adequate light supply for the controller while it is waiting to be installed. 
     2.3.2 Setup System 
     The user should select the SETUP SYSTEM sub-mode from the ENTER SETUP Selection Screen. There are seven choices in this mode: ##STR16## The user should press NO (or let the controller automatically advance) to switch between the screens and OK to select the operation shown on the screen. 
     2.3.2.1 Time Set Up 
     The user should select Set Time/Date from the SETUP SYSTEM menu to see or set the present time and date setting for the controller&#39;s internal clock. The display shows the current time and date: ##STR17## The user should verify the time by pressing OK. To change the time, the user presses NO and the display will show: ##STR18## The user should enter the six settings: hours, minutes, day of the week, month, date, and year. The user should then press OK to confirm that the time and date are correct. 
     2.3.2.2 Set Site Info 
     Set Site Info lets the user enter information about the terrain, soil type, and sprinkler types being used for each station at the site being irrigated. This information is used by the controller to automatically calculate split ON times and soak durations. 
     The first screen reads: ##STR19## If this is incorrect for the particular site in question, the user presses NO and the screen changes to read: ##STR20## The soil type and terrain automatically advance (level sand, hilly sand, level loam, hilly loam, level clay, and hilly clay) and when the appropriate choice is displayed the user presses OK. 
     The next screen reads: ##STR21## The sprinkler, types also automatically advance (flat sprays, lawn sprays, rotor heads, impact heads, stream sprays, microsprays, and drip emitters). 
     Again the user presses OK when the correct information for the station in question is displayed. The last screen for each station is a confirming screen: ##STR22## 
     2.3.2.3 Setup Stations 
     The user should employ this SETUP SYSTEM function to tell the controller which wires represent which station numbers. Unlike conventional controllers which have terminal strips that must be wires with station number 1 attached to the top terminal and station number 8 attached to the bottom one, the user can attach pairs of valve wires to the terminal strip of the irrigation controller in accordance with the present invention in any order that is convenient. The user can then assign station numbers to the wires as described below in the section on &#34;Wire Checking&#34;. 
     2.3.3 Wire Checking 
     After a jacketed pair of wires has been run from each valve and sensor back to the controller, the user should select Do Wire Check from the SETUP SYSTEM menu. Checking of the valve wiring and sensor wiring are done separately. 
     2.3.3.1 Do Wire Check 
     The controller will check each valve wire and show its findings on the display: ##STR23## The V sign means the valve was installed correctly, s means the wire is shorted, and o means that there is nothing connected to that valve position. The valve positions start at the top of the connector. Looking at the connector, the display above means: 
     V 1st position, Valve wired OK 
     s 2nd position, Wires shorted 
     V 3rd position, Valve wired OK 
     V 4th position, Valve wired OK 
     V 5th position, Valve wired OK 
     s 6th position, Wires shorted 
     o 7th position, Not connected to valve 
     o 8th position, Not connected to valve 
     The user will not be able to assign station numbers to valves with shorted wires. If the user wants to ignore the short for now, then he/she should remove the shorted pair from the connector. The repair can be made and the number assigned later. Alternatively, it may be recognized that the user may intentionally create shorted valve wire pairs at the valve end, and the controller may be programmed to recognize removal of these shorts, exposing either a connected valve or open wire (station). 
     Valve positions showing no connection may be unused, or may indicate a broken wire. The controller does not know whether the user is simply not using all eight valves, or if the wiring is faulty. The user will need to decide if any action is called for in those cases. 
     The display is constantly being updated. As a faulty wire is repaired, the display will change to show a good connection. When all positions that have valves are reading &#34;V&#34;, the user should then press the OK key. The user may of course press STOP at any time to abandon wire checking. 
     2.3.3.2 Assign Station Numbers 
     Setup Station allows the user to assign station numbers to the valve positions. The first display reads: ##STR24## If the user wants to change the station ID numbers, he/she press OK. The next screen reads: ##STR25## The actual station identification is done by visiting each valve location. The user should unplug the waterproof connector from the valve that he wants to be station #1 and then after 2 seconds plug it in again. Unplugging and replugging the wires at the valve will cause the controller to automatically assign station #1 to the pair of wires that is currently connected to that valve. The display shows valve numbers as the user assigns them. For example, if the pair of wires that come from the valve that the user wants to be station #1 are physically located in the third position down from the top on the valve wire terminal strip in the controller housing, then the display would read: ##STR26## The user should now unplug and replug the waterproof connector from the valve that he/she wants to be station #2. The user should repeat this process until all the stations with wires attached have been assigned. During this process, the display shows the stations that have been assigned (indicated by numbers), along with those that are still unassigned (indicated by &#34;-&#34; signs): ##STR27## 
     When all valves with wires attached have been assigned numbers, the user is asked if he wants to &#34;SAVE new ID?&#34; In no wires are attached to one or more of the terminal strips (or if there are wires attached, but there is a break in one of the wires causing an &#34;open&#34; condition), the controller will automatically assume that the user does not want to assign station numbers to the open terminals. If the user later adds wires (or repairs &#34;open&#34; wires, then he/she can go back into the SYSTEM SET UP mode and assign valve numbers to them. 
     After assigning numbers to all the valve connected to the controller, the user can then check the operation of the valves manually by using the MANUAL MODE. 
     2.4 HOW TO ENTER WATERING SCHEDULES 
     2.4.1 Schedule Set Up Types 
     There are six possible Watering Programs or Schedule Set Ups that can be used when programming the irrigation controller in accordance with the present invention. Each of these setups, in turn, has a REGULAR and an ALTERNATE version, so that the user can experiment with different programs without losing his/her original programs. This gives the user unparalleled scheduling flexibility. 
     The ALTERNATE Watering Set Ups can be used to program an alternate watering schedule for special situations such as plant establishment periods, or for setting up alternate trial schedules without having to alter the regular set ups for the controller. Functionally the Alternate Set Ups are identical to the regular set ups, and all the settings available in the regular set ups are available in the alternate set ups as well. 
     Of the six types of set ups, four of them are Basic Watering Setups that can be run by themselves. The last two are Optional Add-On Setups that can be run in combination with any one of the basic setups, but cannot be run by themselves. The choices for Basic watering Setups appear on the screen in the following orders: ##STR28## The two choices for Optional Add-On Setups are: ##STR29## 
     When the user first selects SET SCHEDULES or SET ALT SCHED., the controller will show all six set up types in the above order. The user should select the BASIC SETUP that he/she wants to use for scheduling his/her irrigation system. 
     If the user wants to program any OPTIONAL ADD-ON SETUPS to take advantage of the controllers unique ONE-TIME soak and SPECIAL cycle features, then he/she should enter BASIC SETUP first, then come back to the SET SCHEDULES or ALT SCHED. mode and choose the appropriate ADD-ON SETUP (i.e., ONE-TIME, or SPECIAL). 
     2.4.1.1 The MINI Set Up 
     The user should select the MINI SETUP if his/her irrigation installation needs only the basic watering requirements of: 
     * What time to start watering 
     * How long to water 
     * How often to water 
     If the MINI SETUP is selected then only one start time is available for each valve. After the start time for the first valve has been set, the start times for each of the other valves will be sequential. The MINI SETUP is very simple and easy to enter into the controller, but some of the more sophisticated features of the controller like split cycles are not available if this setup mode is chosen. 
     If the user wants to use split watering times, odd/even rationing syringe cycles, periodic soak cycles, or if the user wants independent control of each individual station, then the user should select one of the other three basic setups. 
     Table 3 is a Watering Chart that the user can use for recording the information needed for the MINI Set Up. Answering the questions on the chart and then entering them into the controller with the SET SCHEDULES Mode will help the user to get a better overall picture of what he/she is doing until he/she gets accustomed to the controller&#39;s self-prompting data entry screens. The Watering Chart will also be useful for keeping records of how a controller(s) is (are) programmed. 
     
                       TABLE 3                                                     
______________________________________                                    
Sample &#34;MINI SET UP&#34; Watering Chart                                       
B) Water Cycle:                                                           
Water on specific days of the week? NO                                    
Water every &#34;so many&#34; days? YES                                           
VALVE #1               VALVE #8                                           
SETTINGS        . . .  SETTINGS                                           
______________________________________                                    
100% Watering Dur. =   100% Watering Dur: =                               
0 hrs + 20 min.        4 hrs + 00 min.                                    
Watering Day Cycle =   Watering Day Cycle =                               
Every 2 days           Every 10 days                                      
{OR}                   {OR}                                               
Watering Day Cycle =   Watering Day Cycle =                               
M W F                  Saturday                                           
Every:                 Every:                                             
1 week                 2 weeks                                            
Start Time =           Start Time =                                       
5:30 am                Sequential                                         
______________________________________                                    
 
    
     2.4.1.2 The AUTOSPLIT Set Up 
     The AUTOSPLIT Set Up will meet the user&#39;s needs for most watering situations. The user can use this setup to program multiple watering cycles by automatically splitting the total (100%) watering duration (1 minute to 4 hours) that he/she sets into a number of short &#34;Split Cycles&#34; for erosion control and better water penetration. The controller automatically inserts the optimum length of each split ON cycle (ranging from 1 minute to 60 minutes), and the minimum length of time that the water is to remain OFF before the next split ON cycle for that station (ranging from 0 minute to 60 minutes. These maximum ON and minimum OFF times are determined from a built-in lookup table (Table 1 of Section 1.4.1) that has values calculated from the site information (soil type, sprinkler type, and terrain) entered in SETUP SYSTEM. The user can modify these maximum ON and minimum OFF times if desired. 
     With the AUTOSPLIT SETUP each station can be programmed with different splits, and even different watering day cycles. However, all valve stations will always operate sequentially to insure that each valve has sufficient pressure to operate at maximum efficiency. The user need only choose one start time for the first active station and the controller automatically calculates sequential start times for all the other active valves for each split ON time. 
     Normally valves will turn on one after another, except for days when only a few valves are active and the user has programmed a Minimum OFF time that is longer than the total duration of the active valves. In such cases, the next ON time will be delayed until that particular valve has been off for at least the Minimum OFF time. For days when most of the valves are active, the length of time between split ON times for any one valve is usually greater than the Minimum OFF Time, so that there are no delays between stations. Of course, if the user wants multiple repeat ON times without any delays between starts, then he/she can always set the Minimum OFF time to zero. 
     In cases where there are certain times during the day when the user does not want any watering to occur, the AUTOSPLIT Set Up allows the user to enter an &#34;Excluded Time&#34; period during which no watering will occur. Thus, if the user is irrigating a park where there is pedestrian traffic from 7:00 am to 6:00 pm, he/she could designate this time period as an Excluded Time, and any watering cycles that were not completed before 7:00 am would automatically be stopped at 7:00 am and resumed again at 6:00 pm. A sample &#34;AUTOSPLIT SETUP&#34; watering chart is contained in the following Table 4. 
     
                       TABLE 4                                                     
______________________________________                                    
Sample &#34;AUTOSPLIT SETUP&#34; Watering Chart                                   
A* Water Cycle:                                                           
Water on specific days of the week? NO                                    
Water every &#34;so many&#34; days? YES                                           
______________________________________                                    
STATION #1 SETTINGS                                                       
                . . .  STATION #8 SETTINGS                                
______________________________________                                    
100% Duration:         100% Duration:                                     
0 hr: 20 min           1 hr: 00 min                                       
Split ON Time          Split ON Time                                      
0 hr: 5 min            0 hr: 15 min                                       
Split OFF Time         Split OFF Time                                     
0 hr: 30 min           0 hr: 30 min                                       
Day Cycle =            Day Cycle =                                        
Every 2 days           Every 10 days                                      
Excluded Period        Excluded Period                                    
FROM: 7:30 am          FROM: 7:30 am                                      
TO: 5:30 pm            TO: 5:30 pm                                        
Start Time =           Start Time =                                       
3:00 am                Sequential                                         
______________________________________                                    
VALVE #1               VALVE #8                                           
SYRINGE TIMES          SYRINGE TIMES                                      
______________________________________                                    
Syr. Months:           Syr. Months:                                       
JJAS                   JJAS                                               
Syr. Duration:         Syr. Duration:                                     
5 min                  5 min                                              
Syringe Period:        Syringe Period:                                    
FROM: 10:00 am         FROM: 10:00 am                                     
TO: 5:00 pm            TO: 5:00 pm                                        
Time between:          Time between:                                      
1 h + 00 m             1 h + 00 m                                         
______________________________________                                    
VALVE #1               VALVE #8                                           
SOAK TIMES             SOAK TIMES                                         
______________________________________                                    
Soak Duration:         Soak Duration:                                     
0 hr: 40 min           2 hr: 0 min                                        
Every: 14 days         Every: 30 days                                     
______________________________________                                    
 
    
     The user can also specify Syringe Cycles for one or more valves with the AUTOSPLIT Set Up. Syringe Cycles can be set up for summer cooling in hot desert areas, and for frost protection in cold winter areas. If the user chooses to use the Syringe Cycle feature, the controller will ask the user to specify the months in which he/she wants syringe cycles to occur. Whenever Syringe cycles are active, they will run every day in the months that the user has specified. The user can specify a separate duration (of 1-15 minutes for each selected valve) for Syringe Cycles, and the user can also specify the time period during the day when syringes are to occur, along with the time between Syringe Cycles. Syringe cycles can be programmed to occur during Excluded Times, if the user so desires. If a basic watering time for another valve occurs when a Syringe Cycle is scheduled, then the regular watering will be temporarily interrupted to complete the Syringe Cycle and then the remainder of the regular watering for the interrupted valve will be completed. This insures that the Syringe Cycles will always occur exactly when the user wants them without changing the total duration of any of the basic watering cycles. 
     The user can also specify Soak Cycles for one or more valve stations with the AUTOSPLIT Set Up. Soak Cycles can be used for watering in fertilizer, for periodically leaching salts in drip applications, and for providing extra cycles for deep watering trees and shrubs. Soak Cycles ignore soil sensing and the Budgeting Factor, and they use the same split criteria (maximum On, and minimum OFF times) as the basic AUTOSPLIT Set Up. The controller automatically calculates the soak duration needed to water to a depth of two to three feet based on the entered site information. The lookup table used in the preferred embodiment of the controller is given in Table 5. If the user should program a Soak Cycle for a particular valve that occurs on the same day as one of the basic watering cycles for that valve, then the Soak Cycle automatically overrides the basic watering cycle on that day. This feature insures that the user will not miss a needed deep Soak Cycle because he/she inadvertently programmed that cycle at a time that happens to overlap a normal basic watering cycle. 
     
                                           TABLE 5                                 
__________________________________________________________________________
Soak Duration Lookup Table                                                
    SPRINK-                SOAK   SOAK             SOAK   SOAK            
SOIL                                                                      
    LER    PRECIP                                                         
                MAX ON                                                    
                      # OF DURATION                                       
                                  DEPTH                                   
                                       MAX ON                             
                                             # OF  DURATION               
                                                          DEPTH           
TYPE                                                                      
    TYPE   (IN/HR)                                                        
                (MINS)                                                    
                      SPLITS                                              
                           (MINS) (INS)                                   
                                       (MINS)                             
                                             SPLITS                       
                                                   (MINS) (INS)           
__________________________________________________________________________
Sand                                                                      
    Flat Spray                                                            
           3.0  3     7    21     38   3     7     21     38              
Sand                                                                      
    Lawn Spray                                                            
           2.0  5     7    35     42   5     7     35     42              
Sand                                                                      
    Rotor Head                                                            
           1.2  8     7    56     41   8     7     56     41              
Sand                                                                      
    Impact Head                                                           
           1.2  8     7    56     41   8     7     56     41              
Sand                                                                      
    Stream Spray                                                          
           1.2  8     7    56     41   8     7     56     41              
Sand                                                                      
    Microspray                                                            
           0.9  10    7    70     38   10    7     70     38              
Sand                                                                      
    Drip Emitter                                                          
           0.3  30    7    210    38   30    7     210    38              
Loam                                                                      
    Flat Spray                                                            
           3.0  6     6    36     38   3     12    36     38              
Loam                                                                      
    Lawn Spray                                                            
           2.0  9     6    54     38   5     12    60     42              
Loam                                                                      
    Rotor Head                                                            
           1.2  16    6    96     40   8     12    96     40              
Loam                                                                      
    Impact Head                                                           
           1.2  16    6    96     40   8     12    96     40              
Loam                                                                      
    Stream Spray                                                          
           1.2  16    6    96     40   8     12    96     40              
Loam                                                                      
    Microspray                                                            
           0.9  20    6    120    38   10    12    120    38              
Loam                                                                      
    Drip Emitter                                                          
           0.3  60    6    360    38   30    12    360    38              
Clay                                                                      
    Flat Spray                                                            
           3.0  3     16   48     36   2     16    32     24              
Clay                                                                      
    Lawn Spray                                                            
           2.0  5     16   80     41   3     16    48     24              
Clay                                                                      
    Rotor Head                                                            
           1.2  8     16   128    39   5     16    80     24              
Clay                                                                      
    Impact Head                                                           
           1.2  8     16   128    39   5     16    80     24              
Clay                                                                      
    Stream Spray                                                          
           1.2  8     16   128    39   5     16    80     24              
Clay                                                                      
    Microspray                                                            
           0.9  10    16   160    36   7     16    112    26              
Clay                                                                      
    Drip Emitter                                                          
           0.3  30    16   480    36   30    16    480    36              
__________________________________________________________________________
 
    
     The AUTOSPLIT Set Up allows the user to review the settings that he/she has entered. The controller will tell the user when he/she has finished entering the required information, and then it will ask the user if he/she wants to review any settings. Answering NO will skip the entire settings review process. Answering OK will give the user a series of questions to answer. Each question will allow the user to review one group of settings. There are questions for reviewing the Basic Set Up (100% Watering Duration, Number of Split Cycles, the Split ON and OFF settings, the Watering Day Cycle, and the Start Time and Excluded Times), the Syringe Set Up, and the Soak Set Up for all active stations. 
     When the user is finished with the Settings Review, the user is asked if he/she wants to &#34;Review All ON Times?&#34; Just as with the Settings Review, answering NO here will skip the entire ON Times Review process. Answering OK will give the user a few questions to answer relating to the day that he/she wants to review, and the budget factor (normally 100%) that he/she would like to use for his/her review. Once the user has answered these questions then he/she will be able to review the ending time for the day and every split (or unsplit) ON time during the selected day for each active station. This will allow the user to know in advance exactly when each station will turn on, and it will also tell the user the duration for each ON time, the type of ON time (Basic Watering Cycle=ON, Syringe Cycle=SYR, or Soak Cycle=SOAK), and the Split Cycle Number (for example, ON #2 of 4). Because the controller automatically prompts the user with all the right questions, it is easy to use these considerable capabilities. 
     2.4.1.3 The RATION Set Up 
     The RATION SETUP can be used in cases where there is mandatory &#34;odd/even&#34; water rationing in effect in the user&#39;s area. This setup is similar to the AUTOSPLIT SET UP, except that it allows the user to specify whether he/she wants watering to occur on &#34;odd&#34; or &#34;even&#34; days of the month. The controller automatically keeps track of the dates for each different month that the RATION SETUP is in effect, and only allows watering on either &#34;odd&#34; or &#34;even&#34; watering days as appropriate. In this setup the user can specify the interval between watering days with the obvious limitation that the time between watering days must always be divisable by two to avoid disrupting the odd/even pattern. In other words, the user can specify watering ever other day, every fourth day, every tenth day, etc., but the user cannot water every third day, every seventh day, etc. All of the other features of the AUTOSPLIT SET UP are available in the RATION SETUP as well. Split Watering Cycles, Excluded Times, Syringe Cycles, Periodic Soak Cycles, and Soil Sensors can all be used in the RATION SETUP. 
     2.4.1.4 The ONE-TIME Set Up 
     This simple add-on set up is used for Semi-Automatic Watering and for setting up One-Time Soak cycles for watering in fertilizer or new landscape plantings. Basically with this set up all the user does is enter Durations and Split Cycles for each station and (optional) Excluded Times. The user can either enter normal durations like he/she would for the Autosplit Set Up, or he/she can enter automatically calculated extra long durations (with split cycles for runoff control) for a One-Time Deep Soak cycle. The user does not need to enter a start time for this set up. To use the ONE-TIME Set Up the user goes into the Semi-Automatic Mode and enters the time that he/she wants to start the One-Time Watering, and also the basic set up that he/she wants to use. The controller does the One-Time Watering or Deep Soak Cycle, and then reverts to the basic set up that the user has selected. 
     2.4.1.5 The SPECIAL Set Up 
     This add-on setup is for special situations, e.g., lights, fountains, pumps, or for running more than one station at a time. Only stations that have been assigned as SPECIAL in SETUP SYSTEM can be used for the SPECIAL Set Up. Thus, if the user wants to run lights, fountains, or pumps via an optional pump start relay unit, the user needs to complete SETUP SYSTEM before using the SPECIAL setup. Stations that have been assigned as valves in SETUP SYSTEM are skipped in the SPECIAL setup. Conversely, stations assigned as SPECIAL in SETUP SYSTEM are skipped in the Mini, Autosplit, Monthly, One-Time and Ration setups. Like the I.S.C. set up, each station used with the SPECIAL Set Up can be programmed to operate multiple times on scheduled days, and more than one station can operate simultaneously. 
     2.5 STEP-BY-STEP SETUP SCHEDULES INSTRUCTIONS 
     After selecting SET SCHEDULES the user sets up the valves in one of the following six ways: 
     1) Using the &#34;MINI SETUP&#34; Watering Set Up, or 
     2) Using the &#34;AUTOSPLIT SETUP&#34; Watering Set Up, or 
     3) Using the &#34;RATION SETUP&#34; Watering Set Up, or 
     4) Using the &#34;ONE-TIME SETUP&#34; Watering Set Up, or 
     5) Using the &#34;SPECIAL SETUP&#34; Watering Set Up 
     The user need only to select and enter information for the set ups that are needed for a particular application or job site. If the user needs to enter information for several different types of setups, then he/she must select the appropriate setups one at a time from the SET SCHEDULES menu. If the user wants to add another setup at a later time, then he/she simply selects the setup(s) that he/she wants to add and enters the appropriate information. The user can enter information into all of the setups and still run whichever setup is needed at any particular time when the controller is in RUN STATIONS Mode. 
     Each of the six types of Set Ups has a regular and an alternate version. For example, the user can enter both an AUTOSPLIT and an ALTERNATE AUTOSPLIT setup, run the ALTERNATE AUTOSPLIT Set Up for a three month plant establishment period, and then switch to running the regular AUTOSPLIT Set Up. Likewise, the user can determine whether or not to actually use ADD-ON ONE-TIME or SPECIAL Set Ups at the time that the user puts the controller into the SEMI-AUTOMATIC or AUTOMATIC RUN Mode. Just because the user chooses a One-Time or a Special Set Up, he or she does not necessarily have to use these setups if site conditions do not require their use at any particular time. The user can turn them &#34;on&#34; and &#34;off&#34; in the SEMI-AUTOMATIC or AUTOMATIC RUN Modes. 
     The &#34;Mini&#34; and &#34;Autosplit&#34; Valve Setups are next described in detail. 
     2.5.1 &#34;MINI&#34; Valve Set Up 
     If the user chooses MINI from the Set Schedules Menu (list of choices) then the display will show the following autoscrolling list of choices: ##STR30## The actual display will depend upon whether or not the user has previously entered a MINI Set Up. The No key is used to switch back and forth between these four screens (if necessary). &#34;Do new setup&#34; is selected by pressing OK. 
     The user next performs the set up for the valves themselves. The user is required to set up each active valve station by entering three settings for each station: 
     HOW LONG to water (100% Watering Duration) 
     HOW OFTEN to water (Watering Day Cycle), and 
     WHEN to start water (Watering Start Time for first active station) 
     The user is first asked to set the 100% WATERING DURATION in hours and minutes for Valve Station 1. The display now reads: ##STR31## 
     The user must now enter the desired watering duration in hours and minutes. The duration that the user enters should be the length of time that the user wants to water under normal circumstances, that is, with a Water Budgeting Factor of 100%. If the user later changes the Water Budgeting Factor when he/she goes into the AUTOMATIC or SEMI-AUTO mode, the 100% duration entered here will be increased or decreased by the Water Budgeting Factor (BF). Thus, a BF of 140% will increase the duration by 40%, while a BF of 60% will decrease it by 40%. 
     The user can select watering durations from 1 minute up to a maximum of 4 hours by integral minutes. The NO key is used to set or change the hours setting first. The numbers automatically advance every 0.6 second after a 1 second delay. After the user accepts the hours setting by pressing OK, the minutes setting is changed in the same way. For example, if the user wants to water for 1 hour and 20 minutes the display should read: ##STR32## If the user enters a duration of Oh+Om, the controller will ask: ##STR33## 
     After the user confirms the minutes for Station 1 by pressing OK, he/she is asked: ##STR34## If the user presses OK, the controller automatically displays a confirming screen for Station 2 with the duration that he/she entered for Station 1. If the user wants to use a different duration for Station 2, the user should press NO to get a new entry screen for setting Station 2 hours and minutes. 
     This pattern is repeated for all eight valves. Each time the user is asked if he/she wants to use the same setting for the next station, and each time the user can either accept or change this setting. 
     When 100% Watering Durations have been entered for all the active valve stations, the controller asks the user to enter the appropriate Watering Day Cycle for each station. How the user sets the Watering Day Cycle depends upon whether the user selects a Specific Days or an Every &#34;So Many&#34; Days cycle: ##STR35## 
     The display will show the currently selected watering cycle. There are two types of watering cycles. If the user does not want the choice displayed, he or she then presses &#34;NO&#34; or waits 2 seconds and then the other choice will be displayed. The user presses &#34;OK&#34; to select the Water Cycle he or she wants to use. 
     In most cases watering every &#34;so many&#34; days (for example, every 3 days) gives the most consistent moisture levels for plants. However, in some cases it is necessary to avoid watering on certain days of the week. In those cases, the user should choose a Specific Days Water Cycle (for example, Monday-Wednesday-Friday). The Water Cycle that is choosen will apply to all the active valves for the MINI SETUP. The user cannot mix Specific Days and &#34;So Many&#34; Days Water Cycles. 
     If the &#34;specific days&#34; method was chosen, then the display reads: ##STR36## After a delay the MON? automatically changes to TUE? and the days continue to advance automatically. The user needs only to press OK for the days on which he/she wants to water. The controller automatically assumes NO watering is wanted if the NO key or automatic advance is used. If the user presses OK for Monday, the display reads: ##STR37## The day(s) selected is (are) determined by its (their) place on the top line of the display. For example, the first T represents Tuesday, but the second T represents Thursday. Also the first S represents Saturday, and the second S represents Sunday. When all the days have been entered, the user is asked to confirm (or reject) the day settings. For example, if Monday, Wednesday, and Friday is entered, the display reads: ##STR38## In the specific case that only one day is selected, the controller asks if the user wants to water on that day every week, every other week, etc. The display reads: ##STR39## 
     The user can select a one to nine week repeat cycle interval. This, in essence, allows the user to water every 7, 14, 21, 28, 35, 42, 49, 56, or 63 days on a specific day of the week. 
     If the &#34;Specific Days&#34; method was not chosen, the display shows the &#34;every So Many Days&#34; cycle: ##STR40## 
     As usual, the user must use the &#34;NO&#34; key (or let the numbers automatically advance) to change the setting and the &#34;OK&#34; key to select the desired one. &#34;Every 1 days&#34; means every day, &#34;Every 2 days&#34; means every other day, etc. The user can select watering day cycles from every day to every 90 days in one day increments. 
     After setting the watering day cycle for Station #1, the user is asked &#34;Use SAME setting for Station #2?&#34; The user can either do this or change the setting as desired. Thus, the user can water every day for Station #2 even though Station #1 waters every three days. 
     After setting the Day Cycle, the user is asked if he/she wants an Excluded Period, and is then asked for a Start Time for the controller generated watering sequence. Excluded Periods are a feature of the irrigation controller in accordance with the present invention. They permit a user to specify when NO watering is to occur. The user is first asked if he/she wants an Excluded Period: ##STR41## If the user presses NO, all other questions on Excluded Periods are skipped. If the user does want an Excluded Period, he/she is then first asked to define the start time for the period: ##STR42## 
     The user should actuate the NO key (or let the numbers automatically advance) to set the beginning or &#34;Excluded FROM Time&#34; for his/her excluded time &#34;window.&#34; As the user (or the controller) advances the hour, the am and pm indicator also changes. The user should be sure that the hour reads &#34;am&#34; if he/she wants the Excluded Time Interval to start in the morning (am), or else &#34;pm&#34; if the user wants it to be in the afternoon or evening (pm). when the user has set the correct am/pm hour, he/she should then press OK and set the minutes after the hour for the &#34;Excluded FROM&#34; Time. The user is next asked to enter the ending or &#34;Excluded TO Time&#34; for his/her excluded time &#34;window&#34;: ##STR43## 
     The &#34;Excluded TO&#34; time can never be before the &#34;Excluded FROM&#34; time, so the default valve for the &#34;Excluded TO&#34; time is always the same as the &#34;Excluded FROM&#34; time. The user employs the NO key (or lets the numbers automatically advance) to set the &#34;Excluded TO&#34; time to meet his/her special needs. For example, if the user was irrigating a public park or golf course where no watering was wanted during times when people were likely to be playing on the turf areas, then the user might set an Excluded Time Interval FROM 7:00 am TO 7:00 pm. 
     The user is next asked to enter the Start Time for the Mini setup. The display shows: ##STR44## 
     The default Start Time is always 12:Midnight, since this is the earliest possible hour that the controller can start watering. The user should change the hours by pressing the &#34;NO&#34; key until the hour desired (for example, 6:pm) is displayed (or let the controller automatically advance the hour), and then press &#34;OK.&#34; The am/pm setting automatically changes as the user changes the hours, and Midnight and Noon are indicated for easy identification. If the user selects either Midnight or Noon as a Start Time, then the display changes to read: ##STR45## The user should change the minutes setting if desired by pressing the &#34;NO&#34; key (or letting the numbers auto-scroll) until the time wanted is displayed (for example, 6:15 pm), and then press &#34;OK.&#34; The display then reads: ##STR46## Because the controller automatically calculates the start times for all the other valves, the Mini valve set up is now complete. The valves will always operate sequentially without overlap even if the user later sets the Water Budgeting Factor up to its maximum of 200%. 
     The display now reads: ##STR47## 
     After a 2 second delay the following auto-scrolling menu appears: ##STR48## If the user selects &#34;review setup&#34; from the menu, he/she can view, but not change, some or all of the current settings. &#34;Modify Setup&#34; also allows the user to step through some or all of the settings, but pressing NO when in modify mode allows the user to be back and change the currently displayed setting. 
     If the user elects to review the settings, the display will read: ##STR49## 
     The user should confirm that he/she wants to review the basic setup by pressing &#34;OK.&#34; The display will then show the 100% Watering Durations, split cycle criteria and watering Day Cycles for each of the valves in turn. Each screen has a blinking &#34; o   K  &#34; character at the end, to remind the user that he/she needs to press OK to see the next screen. Depending on whether the &#34;Specific Days&#34; or &#34;So Many&#34; Days mode is selected, the display format will vary as shown below: ##STR50## 
     The user should press &#34;OK&#34; to review the settings for the next valve station. The user should keep pressing &#34;OK&#34; to view the settings for all the active valves. Pressing &#34;NO&#34; while in this &#34;review&#34; mode will allow the user to jump to the next review item. For example, pressing &#34;NO&#34; when reviewing durations, jumps to the day cycle review screens. The user cannot change any settings in the review mode. To change settings the user needs to select Modify Setup or Do New setup to start the MINI setup over again. Modify Setup works like Review Setup, except that each item has a blinking &#34;?&#34;, and pressing &#34;NO&#34; allows the user to go back and change the displayed setting. 
     The user is next asked if he/she wants to review the controller generated start time sequence for all the active valve stations: ##STR51## 
     If the user wants to skip this start time review, then he/she should press &#34;NO&#34;. The user will then be returned to the Review/Modify/Do New Setup EXIT now screen. If the user decides to proceed with reviewing the daily schedule, then he/she will be asked the following question: ##STR52## 
     The user should press &#34;OK&#34; to confirm a Budget Factor of 100%, or use the &#34;NO&#34; key to change the Budget Factor to the desired value. The Budget Factor can range from 10% to 200% in 10% increments. The user is next asked to set which day he/she would like to review. If the controller is in &#34;So Many&#34; Days mode, the screen reads: ##STR53## whereas in &#34;Specific Days&#34; mode the screen reads: ##STR54## 
     In either case, the user should select the appropriate day number or name by pressing the &#34;NO&#34; key, and then hitting &#34;OK&#34; to confirm his/her selection. In the &#34;So Many&#34; Days mode, the controller will always water on day #1. For example, if the user has set up his/her program for every other day (every 2 days), day numbers 1, 3, 5, etc. will be active watering days, while no watering will occur on day numbers 2, 4, 6, etc. Likewise, for every third day watering (every 3 days), day numbers 1, 4, 7, etc. will be active watering days, and no watering will occur on the days between these active watering days (i.e., day numbers 2, 3, 5, 6, etc.). 
     In the case of &#34;Specific Days&#34; the user is then asked an additional question: ##STR55## 
     Suppose that the user has set up his/her schedule for watering on Monday every other week. The controller will always water the first week, so the active watering weeks will be week #1 and week #3, while no watering will occur for week #2 and week #4. 
     After the user has set the budget and day for review, he/she will get the following message screen: ##STR56## When the user presses OK, the following screen is displayed: ##STR57## After pressing OK again, the following screen appears: ##STR58## 
     The user should press &#34;OK&#34; and the Start Time for the first active valve will be displayed as follows: ##STR59## 
     The user should Press &#34;OK&#34; again and the controller generated start time for station #2 will be displayed: ##STR60## 
     The user should keep pressing &#34;OK&#34; to view the start times for all the other valve stations. When the review is finished the display reads: ##STR61## The user should press &#34;OK&#34; to start the review process over again. 
     2.5.2 AUTOSPLIT VALVE SET UP 
     This station setup is called AUTOSPLIT because the 100% watering durations that the user sets are split into shorter repeat cycles whose length is automatically determined based upon user entered information about the site. The controller automatically calculates the next available start time for each successive station and for each additional split watering cycle, starting at the start time that the user specifies and automatically skipping over any specified &#34;excluded time&#34; when no watering is desired. This automatic sequential start time generation allows the user to get maximum utilization of the time available for irrigation, and it prevents hydraulic problems that could occur if several station run times were to overlap. 
     Besides Split Watering Cycles and excluded watering times, this setup has many other powerful features. The user can set a different watering day cycle for every valve station if he/she so desires, can program multiple syringe cycles for any station for any desired months of the year, can program periodic deep soak cycles for any station, and with optional soil sensors can program &#34;soak&#34; and &#34;dry&#34; limits for integrated soil moisture sensing. 
     With all these powerful features, the AUTOSPLIT setup is still easy to program because the controller prompts the user with all the right questions, and gives him or her the best guess &#34;default&#34; answers for all the questions. Help is available every step of the way merely by pressing the HELP key. After the user has entered all the information, he/she can then review all the settings that were entered and can also review the repeat start times for all the valve stations that the controller automatically calculates. 
     If the user wants to experiment with making changes to the AUTOSPLIT setup without losing his or her original setup, there is even an ALTERNATE AUTOSPLIT setup available. The &#34;AUTOSPLIT&#34; and &#34;ALTERNATE AUTOSPLIT&#34; SETUPS are done in exactly the same way. 
     Before proceeding with entering the schedule by station the user should consider what he/she wants each station to accomplish, and what kind of plants it will be watering. A station represents a valve and a moisture sensor, if sensors are being used. If the user assigns station numbers (as is suggested in Setup System) according to the desired types of watering schedules for the different types of plant materials, then entering these different types of schedules becomes much easier. That is because the controller asks the user if he/she wants to use the same setting for the next station. This allows information entered for one station to be copied to the next station. If stations with similar types of schedules are grouped together by station number, this makes it much easier for the user to enter the necessary information. 
     For example, assume that stations 1 through 5 are turf stations that the user wants to water on Monday, Wednesday, and Friday, and stations 6 through 8 are shrub stations that the user wants to water on Saturday every other week. Once the user enters the 100% Duration and the Watering Days Cycle for Station #1, the displayed 100% Durations and Watering Days will initially be the same for Stations 2 through 6, and the start times for Stations 2 through 6 will be sequential. Thus, the default Start Time for Station #2 will be the ending time for Station #1, etc. When the user changes to a different Watering Day Cycle for Station #6 (instead of accepting the default cycle from Station #1), the Start Time that the user enters for the AUTOSPLIT setup automatically becomes the start time for the first active station on the new Watering Day Cycle (i.e., Station #6), and the automatically generated start times for Stations 7 and 8 are sequential from this start time. 
     The information needed to set up the stations is summarized in the Autosplit Watering Chart (Table 6). For most of the items on the Watering Chart, the stations are set up one after another, following the Watering Chart horizontally from row to row. When questions pertaining to each item have been answered for all eight stations, the controller moves down to the next row in the Watering Chart. However, where several different items are related, the related questions are all asked for the first station and then the same series of questions is repeated for each subsequent station in turn. 
     The first item that needs to be set for each station is the 100% WATERING DURATION. The display screen for Station #1 reads: ##STR62## 
     The user should set the total length of time in hours and minutes that he/she wants Station #1 to run for each irrigation day. The user should keep in mind that each start time can be split into shorter &#34;split&#34; watering times for erosion and runoff control. 
     The irrigation controller permits the user to set a 100% Duration anywhere from 1 minute to 4 hours. If the user sets the BUDGETING FACTOR to anything other than 100% when the controller is in the RUN or SEMI-AUTO mode, then the 100% Duration set here will automatically be multiplied by the Budgeting Factor. Depending on whether the Budgeting Factor is greater than or less than 100%, it can increase or decrease the actual total duration for each station. Thus, with a 100% Duration setting of 40 minutes, the actual total duration would be 60 minutes with a Budgeting Factor of 150% or 20 minutes with a Budgeting Factor of 50%. 
     Even though the total watering duration is increased when the user increases the Budgeting Factor, there is no danger of runoff or erosion with the controller in accordance with the present invention because individual Split Watering Cycles will never be longer than the maximum ON time that the user designates (see below). When the user increases the Budgeting Factor, then more Split ON Times will occur, each separated by the minimum OFF time that the user has specified (see below). Likewise, when the user decreases the Budgeting Factor, then fewer Split ON Times will occur but each Split ON Time will never be longer than the maximum Split ON time that the user has designated (although the last Split ON Time may be shorter than the maximum ON time if the 100% Duration does not split into an even number of Split Watering Cycles). 
     The user should also be aware that by use of soil sensors the actual total run time for any given station may be shorter than the 100% Duration that is set. The soil sensors can terminate a watering cycle in the middle, or eliminate a split start time completely, if there is adequate moisture in the soil. 
     After the user has set the 100% Duration for Station #1, he/she will be asked: ##STR63## 
     Pressing NO allows the user to change the setting, and pressing OK takes the user to the confirm screen for Station #2: ##STR64## 
     After the 100% Duration settings have been entered for all eight stations, the next display deals with SPLIT WATERING CYCLES and reads: ##STR65## This screen is for information only, since splits are mandatory. Split cycles divide the 100% Watering Duration split into several shorter watering cycles. The Split Watering feature is useful for newly seeded areas, slopes, or anywhere heavy soils exist to reduce runoff and erosion. If the user presses NO, a help message automatically appears that explains splits and how they work. After OK is pressed the next screen reads: ##STR66## 
     This allows the user to view (but not to change) the site information (terrain and soil type, and sprinkler type) entered in Setup System. A typical site info screen might be: ##STR67## If the user presses OK (or NO) in response to this question, the display jumps to the next screen: ##STR68## This screen tells the user that the controller is going to use the site information to automatically enter the best maximum ON, minimum OFF, and number of splits for the current station. A typical example for the next screen is: ##STR69## If the user presses OK, the automatically generated split criteria are confirmed. If the user wants to change these settings, he/she can press NO. This allows the user to directly change first the maximum ON time, then the minimum OFF time, followed by a new confirming screen. The sequence of screens for this direct modification process is as follows: ##STR70## 
     Each Split ON Time can range from 1 minute to 60 minutes (for drip applications), and it is not necessary for the Split ON Time to divide evenly into the 100% Duration that the user has set. If the Split ON Time does not divide evenly into the 100% Duration, the controller automatically shortens the length of the last Split ON Time. For example, if the user&#39;s 100% Duration were set at 1 hour+5 minutes (65 minutes) and if the user entered a value of 10 minutes for the Split ON Time, then the controller would run six ten minute Split ON Times and then the last ON time would only be 5 minutes. The automatically entered Split ON Times for various combinations of soil, terain, and sprinklers built into the controller are as shown in previous Table 1 of Section 1.4.1. 
     The split criteria confirming screen tells the user how many Split Watering Cycles the controller will perform with the 100% Watering Duration and Split ON Time that has been entered. If the user wants to change the number of watering cycles, he/she can do so by pressing NO. The user will be taken back to the screen for directly entering the Split ON Time, and the user can decrease the number of Split Watering Cycles by increasing the Split ON Time, or the user can increase the number of split cycles by decreasing the Split ON Time. For example, if the 100% Duration was 1 hour+5 minutes (65 minutes) and the user changed the Split ON Time from 10 minutes to 5 minutes, then 13 Split Watering Cycles would result instead of 7. If the displayed number of split ONs is acceptable, the user then presses OK. 
     The Split OFF Time is the minimum time between Split ON Times. The user should set the Minimum OFF Time for long enough to allow the water from the Split ON Times to soak into the soil. Usually the pre-set valve of 30 minutes is adequate, but the Minimum OFF can be set anywhere from 0 to 60 minutes. 
     The Watering Day Cycle is set up next. Like in the Mini setup the user is first asked whether to use &#34;Specific Days&#34; or &#34;So Many Days&#34;. If the &#34;Specific Days&#34; method was chosen, then the display reads: ##STR71## The user should press the keys to select which days to turn on for station 1: ##STR72## 
     Just as with the MINI setup, the day selected is determined by its place on the display. For example, the first T represents Tuesday, but the second T represents Thursday. Thus, M--T-S- would designate Monday, Thursday, and Saturday as the desired watering days. Also, like with the Mini setup, the days automatically advance, so that the user only needs to use the OK key. 
     In the specific case that only one day is selected, the controller then asks the user if it is wanted to water on that day every week, every other week, etc. The display reads: ##STR73## 
     The user can select a one to nine week repeat cycle. This in essence allows the user to water every 7, 14, 21, or 28, 35, 42, 49, 56, or 63 days on a specific day of the week. 
     If the &#34;Specific Days&#34; method was not chosen, the display shows the &#34;Every So Many Days&#34; cycle: ##STR74## 
     The user should select how many days are wanted between watering says for station 1. &#34;Every 1 days&#34; means every day, &#34;Every 2 days&#34; means every other day, etc. Watering day cycles can be anywhere from 1 to 90 days in increments of 1 day. 
     After setting the Day Cycle, the user is asked if he/she wants an Excluded Period, and is then asked for a Start Time for the controller generated watering sequence. Excluded Periods are a feature of the irrigation controller in accordance with the present invention. They permit a user to specify when NO watering is to occur. The user is first asked if he/she wants an Excluded Period: ##STR75## If the user presses NO, all other questions on Excluded Intervals are skipped. If the user does want an Excluded Period, he/she is then first asked to define the start time for the period: ##STR76## 
     The user should actuate the NO key (or let the numbers automatically advance) to set the beginning or &#34;Excluded FROM Time&#34; for his/her excluded time &#34;window.&#34; As the user (or the controller) advances the hour, the am and pm indicator also changes. The user should be sure that the hour reads &#34;am&#34; if he/she wants the Excluded Time Interval to start in the morning (am), or else &#34;pm&#34; if the user wants it to be in the afternoon or evening (pm). When the user has set the correct am/pm hour, he/she should then press OK and set the minutes after the hour for the &#34;Excluded FROM&#34; Time. The user is next asked to enter the ending or &#34;Excluded TO Time&#34; for your excluded time &#34;window&#34;: ##STR77## 
     The &#34;Excluded TO&#34; time can never be before the &#34;Excluded FROM&#34; time, so the default valve for the &#34;Excluded TO&#34; time is always the same as the &#34;Excluded FROM&#34; time. The user employs the NO key (or lets the numbers automatically advance) to set the &#34;Excluded TO&#34; time to meet his/her special needs. For example, if the user was irrigating a public park or golf course where no watering was wanted during times when people were likely to be playing on the turf areas, then the user might set an Excluded Time Interval FROM 7:00 am TO 7:00 pm. 
     The next screen lets the user enter the Start Time for the AUTOSPLIT automatically generated watering sequence. All the user needs to do is enter one Start Time, and the controller automatically calculates the start times for all stations for each Split ON Time, taking into account Excluded Times, and Minimum OFF times. ##STR78## 
     The earliest Start Time that the user can set for the day&#39;s watering is at 12:Midnight, so the controller automatically gives this time as the default Start Time. The maximum amount of time available for watering each day is 23 hours and 59 minutes. Accordingly, if long 100% or Soak (see below) Watering Durations or a long Excluded Period (which decreases the amount of available time for watering) have been set, the user must set the Start Time early enough to complete the day&#39;s watering before 11:59 pm. If the user sets the Start Time too late, then an error message will result when the setup is completed. If the user wants to water only in the middle of the night, then the Start Time should be set at 12:Midnight and a long excluded time such as FROM 3:00 am TO 10:00 pm would be set. What results is watering from midnight to 3:00 am with the rest of the daily watering being finished from 10:00 pm until all the split ON times have been completed. This accomplished the same thing as watering from 10:00 pm on one day until 3:00 am on the next (which is something that you cannot do with the controller because it treats each 24 hour entity starting at 12:00 midnight as a separate day). 
     After setting the Start Time for the basic watering schedule, the user is next asked if he/she wants Optional Syringe Cycles: ##STR79## The user may set multiple Syringe Cycles with 1-15 minutes per cycle and with the ability to specify which part of the day and which months of the year that syringing is to occur. Thus, the user is able to set cooling syringes for desert areas to automatically syringe for say 5 minutes every hour from 9:00 am until 6:00 pm every day during the hot months of July, August, and September. 
     The controller further performs optional Soak Cycles. The question is asked: ##STR80## The user may set up periodic Soak Cycles for deep watering trees in lawns, leaching salts in drip applications, etc. These Soak Cycles will permit the user to program durations of up to 8 hours per valve with repeat cycles ranging from once a week to once every 63 days (in Specific Days mode) or from 1 day to 90 days (in &#34;So Many Days&#34; mode). The user is able to program different Soak cycles for each different valve station. The first screen reads: ##STR81## Like with split cycles, the soak duration is automatically calculated based on the user entered site into. 
     The following screen tells the user that this is going to occur: ##STR82## If the user presses NO, a HELP message explains further what the controller is doing. Pressing OK gives the user the following typical screen: ##STR83## If the user does not like the controller calculated soak duration, he/she can press NO and then modify the hours and minutes as desired. 
     After the Syringe and Soak Cycle information has been entered (or skipped if the user does not want to use these features), all the information that the controller needs to automatically calculate the AUTOSPLIT watering schedule will have been entered. If the user&#39;s set up is good, that is, if the user has not made any errors such as programming more hours than are available in a day, etc.), the display reads: ##STR84## 
     The Review Set/Modify Setup/Do New Setup/Exit Now autoscrolling menu screen now appears. Pressing OK when the screen reads &#34;review Setup?&#34; permits the user to enter the Review Settings mode which permits viewing some or all of the information that was entered in a systematic way. Pressing NO here skips all the questions and display screens dealing with Reviewing Settings. If the user presses OK, then he/she is first asked if he/she wants to &#34;Review Basic Setup?&#34; 
     2.5.3 Review Basic Setup ##STR85## 
     If the user presses OK, 100% Duration for Station #1 is shown. ##STR86## 
     The user should press OK to see the Duration setting for Station #2, etc. If the user does not want to continue reviewing these settings or if the user wants to go forward and look at the next group of settings, for example, split cycle criteria, then the user should press NO and the controller will jump forward to the next block of settings. 
     When the user has finished reviewing the Duration settings, the Split Cycle Criteria that have been entered will be shown next (by station). ##STR87## After the user finishes reviewing the split maximum ON&#39;s and minimum OFF&#39;s for each station, the watering day cycles are reviewed. ##STR88## Next the Start Time and Excluded Period that have been entered are shown: ##STR89## 
     Since the start and excluded times apply to all 8 stations, these review screens appear only once (i.e., it is not repeated for each of the 8 valve stations). 
     Display screens are also available to view the Syringe and Soak setups. 
     After all the settings have been reviewed (or after the user presses NO for the Review Settings question), it is permitted to review all the controller generated start times for any day that the user chooses to review. The user will get a screen that reads: ##STR90## 
     If the user does not want to review all the ON times, he/she should then press NO and the controller will revert back to the Review Setup?/Modify Setup?/Do New Setup?/Exit Now? autoscrolling screen. If the user presses OK, then he/she will have to answer several more questions before it is possible to actually start reviewing the ON times for each valve station. The first question is: ##STR91## 
     The user should press the NO key to set the Budget Factor for this review anywhere from 10% to 200% in 10% increments, or should press OK to accept the default Budget of 100%. The Budget Factor does NOT affect syringe and soak watering times; it only affects the basic watering program. The user can review the ON times at any budget that is wanted. Changing this setting, however, has NO effect on the Budget Factor that is actually used when the controller is running. The user may set the actual run-time Budget Factor when the user next causes the controller to enter the AUTOMATIC RUN or SEMI-AUTO RUN Mode. 
     The user should next tell the controller which day the user would like to review. In &#34;So Many&#34; Days mode, the display reads: ##STR92## 
     The user should remember that in &#34;So Many&#34; Days mode, watering always occurs on Day #1 whether the day cycle is set to every day or every 30 days. For every other day watering schedules, days 1, 3, 5, etc. will be watering days and days 2, 4, 6, etc. will be &#34;off&#34; days when no watering occurs. 
     For Specific days Mode, the display reads: ##STR93## 
     Once the user has picked the specific day that he/she wants to review, the user is then asked for the week that he/she wants to view: ##STR94## 
     The user should select either week 1, 2, 3, etc., up to 9 for review. The user should remember that he/she can program watering on Saturday every other week if so desired, so that in weeks 1 and 3 watering would occur on Saturday, while in weeks 2 and 4 no watering would occur in this example. 
     With the optional Syringe and Soak features, the user is able to review Syringe and Soak ON Times if Syringes or Soaks are scheduled for the day being reviewed. 
     Once the user has answered these preliminary questions, the user will get the following message screen: ##STR95## After viewing the ending time for the day, the next screen reads: ##STR96## 
     The user should press OK in order to display the first ON Time for station #1 (if station #1 is an active valve) for the day selected (if any ON times exist). Pressing OK again will display the first ON Time for station #2, etc. All the Split ON Times for all the active valve stations will be sequentially displayed until all the ON Times for the day have been displayed or until the user presses STOP to stop the review process (or NO to get back to the Review Setup?/Modify Setup?/Do New Setup?/EXIT now? menu screen). 
     The display screen for reviewing the generated sequence of ON times tells the user the station number, the split cycle number, the watering duration for that particular split ON, and the actual time that the station in question comes on. Generated starts are also differentiated as to whether they are a basic watering Split ON Time, a Soak Cycle Split ON Time, or a Syringe ON Time by the first line of the display: ##STR97## 
     Pressing NO at any time during this review process takes the user back to the review Setup?/Modify Setup?/Do New Setup?/Exit Now? autoscrolling menu screen (where the user can press OK to start the generated sequence review over again for a different day or for a different Budget Factor). This review process will permit the user to view everything in advance, so the user always knows exactly what the controller is going to do on any given day. Of course, the user can skip this review process completely just by answering NO to the first question. 
     If the user selects Modify Setup instead of Review Setup, he/she can selectively change settings by stepping through a similar sequence of screens. Pressing OK confirms the displayed setting, and pressing NO takes the user back to the original data entry screen. 
     2.6 HOW TO AUTOMATICALLY RUN THE CONTROLLER 
     2.6.1 Automatic Run Mode 
     After finishing SET SCHEDULES, the user should select the RUN STATIONS mode, then he/she should choose AUTOMATIC RUN from the autoscrolling menu. The display then reads: ##STR98## Pressing OK allows the user to set a day of from 1 to 14 days before automatic watering actually begins. This is useful as a &#34;rain delay&#34; when the user wants to not run the controller during a rainy period, but then wants it to resume automatic operation without having to visit the controller again. The next screen reads: ##STR99## The rain delay can be set for anywhere from 1 to 14 days. The next screen reads: ##STR100## If the user presses OK, the following screen is displayed: ##STR101## 
     If the user wants to disable one or more stations, he should press NO and the display will change to read: ##STR102## The user should press OK if he/she wants to use station #1, or NO if he/she does do not want to use this station. If the user presses OK, the display reads: ##STR103## Note that there is now a &#34;1&#34; instead of a &#34;-&#34; for station #1, indicating that this station is now active. After a delay the station number automatically advances to Stn #2, and a &#34;-&#34; is automatically inserted on the top line. Thus, the user needs only press OK for the stations that he/she wants enabled. The user should repeat this process until all the desired valves are turned on (number displayed) or off (&#34;-&#34; sign displayed) as desired. When the user has made his/her entry for station #8, the display will read something like: ##STR104## The user should press OK to confirm that he/she indeed wants stations 1 and 5 disabled, or NO if he/she wants to go back and change his/her settings. 
     The user should use this Enable/Disable set up to tell the controller which valve stations that he/she wants to be active (enabled). The controller comes pre-set with all the stations active. A user&#39;s installation, however, may require less than eight valve stations or the user may need to inactivate (disable) one or more of the stations while he/she repairs his/her irrigation system. In such cases, the user can temporarily inactivate one or more valves. Any disabled valves will be skipped when the controller is actually running, and any previously scheduled watering times for the inactivated valves will be skipped. 
     After the enabled/disable setup has been completed (or skipped if the default is accepted), the user is asked to choose which previously entered schedule setup that he/she wants to run. The next screen reads: ##STR105## The second line of the displays automatically advances after a delay, and the user needs to press OK when the appropriate setup is displayed. The last choice on the autoscrolling menu is &#34;EXIT now?&#34;, and the user can select this option if he/she decides not to start the automatic run until later. After the setup is chosen, the next screen reads: ##STR106## The user needs to either accept the default value for the water budget, or select a new valve anywhere from 10% to 200% in increments of 10%. The next screen reads: ##STR107## The user then needs only to remove the POWERKEY™ power source to begin automatic watering. The controller will now run with the chosen watering setup in it, and valves will turn on the next time a start time occurs. 
     2.7 HOW TO MANUALLY RUN THE CONTROLLER 
     2.7.1 Manual Mode 
     The user should select MANUAL Mode to turn the valves on or off independent of the timer, to run a timed Test Sequence for checking the irrigation system, or to read the soil moisture sensors. 
     There are four choices in MANUAL Mode: ##STR108## The user should press OK to select the operation shown on the screen, or NO to switch between screens. If STOP is pressed, then all valves will be turned OFF, and the main &#34;CHOOSE ONE (OK)&#34; function select screen will be displayed. 
     2.7.1.1 Manual Valve Operation 
     Select &#34;Run Stations&#34; from the MANUAL RUN Mode to manually operate the valves. The display reads: ##STR109## The status of all the valves is shown on the first line of the display. The valves are shown in order; the valve number displayed means the valve is on, and--means the valve is off. 
     The second line of the display shows the condition of any one valve. In the example above, the user can press OK to turn valve #1 ON, or NO to leave it OFF. If the user presses OK, the display changes to read: ##STR110## Pressing OK again, station #1 turns OFF and the display changes to read: ##STR111## If the user again presses OK, the display changes to read: ##STR112## If the user presses NO, the display changes to read: ##STR113## If the user doesn&#39;t press OK or NO, the display auto-scrolls after a pause between three different screens: ##STR114## If a valve is already on, the first menu choice is: ##STR115## Pressing OK will shut if off, while pressing NO or letting the menu auto-scroll will allow the user to move on to station 3 with station 2 still running. 
     Once a valve is manually turned on, it will stay on until the user either 1) turns it off as described above, 2) presses the STOP key, or 3) removes the POWERKEY™ power source. Normally, the user should only use the second and third ways of manually turning a valve off in emergencies. Pressing the STOP key in Manual Mode takes the user back to the main function select menu screen. 
     When the user has finished turning ON and OFF stations in MANUAL RUN, the menu choice &#34;EXIT now&#34; is chosen. If any stations are still on when the user chooses to exit, the following screen is displayed: ##STR116## 
     2.8 HOW TO REVIEW SYSTEM HISTORY WITH VIEW INFO MODE 
     2.8.1 Reviewing System History 
     The user may review the performance of the controller by entering VIEW INFO mode and selecting See History. The controller stores the last 128 significant events in chronological order, ending with the most recent event. An event can be a valve start, a status event, or a programming event. The user must press OK to see the next screen, or STOP to end the history review. 
     The data stored from each valve start is displayed as follows: ##STR117## 
     The history shows the station number, the starting time, and the actual ON time used. 
     3.0 FUNCTIONAL DESCRIPTION OF THE PREFERRED EMBODIMENT OF AN IRRIGATION CONTROL IN ACCORDANCE WITH THE PRESENT INVENTION 
     A preferred embodiment of an irrigation control system in accordance with the present invention is shown in FIG. 2. An irrigation controller 1 (previously seen in FIG. 1) operates under control of MICROPROCESSOR U2 (partial) executing programmed firmware that is resident in memories types ROM U4, RAM U5, and EE U9. The MICROPROCESSOR U2 (partial) communicates with MANUALLY OPERABLE KEYS 22-25 (previously seen in FIG. 1) for receipt of data and control. It interfaces with DISPLAY 21 (previously seen in FIG. 21) for the display of questions, parameters, and help messages to a human user/programmer (as detailed in previous section 2.0). 
     The MICROPROCESSOR U2 (partial) of irrigation controller 1 optionally communicates externally through a SENSOR INTERFACE 26 of plugjack 16 (shown in FIG. 1) to up to eight MOISTURE SENSING UNITS (optional) 27a-27h (shown in phantom line). This optional communication is the purpose of sensing soil moisture at up to eight locations. The MICROPROCESSOR U2 (partial) communicates through VALVE INTERFACE 28 of plugjack 13 (shown in FIG. 1) to up to eight electromagnetically actuated CONTROL VALVES 29a-29h (shown in dashed lines). This communication is for the purpose of gating the flow of pressurized water from WATER SUPPLY 30 through a selected one of CONTROL VALVES 29a-29h at any one time to a corresponding one of WATERING HEADS 31a-31h (shown in dashed line). 
     The MICROPROCESSOR U2 (partial) may optionally communicate through plugjack 15 (shown in FIG. 1) to OTHER DEVICES 32 (shown in phantom line) for purposes of receiving the download of firmware programs, parameters, and/or commands. This interface need not be enable to operate the irrigation controller 1, which in preferred embodiment comes from the factory with that control program that is appendicized to this specification within its ROM memory U4 and EE memory U9, and which in the preferred embodiment may have all necessary parameters and control entered through MANUALLY OPERABLE KEYS 22-25. Indeed, if necessary firmware could be entered into controller 1 through its MANUALLY OPERABLE KEYS 22-25. The digital interface to OTHER DEVICES 32 simply represents a less fedious way of communicating. 
     The preferred embodiment of the controller 1 normally derives all its power, and all power for MOISTURE SENSING UNITS 27a-27h and CONTROL VALUES 29a-29h, during quiescent operation both day and night from radiant light energy impingent upon RADIANT ENERGY CONVERTING UNIT (includes ASIC U1) that comprises each of PVM1, U1, and ASSOCIATED CIRCUITRY. &#34;PVM&#34; stands for photovoltaic module and &#34;ASIC&#34; stands for application specific integrated circuits. All &#34;U&#34; designations stand for integrated circuit chips that may be referenced in FIG. 3 (to be discussed). 
     The preferred embodiment of controller 1 is powered during its operation to accept user programming not by the RADIANT ENERGY CONVERTING UNIT PVM1, U1, and ASSOCIATED circuitry but rather by electrical connection through plugjack 14 (shown in FIG. 1) to the POWERKEY™ PLUGGABLE BATTERY ENERGY SOURCE 33. This SOURCE 33, normally not a part of irrigation controller 1 during its quiescent operation, is shown neither in shadow line for being optional, nor in dashed line for being related to the controller 1 of the present invention but not part thereof. Rather, the POWERKEY™ PLUGGABLE BATTERY ENERGY SOURCE is shown in solid line in order to illustrate that for the purposes of programming the controller in accordance with the present invention it must be present. 
     This required presence is because the SOURCE 33 supplies the greater power that the MICROPROCESSOR U2 (partial) needs to exit the predominantly somulent (inactive) state that it only intermittently and momentarily leaves to effect irrigation control in accordance with the schedules, and to assume a high duty cycle at operation. The SOURCE 33 also supplies the power requirements of MANUALLY OPERABLE KEYS 22-25 and of DISPLAY 21 during user programming. Although the energy storage within the RADIANT ENERGY CONVERTING UNIT might suffice to permit user programming, it is unwise to deplete this energy storage to an undetermined amount (dependent on the length and adeptness of user programming)--especially at night when no energy recovery is possible and especially when the controller is programmed to immediately begin controlling irrigation cycles. Instead, the SOURCE 33 actually charges the energy storage means within the RADIANT ENERGY CONVERTING UNIT, and always leaves the controller 1 fully powered and ready to control irrigation of the end of a user programming sequence. 
     3.1 FUNCTIONAL DESCRIPTION OF THE PREFERRED EMBODIMENT OF AN IRRIGATION CONTROLLER IN ACCORDANCE WITH THE PRESENT INVENTION 
     The schematic diagram of FIG. 3a through FIG. 3h, substantially a block diagram because the very substantial function of the circuit shown is contained in two Application Specific Integrated Circuits (ASICs) U1 (shown in FIG. 4) and U2 (shown in FIG. 5)--shows the preferred embodiment of irrigation controller 1 (previously seen in FIGS. 1 and 2) in accordance with the present invention. 
     Commencing in FIGS. 3a and 3c, primary power is provided to the irrigation controller in accordance with the present invention by photovoltaic module PVM 1 or, alternatively, by a POWERKEY™ power source. The POWERKEY™ power source is a battery that is connected between terminals BAT + and BAT -. During programming of the irrigation controller 1 the POWERKEY™ power source (not shown) is always connected. Thereby the battery provides the considerable power necessary to energize the display LCD 1, and, importantly, operate the entire controller 1 at the high duty cycle necessary to conduct communications with the operator. The battery also serves to initially charge the capacitor power storage (both at a current limited rate) each time the POWERKEY™ battery power source is replugged to its receptacle 14 (shown in FIGS. 1 and 2). This insures that after each user interface communication the controller is always left in a fully charged condition. 
     During normal, quiescent, operation all low-power CMOS circuitry and the low-power valves are energized by energy stored in supercapacitors (SUPERCAPS) C1, C2. It is the function of first ASIC U1 to manage the voltage and power levels of the irrigation controller, and, most particularly, to control the charging of SUPERCAPS C1, C2 by PVM 1 and the POWERKEY™ power source. The SUPERCAPS C1, C2 will automatically be charged by connection of the POWERKEY™ power source. The ASIC U1 operates to control this charging through a constant current source implemented by transistors Q3, Q4 and resistor R2. This constant current source is controlled by a switching regulator implemented from transistor Q2, inductance L1, diode D4, and capacitors C3, C4, all under the control of ASIC U1. The switching regulator and constant current source act jointly to pass, during the presence of bright sunshine or of the POWERKEY™ power source, up to 63 milliamperes through steering diode D3 to charge SUPERCAPS C1, C2. The diodes D1, D2 prevent discharge of the charged SUPERCAPS C1, C2. 
     Continuing in FIG. 2a, connections to the ASIC U1 that is used for power management and control include VDD 2. VDD 2 is the main +5 vdc power for the irrigation controller 1 and other components (such as CONTROL VALVES 29a-29h or MOISTURE SENSING UNITS 27a-27h both shown in FIG. 2) to which it is attached in order to form an irrigation system. Signals BA and DX provide local control to the switching regulator and constant current source. The abbreviation NSL stands for system low voltage, NSVL stands for system very low voltage, NSH1 stands for the first shunt from the upper SUPERCAP, NSH2 stands for the second shunt from the lower SUPERCAP, and NBP produces a battery present control signal. The output PULSE is a real time clock interrupt of 30 microseconds duration occurring each 1/2 millisecond. 
     The logical control function of the irrigation controller 1 is substantially implemented by digital ASIC U2, shown extending across each of FIGS. 3b, 3d, 3f, and 3h. The main switch control inputs S1-S6 to ASIC U2, used for operator programming of the irrigation controller 1, are from corresponding switches S1-S6 shown in FIG. 3a. The switches S1-S6 respectively implement the stop, unused, unused, help, no, and ok switch control inputs to ASIC U2. These switches S1-S6 are called the MANUALLY OPERABLE KEYS 22-25 in FIG. 2. 
     Referring to FIGS. 3b and 3d, up to eight soil moisture sensors that are connectable to terminal block J3 produce signals that are received into corresponding eight analog to digital converter channels, AD CH1 through AD CH8, of ASIC U2. 
     In a similar manner one side of each coil driver of up to eight valves that are hooked to the eight valve channels on terminal block J2 is internally connected within ASIC U2 as a signal input to one of the remaining eight analog to digital converter channels. Thus, ASIC U2 offers a total of 16 A/D channels, of which eight are internal and eight are external. The irrigation valve control, or drive, signals developed by ASIC U2 are brought to terminal block J2. This terminal block J2 is brought out to plugjack 13 shown in FIGS. 1 and 2. 
     Referencing FIGS. 2f and 2h the ASIC U2 operates on firmware instructions, and on parameters, that are stored within both read only memory ROM U4 and in random access memory RAM U5. The ASIC U2 addresses both such memories through ADDRESS DECODER U7. The irrigation controller 1 is generally versatilely programmable, as well as parameterizable. Thus, many firmware instructions that ASIC U2 executes are present in RAM U5 and are loaded therein in accordance with user requirements. Other firmware instructions reside in ROM U4. 
     Referencing FIG. 3g, the irrigation controller 1 in accordance with the present invention connects to still another programmable memory other than RAM U5 (shown in FIG. 3h). This is Electrically Erasable (EE) 1024 bit serial memory U9. This EE memory is particularly distinguished in that it will retain its informational contents in the total absence of power (unlike RAM U5). Yet it is alterable in its contents, unlike non-votile ROM U4. The 1024 bit serial memory U9 permits the field programming of secret codes, vital set up information, and other information that is desirably user specified (unlike the factory-programmed informational contents of ROM U4), wherein this information wil desirably not be lost during any interruption of power to the controller. 
     The complete firmware program, which is resident in memories U4, U5 and U9 and which is executed by the microprocessor contained in ASIC U2, is attached to this specification as Appendix A. 
     Circuits U6 (save for one unused spare gate shown in FIG. 3c), U7, and U8 form a control interface of a standard type from ASIC U2 to the 1024 bit serial EE memory U9. In the address bus between the ASIC U2 and the control interface circuit U8, address line AD0 powers up, address line AD1 selects, and address line AD2 clocks serial data present on line AD3 into, 1024 bit memory U9. The single, serial, data output bit D0 of 1024 bit memory U9 is amplified in non-inverting element U10 and communicated to ASIC U2 as bit ADO upon its address bus. 
     The function of the circuits of irrigation controller 1, substantially contained in ASIC U1 and U2, to manage irrigation control will become increasingly clear upon the detailed discussion of such ASIC U1s and U2 in respective following sections 4 and 5, and by reference to the complete firmware program attached to the present specification as Appendix A. 
     4.0 FUNCTIONAL DESCRIPTION OF THE U1 ASIC DEVICE 
     The block diagram of FIG. 4 shows the overall architecture of the first, U1, Application Specific Integrated Circuit (ASIC) used within the preferred embodiment of the irrigation controller in accordance with the present invention. The detail function of ASIC U1 is essentially unimportant for the purposes of the present invention, and is included within this specification only for purposes of completeness. The photovoltaic module (PVM, shown in FIG. 3a), SUPERCAPS C1 and C2 (shown in FIG. 3a) and ASIC U1 (shown in FIG. 3a) may be considered to simply be the implementation of a special form of a light-energized power supply. The general implementation of an a.c. or battery source power supply is, of course, routine in the electrical arts. 
     The U1 ASIC device is used to generate a 5 volt power supply using power from a photovoltaic modult or battery. Power is stored by charging very large supercapacitors (&#34;SUPERCAPS&#34;) to 10.8 volts. The stored energy is then used for operation during dark periods. Because the energy stored in the SUPERCAPS=1/2 CV cap   2 , the run time duration of the controller during conditions of darkness is greatly affected by how closely the maximum charge voltage can be brought to the maximum tolerable voltage for the SUPERCAP components. Therefore, to increase the dark run time, the &#34;SUPERCAPS&#34; are very carefully monitored, so that they may be charged to a maximum value without being over-charged. 
     The U1 ASIC device is designed to use minimal power while providing five (5) functions: 
     First, it monitors SUPERCAP voltages and shunts the charging current if they are over-charged. The monitoring holds this voltage to within +/-1.75%. 
     Second, it provides a 5 volt +/-2.5%, 0-65 mA output voltage to power other electronics. 
     Third, it provides status signals indicating the condition of the power supply. 
     Fourth, it provides a 2 kHz, 30 us pulse for use as a time base. 
     Fifth, it steps up a 9 volt battery to 17 volts to charge the SUPERCAPS and provide current during programming of other electronics. (Power consumption is less of a concern in this mode.) 
     Sampling capacitors are used to monitor the various capacitor and power supply voltages, allowing the use of only one comparator to conserve current. CrSi 100 kΩ/ resistors are used to minimize analog currents. 
     The voltage reference is trimmed using on-chip metal fuses. 
     There are 3 potential `most positive` voltages and two potential `most negative` voltages, making substrate connections difficult. This is handled by using bipolar junction isolation that employs the isolated n- regions as separate CMOS substrates. This allows the CMOS circuitry to operate from several supplies, any one of which could be at the highest potential at different times. 
     The logic generally runs from VSS1 (OV) to VDD2 (0-5 V), level shifting where required. Analog references run from VSS1 to VDD1 (0-11 V). Switching regulator components run from VSS2 (-0.7 to +5.5 V) to VBAT (0 to 15 V). The upper shunt transistor is connected to a voltage which can range from 0 to VDD1 +0.7 V. 
     4.1 VREF1 Voltage Reference 
     The VREF1 circuit X4 is a voltage reference for monitoring supercaps, system low, and system very low. The circuit requires no op-amps, reducing offset error. NMOS transistors at collectors of non bandgap transistors are used to eliminate early voltage effects. The circuit has a buffered output which multiplies the bandgap voltage and is trimmed to 1.50 volts. This trimming is with on-chip metal fuses. The trim range is approximately 1.5 +/-0.1 volts with minimum steps of 3 mV. An extra +/-1 LSB is provided in case original trim is incorrect. The circuit temperature coefficient is 60 ppm/°C. typical, 150 ppm/°C. worst case. 
     4.2 IBIAS &amp; XTAL BIAS Bias Current Generator 
     The IBIAS &amp; XTAL BIAS circuit X1 generates 20 nA bias currents for other cells, and 100 nA bias (voltage) for xtal oscillator. It generates buffered 2 Vth voltage &#34;VLOW&#34; used to run the xtal oscillator and high-order dividers at low current. CrSi and p-resistors are combined to match TC of Vbe. The bias varies approximately +/-28% over all parameters. 
     4.3 XTAL OSC &amp; HIGH ORDER DIVIDERS 
     The XTAL &amp; 2 kHz DIVIDERS circuit X2 generates a clock for capacitor switch sequencing. It uses a low current oscillator (CASC1 from TCJ) running from the second Vth supply voltage called VLOW. Internal trim capacitors are added to the crystal pins and are metal mask trimmable. Dividers to 2 kHz run from VLOW, then are level shifted to VSS1, VDD2 (0 to 5 V). This avoids level shifting at 32 kHz, conserving current. 
     Circuit input PULSE receives a 2 kHz 30 microsecond pulse used for on and off chip timing. Circuit input NSTROBE receives a 2 kHz, 15 us negative pulse occurring 60 us after PULSE and is used for on chip timing. The level shifters use approx 30 nA each at 2 kHz. 
     4.4 SAMPLING SWITCH DECODE 
     The SS DECODE circuit X3 is clocked by input PULSE. A one-shot is used to effectively generate a non-overlapped clock for the switch output signals. All switch signals are disabled (by inputs E and NE) for 0.6 to 4 us after each clock. 
     Switch sequencing samples the upper supercap, lower supercap, system low, and system very low in that order. Inputs NSC1, NSC2, NSSL, NSSVL define which voltage is being sampled. Each voltage is sampled once every 7.8 ms. 
     Input NCMP --  CLK is the comparator clock. Input NCMP --  ON powers down the comparator during unused periods. 
     4.5 SAMPLING CAP ARRAY &amp; SWITCHES 
     The CAP ARRAY &amp; SWITCHES circuit X5 contains sampling capacitors that are basically unit sizes. Due to the variety of voltages sampled, fractions of units are required. Poly etch tolerance can cause approximately 0.2% ratio error. 
     Inputs S1, S2, S3, S8 and S9 require signals level shifted above VSS2 (the normal logic level is VSS1, VDD2). Inputs S1, S2, S3, S8, S9 must save bodies tied to VSS1 &amp; VDD1. All other switches may be tied to VSS1, VDD2. Note that this includes p-channel bodies, since they are isolated from the substrate in this process. 
     Sampling occurs such that the node OUT should remain at the reference voltage level if the sampled voltage is at its exact trip point. This avoids parasitic capacitance effects at this high-impedance node. 
     100 mV of hysteresis is added to the SL and SVL tests by switching between two slightly different capacitor values. 
     A simplified electrical schematic of the CAP ARRAY &amp; SWITCHES circuit X5 illustrating its function is shown in FIG. 5a. In operation, V OUT  =V REF  if V SAMPLE  . C1=V REF  . C2. 
     4.6 SAMPLING COMPARATOR 
     The SCOMP circuit X7 compares output from the capacitor array to the reference voltage. It is inherently offset compensated. Its response time is less than 25 us. 
     A simplified electrical schematic of the SCOMP circuit X7 illustrating its function is shown in FIG. 5b. Phase 1 shorts the n-channel so that its gate voltage moves to the voltage where it carries exactly the current source current. The input capacitor is shorted to VREF and stores the difference between this gate voltage and VREF. Phase 2 opens the n-channel and connects the capacitor to the input voltage. If the input voltage is different from the reference, the gate is forced higher or lower, pulling the output of the current source down or allowing the current source to pull up. 
     4.7 COMPARATOR DATA LATCHES 
     The COMP DL circuit X11 stores the output of the comparator in the latch corresponding to the voltage being tested. It is clocked by input NSTROBE. 
     4.8 WAIT TIMERS 
     The WT TIMER circuit X12 is used as a &#34;timed hysteresis&#34; when the SUPERCAP voltages are sampled. 
     When near the trip voltage, the capacitors will tend to be above the trip voltage when charging, and immediately fall below the trip voltage when the charging current is shunted away. This is due to approximately 7 Ω internal resistance in the SUPERCAPS. 
     The SUPERCAPS are sampled every 7.8 ms, and under the above conditions would alternate charging/discharging at a 50% duty cycle. A typical charge current of 20 mA would average 10 mA, while a typical load current is 12 mA continuous, resulting in a net energy loss. This would result in the capacitor charging to less than its maximum value by the internal I-R drop. 
     To avoid this situation, the comparator data latch is disabled for 3×7.8 ms after it comes out of a shunt mode. This results in a 3:1 charge to shunt ratio, ensuring that the net charge current is positive. 
     4.9 SHUNT TRANSISTORS 
     The SHUNT TRANSISTORS X10 shunt up to 70 mA away from the SUPERCAP when the maximum voltage is exceeded. The SHUNT TRANSISTORS X10 have a resistance of approximately 3.5 Ω. 
     4.10 SWITCHING REGULATOR 
     The SWITCHING REGULATOR circuit X9 provides 17 volts from a 9 volt battery. The inductor shorting transistor of the circuit is off-chip (the IC is not required to handle the 17 volts). 
     Output NBP signals the VDD2, VSS1 logic when a battery is attached to the BAT, VSS2 terminals. 
     A simplified electrical schematic of a step-up DC-to-DC Converter circuit used in SWITCHING REGULATOR circuit X9 and illustrating its function is shown in FIG. 5c. When switch S is closed the battery voltage is applied across the inductor L. Charging current flows through the inductor, building up a magnetic field, increasing as the switch is held closed. While the switch is closed, the diode D is reverse biased (open circuit) and current is supplied to the load by the capacitor C. Until the switch is opened the inductor current will increase linearly to a maximum value determined by the battery voltage, inductor value, and the amount of time the switch is held closed (I PEAK  =V BAT  /L x T ON ). When the switch is opened, the magnetic field collapses, and the energy stored in the magnetic field is converted into a discharge current which flows through the inductor in the same direction as the charging current. Because there is no path for current to flow through the switch, the current must flow through the diode to supply the load and charge the output capacitor. 
     If the switch is opened and closed repeatedly, at a rate much greater than the time constant of the output RC, then a constant DC voltage will be produced at the output. 
     4.10.1 SWITCHING REGULATOR BIAS 
     The internal bias of SWITCHING REGULATOR circuit X9 is used only for biasing switching regulator components. The bias is provided by a Standard 5 uA bias cell type A54020. Its absolute value is not critical. 
     4.10.2 VREF2 
     The SWITCHING REGULATOR circuit X9 has an internal reference for monitoring switching regulator output voltage. The reference is provided by a standard cell reference type A53000 that is modified to use CrSi. 
     The reference circuit is chosen to keep non collectors at positive voltage. (Switching regulator can have voltages below the substrate voltage VSS1.) 
     The value and temperature coefficient of the circuit are not critical, and trim is not required. 
     4.10.3 RC OSC 
     The SWITCHING REGULATOR circuit X9 has an internal clock for switching the regulator at approx. 25 kHz. The clock is divided from 50 kHz to give a 50% duty cycle. It employs a standard cell reference type A55010 that is modified for CrSi. An approximate 150 kΩ external resistor is required. 
     4.10.4 SWITCHING REGULATOR COMPARATOR 
     The SWITCHING REGULATOR circuit X9 has a comparator that uses positive feedback for an improved response time of 3.5 us maximum. 
     4.11 VREG 
     The 5 V REGULATOR circuit X6 provides a 5 volt +/-2.5% regulated output for external electronics as well as VDD2 for internal logic. An external NPN is used to avoid thermal effects on the IC. 
     4.12 LOW VOLTAGE RESET 
     The LOW RESET circuit X8 resets the entire UI ASIC. The power supply can (under various light conditions) take minutes to hours for power up, which eliminates normal power-on-reset circuits. This circuit must ensure that all outputs are valid until the analog circuits are operational. 
     The output holds all latches in reset until the bias, reference, and regulator circuits are all running at levels acceptable for operation. 
     4.13 Preferred Technology for the U1 ASIC 
     The U1 ASIC is suitably implemented in BIPOLAR-CMOS technology available from several semiconductor foundaries. It is typically implemented in the BI-CMOS process of Micro-Rel Division of Medtronic, Inc., 2343 W. 10th Place, Tempe, Ariz. 85281. 
     5.0 FUNCTIONAL DESCRIPTION OF THE U2 ASIC DEVICE 
     The block diagram of FIG. 6, consisting of FIG. 6a through FIG. 6f, shows the overall architecture of the second, U2, Application Specific Integrated Circuit (ASIC) used within the preferred embodiment of the irrigation controller in accordance with the present invention. 
     The U2 ASIC device is concerned with calculation, command, and control. It is primarily digital in operation, and may be considered to be a specialized microprocessor with substantial analog as well as digital I/O capabilities. The diagram of the U2 ASIC device shows the detailed interconnection of the various functional blocks. 
     5.1 U2 ASIC Device Architecture 
     5.1.1 Microprocessor 
     The central microprocessor Y31 of the U2 ASIC device is a NCR 65CX02 macrocell. It employs an 8-bit datapath structure controlled by an internal programmable logic array (PLA) using 8-bit instructions and having a 16-bit addressing capability. Importantly, all circuitry internal to the microprocessor is completely static and complementary so that the clock signal may be frozen and only leakage current will be consumed. It has a clock speed of 455 KHz and a 2.2 microsecond cycle time. 
     The microprocessor Y31 executes the instruction repertoire of commercially available micorprocessor type 6502. The mnemonic codes for the instructions of this repertoire, such mnemonic codes as appear with the firmware program listing attached as Appendix A to this specification, are commonly recognized mnemonics, and a complete description of the microprocessor type 6502 instruction repertoire, are contained, among numerous other places, in the book &#34;6502 Assembly Language Programming&#34; by Lance A. Leventhal, published in 1979 by Osborne/McGraw Hill, 630 Bancroft Way, Berkeley, Calif. 94710. It will be recognized that, consonant with the modest computational requirements of an irrigation controller, the relatively simple 6502 microprocessor macrocell is not the sole type that could be employed, and that many microprocessors including types commonly incorporated in ASICs are suitable for use within the irrigation controller in accordance with the present invention. 
     The firmware instructions executed by microprocessor Y31 occupy memory addresses in accordance with the following memory map table: 
     
         ______________________________________                                    
00-3F       I/O Parts                                                     
40-7FFF     RAM Memory U5 (shown in FIG. 3h)                              
8000-FFFF   ROM Memory U4 (shown in FIG. 3f)                              
______________________________________                                    
 
    
     The operand fields of the firmware instructions are interpretable in accordance with the following memory map table: 
     
         ______________________________________                                    
00         O Microprocessor power off                                     
01         O RTC counter clear                                            
02         O A/D power, 1=on, 0=off                                       
03         O A/D interface, 1=enable, 0=disable                           
04         O LCD power, 1=on, 0=off                                       
05         O LCD interface, 1=enable, 0=disable                           
06         O Valve select byte                                            
           bits 0-2 - valve #, + side                                     
           bits 3-5 - valve #, - side                                     
           bit 6 - polarity, 0=normal                                     
1=reversed 07                                                             
           O Valve enable, 1=on, 0=off                                    
08         O TIMER hi byte latch                                          
09         O TIMER lo byte latch                                          
0A         O TIMER control, 1=on, 0=off                                   
0B         O RTC, 1=10 seconds, 0=1 minute                                
0C         O Serial clock                                                 
0D         O TIMER load                                                   
0E         O Write serial data out                                        
0F         O Serial output ready                                          
10         I RTC counter hi byte                                          
11         I RTC counter lo byte                                          
12         I Status register 1                                            
           bit 0 - 0=external battery present                             
           bit 1 - 1=watchdog timeout                                     
           bit 2 - 0=system power low                                     
           bit 3 - 0=system power very low                                
           bit 4 - 0=RTC pulse                                            
           bit 5 - 1=battery low or caps charging                         
           bit 6 - 1=serial data link present                             
           bit 7 - 0=serial data link ready                               
13         I Status register 2                                            
           bit 0 - Switch 1, 1=pressed STOP                               
           bit 1 - Switch 2                                               
           bit 2 - Switch 3                                               
           bit 3 - Switch 4 HELP                                          
           bit 4 - Switch 5 NO                                            
           bit 5 - Switch 6 OK                                            
           bit 6 -                                                        
           bit 7 - 0=A/D end of conversion                                
14         I Read serial data in                                          
15         I Read A/D converter                                           
16         I Load serial shift register                                   
17         I Clear input ready latch                                      
18         I LCD busy flag &amp; address counter (RS=0)                       
           bit 7 - 1=busy                                                 
           O LCD instruction register (RS=0)                              
19         I LCD read data (RS=1)                                         
           O LCD write data (RS=1)                                        
1A         O LCD contrast select (0-7)                                    
1B         O Clear watchdog timer                                         
1C         O Clock RTC counter                                            
1D         I/O EEPROM                                                     
1E         O Coil test drivers                                            
1F         O Sensor test drivers                                          
20         O Start A/D channel 0, sensor 1                                
21         O Start A/D channel 1, sensor 2                                
22         O Start A/D channel 2, sensor 3                                
23         O Start A/D channel 3, sensor 4                                
24         O Start A/D channel 4, sensor 5                                
25         O Start A/D channel 5, sensor 6                                
26         O Start A/D channel 6, sensor 7                                
27         O Start A/D channel 7, sensor 8                                
28         O Start A/D channel 8, valve 1                                 
29         O Start A/D channel 9, valve 2                                 
2A         O Start A/D channel 10, valve 3                                
2B         O Start A/D channel 11, valve 4                                
2C         O Start A/D channel 12, valve 5                                
2D         O Start A/D channel 13, valve 6                                
2E         O Start A/D channel 14, valve 7                                
2F         O Start A/D channel 15, valve 8                                
30-3F                                                                     
40-FF      Zero page variables, pointers, and tables                      
100-1FF    Stack                                                          
200-3FF    Program variables                                              
8000       ROM start                                                      
FFFA-FFFB  NMI vector                                                     
FFFC-FFFD  RESET vector                                                   
FFFE-FFFF  IRQ vector                                                     
______________________________________                                    
 
    
     5.1.2 Drivers 
     The coil drivers Y20 work in pairs to supply relatively large bidirectional current pulses to operate electromagnetically actuated valves. Only one pair of coil drivers is active at a time, as specified by the contents of the data bus. Additionally, the output (coil) drivers have the capability to sink a regulated current for testing and programming purposes. 
     5.1.3 Timer 
     The timer Y26 consists of two 8-bit latches on the data bus and a 16-bit down counter which is clocked at 2 kHz. Loading of the counter and latches is under the control of the processor. When the counter reaches zero, a processor interrupt is generated. 
     5.1.4 ADC 
     The Analog-to-digital converter Y43 receives signals from external sensors and from the valves, a total of 16 channels in all, which are converted to digital information and placed on the data bus. The selection of the channel to be digitized is made on the basis of the contents of the address bus. The converted data is expressed as an eight-bit fraction. For the eight channels originating at the sensors and for the eight channels originating at the coils, this fraction is the ratio of the input voltage to the full power supply. All 16 ADC inputs may be pulled to ground through a poly resistor and an n-channel switch which together constitute a nominal 330 ohm resistance. The resistors associated with the eight channels originating at the sensors are enabled individually (as determined by the contents of the data bus) upon command of the processor. The performance specifications of the Analog-to-digital (A/D) Converter are as follows: 
     
         ______________________________________                                    
a.  Resolution/Accuracy                                                   
               8 bits ± one-half LSB for                               
                  VIN = 1 (Vd)                                            
                8 bits ± one LSB for                                   
                  VIN = 1/2 (Vd)                                          
               b. Conversion Time                                         
                ##STR118##                                                
                  depending upon whether the                              
                  conversion is full scale or half                        
                  scale.                                                  
               c. Operating Current                                       
                3 mA maximum                                              
               d. Analog Reference                                        
                Digital Supply Voltage (Vd)                               
               e. Analog Inputs (Vin)                                     
                Each input voltage is ratio-                              
                  metric with the digital                                 
                  supply voltage (Vd) where:                              
                Vin for full scale = 1/2 (Vd) for A/D channels 1          
                  through 8                                               
                Vin for full scale = 1 (Vd) for A/D channels 9            
                  through 16                                              
______________________________________                                    
 
    
     5.1.5 Clock/Calendar 
     This clock/calendar Y22 provides several timing functions. It generates a 2 second timing tick at 10 second or 1 minute intervals. 
     It keeps watch on the status of the programmer battery by generating a &#34;Battery Low&#34; status bit if either of two &#34;Supercap Shunt&#34; signals are absent for more than 64 second during programming activity. 
     It counts up to 65535 ticks while the processor is in a low voltage shutdown mode so as to provide calendar memory. The calendar contents may be placed on the data bus. 
     It maintains a 128 second dead-man timer which can generate a hardware reset if the processor fails. 
     5.1.6 Switch Register 
     The switch register Y2 acts as an interface between six external configuration switches and the data bus. An additional input is the end-of-conversion signal from the analog-to-digital converter. 
     5.1.7 Status Register 
     The status register Y3 makes the following internal flags available to the processor as data on the data bus: Battery Present, Dead-man timeout, System Low, System Very Low, Real Time Clock Tick, Battery Low, Serial Data Link Present, and External Ready. 
     5.1.8 Serial Data Link 
     The serial data link Y1 provides high speed synchronous two-way communication between the device and a remote data transceiver. Data is loaded or retrieved via the data bus under control of the processor. Transmission of serial data is also directly controlled by the processor. 
     5.1.9 Ready 
     These circuits Y23 provide handshaking between the processor and an external device (such as a serial data link) through the status register and data bus. 
     5.1.10 Wakeup 
     The wakeup circuit Y27, upon stimulation by either the Serial Data Link Present or the clock/calendar time-tic or the Battery Present signals, starts the main system oscillator and then after a 500 microsecond delay, removes the system reset. Upon stimulation by the System Very Low signal or by the processor, the wakeup circuit immediately causes the system to be reset. The dead-man timeout signal will cause a 30 microsecond reset pulse to occur at two second intervals until the processor resets it. 
     5.1.11 Main Oscillator 
     The main oscillator Y25 uses an external capacitor and a charge-discharge scheme to produce a high-speed clock for the processor. This oscillator can be shut down to conserve power. It will restart immediately upon command. The frequency of oscillations is determined by the size of the external capacitor. The relationship between capacitor size and frequency, as well as the frequency stability over changes in operating environment, may be tailored in consideration of the operational environment within which the irrigation controller is used. 
     5.1.12 LCD Interface 
     The LCD interface Y29 consists of a latch on the data bus and the control circuitry needed to operate an external liquid crystal display and the DAC. The LCD interface can be configured to function as the 6502 Data I/O port. The interface is configured in this way only during a special test mode. Under processor control, a flip flop is set which alters the internal logic paths so that the LCD bus will be configured as a 6502 Data I/O port. This special test feature allows the 6502 to be tested independently of the peripheral logic. 
     5.1.13 DAC 
     The four bit digital-to-analog converter Y32 provides a voltage, as specified by the contents of the data bus, through the LCD interface for contrast control of the external liquid crystal display. 
     The performance specification of the DAC are as follows: 
     a. Resolution: 4 bits 
     b. Accuracy: ±1/2 LSB for all voltage steps 
     c. Vout=n(0.147) where 0≦n≦15 
     d. Io (min)=500 uA sink for Vout=OV±50 mV 
     e. Vo (max)=±50 mV for Io=500 uA for the DAC setting D3=D2=D1=D0=0 
     5.1.14 Address Decoding 
     The address decoder circuit Y38 uniquely maps all internal functions into page zero of the processor&#39;s memory space. The decoder produces timing and control signals for these internal circuits as well as for reading and writing of external memory. 
     5.1.15 Power Switching 
     The power switch circuit Y28 controls the power for the external ROM and display as well as the internal analog functions in order to conserve power and to permit the irrigation controller to enter a &#34;sleep&#34; mode. 
     5.1.16 Resistor Control 
     The resistor control circuit U42 permits reconfiguration of the sensor and coil interfaces to enable communication upon each of the A/D channel lines so that integrity of both valve coils and moisture elements may be self-tested. This is accomplished by selectively switching a low value resistor between the channel signal line and ground. 
     5.2 U2 ASIC Input/Output Description 
     5.2.1 CD0 - CD15 - Coil Driver Outputs 
     These pins operate in pairs, one pair at a time, when driving the coils of the electromagnetically actuated valves. One pin of the pair goes high while the other goes low in order to provide bidirectional current. Inactive coil driver pairs assume a high impedance state. When the coil is deenergized the driver circuitry must absorb the energy of the collapsing field. CD8-CD15 also function as analog inputs to the ADC. These pins have the additional capability of sinking a regulated current for testing and programming purposes. 
     5.2.2 ADC0 - ADC15 Analog Inputs to the ADC 
     These pins provide information from the coils and sensors whose integrity the processor must evaluate. ADC8-ADC15 are shared with the 8 valve lines CD8-CD15. ADC0-ADC7 are shared with the 8 sensor lines. All these 166 lines have the capability of sinking a regulated current for testing purposes. 
     5.2.3 SL - System Low 
     An active low input indicates that the condition of the power supply is such that further operation will soon be impossible. The processor, upon receiving this signal, will immediately turn off all valves in anticipation of approaching shutdown. 
     5.2.4 SVL - System Very Low 
     An active low signal indicates that the condition of the power supply is such that further operation is impossible. Upon receiving this signal the processor will immediately go into hibernation. After approximately 100 milliseconds, a hardware system reset will occur independently of the processor. 
     5.2.5 SH0, SH1 - Supercap Shunt Signals 
     If either of these signals persists in the high state for longer than 64 seconds, a Battery Low status will be generated. 
     5.2.6 BPR - Battery Present 
     An active low signal indicates that a battery is connected to the power supply so that the processor may run continuously. 
     5.2.7 S1 - S6 - Switch Inputs 
     Active high inputs with internal pulldowns go directly to the switch register. 
     5.2.8 A0 - A14 - Address Outputs 
     The external RAM and ROM are addressed by these pins. A0-A7 in conjunction with ALE also functions as D0-D7. 
     5.2.9 D0 - D7 Bidirectional Data Bus 
     The external RAM and ROM use these lines for transferring data to and from the device. The lower address bits are multiplexed with the data on these lines in conjunction with the ALE signal. 
     5.2.10 ALE - Address Latch Enable 
     When this signal is high, data transfers may take place on the D0-D7 pins. When this signal is low, these same pins are used as A0-A7 outputs. 
     5.2.11 RDYIN - Ready Input 
     This signal appears as one of the bits of the status register. RDYIN provides handshaking protocol from a distant serial data link. A low-to-high transition of this signal sets the Serial Data Link Present status bit low. The signal is provided with an internal pulldown. 
     5.2.12 RDYOUT - Ready Output 
     This signal passes the contents of data bus bit zero out of the device under control of the processor to provide handshaking protocol to a distant serial data link. 
     5.2.13 CEROM - ROM Chip Enable 
     This signal is used to enable the outputs of the external ROM onto the D0-D7 pins. 
     5.2.14 LCD0 - LCD7 - Liquid Crystal Data 
     These bidirectional signals transfer data to and from the external liquid crystal display. They are provided with internal pulldowns. 
     5.2.15 LCDEN - LCD Enable 
     This output signal enables the external liquid crystal display. This output signal can be made to exhibit high impedance with an internal pulldown. 
     5.2.16 LCDRS - LCD Register Select 
     This output signal informs the external LCD module that either data or command appears on the data inputs. This output signal can be made high impedance with an internal pulldown. 
     5.2.17 LCDRD - LCD Read 
     This output signal controls the direction of data flow to or from the external liquid crystal display. This output signal can be made to exhibit high impedance with an internal pulldown. 
     5.2.18 VLCD - Analog Output From the DAC to the External Liquid Crystal Display 
     This analog output signal is used to control the display contrast. 
     5.2.19 VL - Switched Power to the External Liquid Crystal Display 
     When this signal is switched on it provides current from the device power input VDD. When it is switched off, it sinks current into the device power return VSS. 
     5.2.20 VA - Switched Power to the External Sensors 
     When this signal is switched on, it provides current from the device power input VDD. When it is switched off, it sinks current into the device power return VSS. 
     5.2.21 VP - Switched Power to the External ROM 
     When this signal is switched on, it provides current from the device power input VDD. When it is switched off, it sinks current into the device power return VSS. 
     5.2.22 Serial Clock - Clock Input/Output for Serial Data Transfer 
     When driven by the device for outward data transmission, this signal alternatively assumes a low impedance high state and a low impedance low state. If the low state persists for more than 20 to 40 nanoseconds then the signal remains at a high impedance with an internal pulldown. In this last state, the pin may be driven by an external source for inward data transfer (reception). The clocks generated by this pin may have a rate of up to 32,000 Hertz. This pin may be loaded with up to 300 picofarads capacitance. 
     5.2.23 Serial Data - Data Input/Output for Serial Data Transfer 
     When driven by the device for outward data transmission, this signal assumes a low impedance state whenever the Serial Clock is high, and then, if the clock low state persists for more than 20 to 40 nanoseconds, a high impedance with an internal pulldown. In this last state, the pin may be driven by an external source for inward data transfer (reception). The data generated by this pin may have a rate of up to 32,000 bits per second. This pin may be loaded with up to 300 picofarads. 
     5.2.24 C01, C02 - Capacitor Connections 
     Provides a connection for a capacitor whose value determines the frequency of the Main Oscillator. 
     5.2.25 READ (WRITENOT) - R/W Signal From the Processor 
     Indicates whether a memory read or memory write cycle is in progress. 
     5.2.26 PH 12 - Processor Clock 
     This signal is high during the active portion of the processor&#39;s operation. When low, the processor is precharging its internal busses. This signal must logically combine with Read and the appropriate address decode to create the control signals to apply to external memory. 
     5.2.27 CSE2 - EEEPROM Chip Select 
     This signal is used in conjunction with READ and PH12 for external EEPROM operations. 
     5.2.28 RSTB - Processor Reset 
     This active-low signal indicates that the processor is shut down and may be used to initialize external circuitry to the correct state for processor startup. 
     5.2.29 PAGE0 - Page Zero 
     This pin goes high when the address bus is in address area 0040H through 7FFFH inclusive. 
     5.2.30 
     VDD - Device positive supply. 
     5.2.31 
     VSS - Device negative supply. 
     5.2.32 CK - Real-Time Clock Input for Clock Calendar Timer 
     The frequency is nominally 2 Khz with a 30 u second high-going pulse. 
     5.2.33 SPSEL 
     When SPSEL=1, the chip requires a 32 Khz time based on the CK input. When SPSEL=0, the chip requires a 2 Khz time base on the CK input. 
     
         ______________________________________                                    
5.3 ASIC U2 Power Supply Requirements                                     
______________________________________                                    
Parameter      Symbol   Min      Max  Units                               
______________________________________                                    
Power supply   VDD A    4.5      5.5  V                                   
All circuitry active                                                      
Power Supply   VDD B    2.00     5.5  V                                   
______________________________________                                    
Real time clock, interrupt, and battery low detection circuitry           
operative. All other circuits are at a static, defined logic              
level (therefore, not being clocked).                                     
______________________________________                                    
Active Supply Current                                                     
               Ia                6.0  mA                                  
______________________________________                                    
VDD = 5.5 v, 2 Khz Real time clock running, main oscillator               
running, processor, ADC, LCD interface logic running (only),              
DAC running, coil drivers in high-impedance state, external               
interface circuitry to EEPROM, ROM and RAM is active,                     
however, the active current of the EEPROM, ROM and RAM                    
is not included.                                                          
______________________________________                                    
Quiescent Supply Current                                                  
               Iq                1.5  uA                                  
______________________________________                                    
VDD = 5.5 v, Real time clock running, main oscillator stopped,            
processor stopped, coil drivers in high-impedance state, ADC,             
LCD, DAC are all powered off. External EEPROM and ROM                     
are powered off. External RAM is at a static, defined logic               
level (therefore, not being clocked). The quiescent current of the        
RAM is not included in Iq.                                                
______________________________________                                    
 
    
     5.4 ASIC U2 Signal Pin Requirements 
     Unless otherwise stated, the following characteristics apply over the applicable operating power supply range as specified above. All pins are protected against electrostatic discharge. 
     
         __________________________________________________________________________
Parameter       Symbol                                                    
                     Min     Max    Unit                                  
__________________________________________________________________________
Capacitance of Inputs                                                     
                Ci            10    pF                                    
Capacitance of Outputs                                                    
                Co            10    pF                                    
Capacitance of Tristate                                                   
                Ct            10    pF                                    
Input Leakage Current                                                     
                Iil  -1      +1     uA                                    
Tristate Leakage Current                                                  
                Itl  -1      +1     uA                                    
Passive Pulldown Current                                                  
                Ipd  -1      -30    uA                                    
(@ Vih = VDD)                                                             
Active Pulldown Current                                                   
                Irpd -4      -12    mA                                    
(@ Vi = 2.5 v)                                                            
VA, VL, VP                                                                
Output High Voltage                                                       
                Voh  VDD - 0.3                                            
                             VDD + 0.3                                    
                                    V                                     
Output Low Voltage                                                        
                Vol  -0.3    +0.4   V                                     
Output High Current                                                       
                Ioh  -6.0           mA                                    
(@ Voh = VDD - 0.3 V)                                                     
Output Low Current                                                        
                Iol  6.0            mA                                    
Output Voltage Range                                                      
                Volcd                                                     
                     0.0     2.2    V                                     
Output Current  Ioled                                                     
                     +0.5           mA                                    
(@ Vol = 0.05 V)                                                          
Coil Driver Pins                                                          
Input Voltage Range                                                       
                See ADC8 - ADC15 below                                    
Output Pair Drop                                                          
                Vdr  0.0     1.0    V                                     
(@ I = 45 mA, Vdd = 4.5 v)                                                
ADC0 - ADC15                                                              
Input resistance                                                          
                Rin  10 Meg         Ohm                                   
Input Voltage Range                                                       
                Vina -0.0    VDD    V                                     
C01, C02                                                                  
Output High Voltage                                                       
                Voh  0.5     VDD + 0.3                                    
                                    V                                     
Output Low Voltage                                                        
                Vol  -0.3    0.4    V                                     
Output High Current                                                       
                Ioh  -4.0    -12.0  mA                                    
(@ Voh = 2.5 V)                                                           
Output Low Current                                                        
                Iol  4.0            mA                                    
(@ Vol = 0.4 V)                                                           
All Other Pins                                                            
Input High Voltage                                                        
                Vih  2.0     VDD + 0.3                                    
                                    V                                     
Input Low Voltage                                                         
                Vil  -0.3    0.8    V                                     
Output High Voltage                                                       
                Voh  VDD - 0.5                                            
                             VDD + 0.3                                    
                                    V                                     
Output Low Voltage                                                        
                Vol  -0.3    +0.4   V                                     
Output High Current                                                       
                Ioh  -2.0           mA                                    
(@ Voh - VDD - 0.5 V)                                                     
Output Low Current                                                        
                Iol  4.0            mA                                    
(@ Vol = 4.0 V)                                                           
__________________________________________________________________________
 
    
     5.5 ASIC U2 Mechanical Characteristics 
     5.5.1 Package Requirements 
     The device is packaged in an 84-pin plastic leaded chip carrier. The package life exceeds 20 years. 
     5.5.2 Environmental Requirements 
     The limits below represent the environmental limits to which the device will ordinarily be subjected. 
     
         ______________________________________                                    
Rating          Value      Unit                                           
______________________________________                                    
Storage Temperature                                                       
                -40 to +85 deg C.                                         
Operating Temperature                                                     
                -10 to +70 deg C.                                         
Lead Temperature                                                          
                250        deg C.                                         
(4 min soldering)                                                         
Humidity        85/85      deg C./percents                                
______________________________________                                    
 
    
     5.6 Preferred Technology for Implementation of the U2 ASIC 
     The preferred embodiment of ASIC U2 is preferably implemented in the CMOS technology of NCR Corporation, Dayton, Ohio. This technology, and the design rules and standard cells therein, is discussed in the &#34;NCR ASIC Data Book&#34; for January, 1987. The equivalent technologies of other manufacturers will be realized to be equally suitable. It will be understood that the irrigation system of FIG. 2 could also be implemented using standard integrated circuit and microprocessor components in combination with a control program corresponding to that of attachment A. Such a system could be used alternately to implement the present method. 
     6.0 Variations and Adaptations of the Invention 
     Although the present invention has been taught in the context of electrical circuits that are fairly sophisticated for employing both a predominantly digital ASIC (ASIC U2), it should be understood that the functionality of the preferred embodiment of an irrigation controller in accordance with the present invention is readily realizable by diverse alternative designs. In particular, the core microprocessor of the preferred embodiment of the invention is 100% compatible with industry standard type 6502. All firmware appended to this specification will execute on a 6502 microprocessor, and is readily convertible to alternative microinstruction repertoires executing on alternative microprocessors. The circuits by which data is manually input to the microprocessor and displayed, and the control of irrigation valves, are, in the preferred embodiment of the invention, powered and sequenced to states of activity in a highly unique manner. Nonetheless, it will be recognized that alternative implementations of these circuits, particularly as consume higher power and/or operate at higher or continuous duty cycles, are readily realizable by a practitioner of the electrical design arts. Accordingly, the present invention should be considered in terms of the functions that it performs, and not solely in terms of any particular embodiment for realizing these functions. 
     Considering these functions performed, the present invention will be recognized to be embodied in methods and in an apparatus for controlling irrigation at one or more watering stations. In accordance with the invention irrigation parameters selected from one or more of; soil type, irrigation head type, terrain type, total irrigation time per watering station, exclusionary periods, water budgeting information, deep soak cycles, and syringe cycles preentered into an irrigation controller. A maximum on time for an individual irrigation cycle and a minimum off time between irrigation cycles are determined in response to and as a function of selected ones of the entered irrigation parameters. The irrigation cycles for each watering station are scheduled in accordance with and as a function of at least some of the entered irrigation parameters as well as the determined on and off times. Each watering station is controlled in accordance with its respective scheduled irrigation cycles. 
     In accordance with these and other aspects and attributes of the present invention, the invention should be determined by the scope of the following claims, only, and not solely in accordance with those particular embodiments within which the invention has been taught. ##SPC1##