CA2000119A1 - Query/response user programming of complex sequences - Google Patents

Query/response user programming of complex sequences

Info

Publication number
CA2000119A1
CA2000119A1 CA 2000119 CA2000119A CA2000119A1 CA 2000119 A1 CA2000119 A1 CA 2000119A1 CA 2000119 CA2000119 CA 2000119 CA 2000119 A CA2000119 A CA 2000119A CA 2000119 A1 CA2000119 A1 CA 2000119A1
Authority
CA
Canada
Prior art keywords
questions
datums
multiplicity
user
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA 2000119
Other languages
French (fr)
Inventor
Wyn Y. Nielsen
Steven C. Carlin
Dennis A. Kaiser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Solatrol Inc
Original Assignee
Wyn Y. Nielsen
Steven C. Carlin
Dennis A. Kaiser
Solatrol, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/255,156 external-priority patent/US5124942A/en
Application filed by Wyn Y. Nielsen, Steven C. Carlin, Dennis A. Kaiser, Solatrol, Inc. filed Critical Wyn Y. Nielsen
Publication of CA2000119A1 publication Critical patent/CA2000119A1/en
Abandoned legal-status Critical Current

Links

Abstract

ABSTRACT
A user interface, typically to an irrigation controller, prompts user responses by continuously autoscrolling questions. The questions are hierarchally organized, preferably in a hierarchal tree having approximately three to six questions on each hierarchal level between root and leaves. All command and data input may be done with only an OK/YES pushbutton switch, and preferably with additional NO, HELP, and/or STOP pushbutton switches. Each OK/YES user response affirms the premise of a currently-displayed question, and advances the autoscrolled questioning to a related branch upon a next hierarchal level.
The NO pushbutton is never required to advance the questioning which is always autoscrolled, but instead serves, while depressed, to accelerate the autoscrolling of successive questions. A HELP response invokes context-sensitive help messages. A STOP response causes reversion in the hierarchy of questioning toward the root level, but does not stop the autoscrolling of questions.

Description

2~0~9 QUERY-RESPONSE USER P~OGR~ING
OF COMPLEX SE~UENCES

The present patent application is a continuation-in-part of patent application U.S. Serial Number ~ filed September 28, 1988 for a F~EXI~ PROGRAMM~BLE IR~IGATION
SYSTEM CO~TROLLER.

BACKGROUND OF T~E INVENTION

1.0 Field of the Invention The present invention concerns electronic devices having a man-machine interface for the display of information and/or status and for the receipt of information and/or control. The present invention more particularly concerns man-machine interfaces where cost and physical size constraintslimit the display size to a few words or lines, and where, for the same reasons, a full user keyboard is impractical.
2.0 Back~round of the Invention: Man-Machine Interfaces The advent and widespread low-cost availability of microprocessors and other powerful digital logic building blocks has given rise to an astonishing array of products exhibiting machine "intelligence". This machine "intelligence"
often takes the form of increased flexibility and responsiveness to particular user dictates. The user must make his/her dictates known to the machine through a man-machine interface. The man-machine interface desirably permits detailed user control of the machine.
If a machine is to be flexibly controlled by its user at its user interface then an extensive sequence of commands and/or data must typically be entered by the user into the machine. This information entry must typically be in accordance with rigorous procedures. The required exactitude is difficult to achieve, especially to the extent that the required entries are extensive, complex, or in~requently performed.

The goal of man-machine interface design is to permit effective and efficient communication between man and machine, considering the costs to both.
At one end of the spectrum of common interfaces between men and "intelligent" (meaning variably flexibly controllable) machines is the typical interface to a complex, multi-function, digital watch. This interface is characterized by haviny a very narrow information transfer bandwidth. The user must make large amounts of data and control information known to the watch through typically but a few pushbutton switches. A
problem exists with this interface in that large numbers of people desiring to exercise the full functionality of a complex, multi-function, digital watch cannot effectively do so, or arè deterred from doing so.
At the other end of the spectrum of common man-machine interfaces is the personal computer. Information is typically entered into the computer by a keyboard or tablet (mouse). The computer typically displays information, questions, and help messages upon a video monitor. The informational bandwidth of this interface is much wider than the informational bandwidth of the user interface to a digital watch. This wider informational bandwidth is required in order to support the relatively more complex tasks that are commanded and parameterized across the interface.
A notable characteristic of the man-machine interfaces exhibiting a relatively wider informational bandwidth, such as those of personal computers, is that the man can usually elicit prompts, questions, and/or help messages from the machine.
This capability of the machine to guide the human in performing necessary procedures to enter information is designed to reduce the burden on the human, and to facilitate necessary communication.
In the middle of the spectrum of common man-machine interfaces exist a variety of relat-vely rudimentary interfaces which, although elementary, must support the human control and .

: : :- -, ~.9L~W' parameterization of machines o~ considerable functional complexity. Interfaces, and machines, in this middle range include common household appliances like microwave ovens and Video Cassette Recorders (VCR's).
A common strategy for implementing man-machine interfaces in this middle range is to use a large number of switches each of which is assigned to a particular datum, or function. Typically, a small display is controlled by the machine. A proliferation of dedicated switches costs money, and occupies considerable room. Nonetheless, when an appropriate multi-function display area shows at various times either prompts or status, and when additional display area is de~oted to printed instructions and catalogs, most users manage to use this type of man-machine interface to good effect.
Sometimes, however, the control panels become crowded with switches. The functions enabled become increasingly arcane. The cross- compatibility between the user interfaces of different products becomes nonexistent, ma~ing a user unable to transfer his knowledge and experience from one product to another.
Another problem occurs with man-machine interfaces if the number of switches and/or the size of the display is limited (i.e., the information bandwidth is constricted), or if the co~plexity of the required control is high. This problem is exemplified by the typical interface to a VCR. A
small display presents the VCR status and parameterization.
Because the VCR can be set to initiate and to conclude actions, such as recording of television, at many different times, a great number of similarly-appearing time datums are variously n~ultiplexed into the small display. The user tends to lose track of what times he~she has and has not specified, and also of his/her progress in the intricate stepwise procedures for selecting and setting a number of difrerent timed occurrences.
The programming is consequentl~ often erroneous. The userls failure to have programmed the VCR as he/she desired or :

expected typically goes unrecognized until improper results are obtained. At this time recovery is often difficult or impossible.

SUMMARY OF THE INVENTION
The present invention contemplates the user programming of complex machine control and/or data sequences by haviny the machine ask a hierarchy of questions and collect from the user one response only: "OK/YES", meaning the affirmative. Three other user responses -- NO, HELP, and STOP -- may optionally be recognized by the machine. However, no other user response other than OK/YES is ever mandated because the machine autoscrolls its questions cyclically in endless loops in a completely automated manner.
This automated presentation of alternatives ensures that the user is exposed, in the form of hierchical questions, to all acceptable directives and/or datums, one hierchical level at a time, which may suitably be entered into the machine. The user simply adopts one alternative on each hierchical level by responding OX/YES to one question on that level.
The machine then steps, in a completely logical manner, to another series of questions upon the next level in the hierarchy. At the conclusion of the several user responses the machine may routinely have been programmed with control and/or data that is, in the aggregate, complex.
In accordance with the invention the hierarchy of questions asked by the machine is typically a hierchical tree exhibiting several hierchical levels between a root level and a leaf level. An OK/YES response to a question on one hierchical level causes a branching to a related series of questions upon the next hierchical level. Progress within the hierchical tree from root level to leaf level thus requires asking only such questions at each hierchical level as are appropriate to previous branchings within the hierchical tree.

, , -:, .

za~o~

This is obviously efficient because only precisely pertinent questions are asked at each level of the hierchical tree.
ln accordance with the invention -the hierchical tree of machine-posited questions is typicall~ not a binary tree.
Instead, several questions of equal stature are preferably asked at each level, or rank, o~ the hierchical tree that normally exhibits several hierchical levels between a roo-~
level and a leaf level. The number of related questions at each level is normally not so many that the user is likely to forget the first-asked questions before the last questions are asked, and is typically approximately three to six. When the user responds OK/YES to any question, meanin~ that the question's premise is adopted by the user, then all questioning on that hierchical level ends and the machine progresses to a new series of questions upon a next hierchical level. The ~uestioning so proceeds in a hierarchy from root to branches to twig to leaf levels, with one OK/YES response being accepted to one of the typically several questions at each level of the hierarchy.
When a question on the leaf hierchical level is ultimately affirmatively responded to then the machine will resume questioning at a higher hierchical level, including commonly at the root level.
In accordance with the present invention an optional NO switch -- which switch is not required to advance the menu of questions which is autoscrolling -- is used to accelerate the presentation of questions for so long as it is actuated.
One problem with an autoscrolled presentation of questions, even hierchically organized questions, is that many questions must occasionally be asked before a question to which the user desires to respond affirmatively is asked. For e~ample, it is distinctly not user-friendly for a user to wait to confirm an hour of 11:00 p.m. in response to autoscrolled questions regarding each of the twenty-four hours starting at 12 midnight. Meanwhile, each asked question must be held ,. . . . .

. . : :- .. :

-displayed with a latency time that is sufficient to permit the user to make an affirmative response, should he or she so desire~ This problem tends to make the autoscrolling slow and the user bored, impatient, or frustrated. The present invention addresses this problem with the N0 switch.
Depressing the N0 switch accelerates khe sequencing of questions, normally by a considerable maryin that is predetermined in advance in accordance with -the complexity of the questions being asked. For example, complex questions formed from words might be accelerated in presentation by approximately 50% upon activating the N0 switch. For example, simple questions involving successive numbers might be accelerated 80%. When the N0 switch is released then the cyclic autoscrolled presentation of questions continues at the basic rate. It is, of course, not of any great consequence that a question to which an affirmative response was desired to be made should inadvertently be overrun by prolon~ed depression of the N0 switch. This is because each series of questions are presented in an endless loop, and any one question will always come around to be asked again.
Despite the fact that all questions and their ordered hierchical presentations are always as clear and logically ordered as is possible, it is always possible that a user cannot understand what a particular question is asking.
Therefore the present invention contemplates an optional HELP
switch~ Actuation of the HELP s~itch upon the presentation of any question causes the display of an expanded explanation of that question. After one or more autoscrolled help messages the user may, by response to still another question, either return to the main line of questioning or see the help messagPs again (or sometimes see still further help messa~es).
Actuation of the ~ELP switch at some or all root mode questions may typically result in help messages explaining the operation of the interface of the present invention. Mainly, the messages will explain that the user should attempt to - ~ .
- - ~ . ~ : . . , .
- : . . : .: .

,.. .: - ~ , . . . : .. . .

-, ~ : . :

answer the questions with the OK/YES switch.
The present invention further contemplates an optional STOP switch. Actuation of the STOP switch never stops the process of the machine, nor the autoscrolling of ~uestions in the previously described "interactive" mode of machine operation. To so do would be antithetical to the present invention. (If desired a mere pause might be contemplated from actuation of the STOP switch, or from a PAUSE switch.) The STOP switch causes a retrenchment within the hierarchy of the autoscrolled questioning to a level closer to the root level than that hierchical level at which scrolling is presently proceeding. The STOP switch overrides or cancels affirmative responses made since this level closest to the root level was previously entered, and "wipes the slate" of information interchange either clean or partially clean. Successive actuations of the STOP switch always eventually bring the machine to the root level of the hierchical tree of questions.
Once "automatic" operation of the machine has commenced, however, as the result of the previous user responses to questions, then actuation of the "STOP" switch will serve to halt this "automatic" operation. It does so by bringing the machine back into the "interactive" mode of machine operation with the root level ~uestions proceeding to autoscroll.
The major attributes of a man-machine interface in accordance with the invention are susceptible of various different combinations. Each man-machine interface in accordance with the present invention will exhibit at least a display within which a multiplicity of datums, preferably in the form o~ ~uestions, may be successively individually displayed. Each interface will also have an OK/YES switch or equivalent by which a man may make his affirmation or adoption of a currently-displayed datum known to the machine.
In one man-machine interface in accordance with the invention the display displays the multiplicity of datums that are particularly organized in a hierchical tree having a .

2~01;~1~9 plurality of datums at each of a plurality of levels. An autoscrolling control, typically a microprocessor, causes the display means to automatically sequentially display one datum at a time of the plurality of datums that are upon a one hierchical level in an endless loop. In this interface the OK~YES switch is manually actuable for causing (i) adoption and use by the machine of a currently displayed one of the multiplicity of datums, and (ii) the display means to display a plurality of datums that are upon a next hierchical level to the hierchical level.
In another man-machine interface in accordance with the invention the display displays a multiplicity of datums one at a time. An autoscrolling control causes the display means to automaticàlly sequentially display the multiplicity of datums one at a time. The OK/YES switch is manually actuable for causing the machine to adopt and use a currently-displayed one of the multiplicity of datums. Alternatively, a NO/NEXT switch is manually actuable for causing the autoscrolling means to cause the display means to automatically sequentially advance the display of the plurality of datums more rapidly, one datum at a time.
In still another man-machine interface in accordance with the invention the display displays a multiplicity of datums one at a time, and at other times a multiplicity of messages that are associated with the multiplicity o~ datums also one at a time. An autoscrolling control causes the display means to automatically display each of multipllcity of datums, or to alternatively display one of the multiplicity of messages and of an associated one of the multiplicity of datums, as the case may be. An OK/YES switch is manually actuable for causing the machine to adopt and use a currently-displayed one of the multiplicity of datums. A HELP switch is manually actuable for causing the display means to display a one of the multiplicity of messages that is associated with a currently displayed one of the multiplicity of datums.

: ~ ,, : .

:: ::: :
. ~
- ~: : , : .:
:": ' , : ~ : :' :

2l3C~0~9 Still another man machine interface in accordance with the invention uses the No switch to also mean "next", and thereby achieves advancement of the displayed datums without benefit of autoscrolling.
5The man-machine interfaces and man-machine interfacing methods in accordance with the invention are perceived to be especially eficacious for control and parameterization o~
machines that require lengthy and logical, complex, control sequences. A machine requiring this type of sequence typically 10requires an instruction manual, and is opposite from machines requiring pure data entry such as, typically, telephones.
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
Figure 1 is the block diagram showing elements of an irrigation system ha~ing an irrigation controller that is one preferred embodiment of an apparatus in accordance with the 20present invention;
Figure 2 is a pictorial diagram of the irrigation controller in accordance with the present invention previously :seen in Figure 1;
Figure 3, consisting of Figure 3a through 3h, is a 25schematic diagram of the preferred embodiment of the irrigation controller in accordance with the present invention;
Figure 4 consisting of Figure 4a through 4d, is a block diagram of a first, Ul, Application Specific Integrated Circuit (ASIC) used in the preferred embodiment of an irrigation 30controller in accordance with the present invention;
Figure 5a is a simplified electrical schematic diagram of the sampling capacitor array and switches used in ASIC Ul;
Figure 5b is a simplified electrical schematic diagram of a sampling compaxator used in ASIC Ul;

.

Figure 5c is a simplified electrical schematic diagram of a step-up DC-to-DC converter used in the switching regulator of ASIC U1;
Figure 6, consisting of figure 6a through 6~, is a block diagram of a second, U2, Application Specif~c Inteyrated 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 Basic Principles of the Present Invention are Explained bY Reference to the Control of a Microwave Oven The preferred embodiment of an apparatus in accordance with the present invention is an irrigation controller. The complex function of this irrigation controller, as hereinaf-ter explained, serves as a demonstration of the power o-f the approach of the present invention for query/response user programming of sequences that are complex. However, it is not necessary to consider the complexities of irrigation control and irrigation controllers in order to understand the basic principles of the present invention. It is sufficient to discuss a simpler embodiment of the invention such as might be used to control, for example, a microwave oven.
The user interface in accordance with the present invention greatly simplifies operational control of an intelligent machine because (i) the user is constantly prompted by quPstions, and (ii) all command and data input may be done with just one, and preferably with two keysO Because of the simplicity of this interface, it has many potential applications. Any device which needs to be programmed with information, and which has a small display (no keyboard is required) can potentially use the interface of the present invention. The device is typically controlled by a microprocessor. Examples of possible applications include home appliances such as microwave ovens, and entertainment electronics such as ~ideo Cassette Recorders (~CR's).
The key features of the new user interface and how it might be applied to a microwave oven are as follows. All data entry and review for the microwave oven is accomplished by actuating two switches only, namely an affirmation/seleckion or "OK/YES" switch, and a switch for causing -the acceleration of the presentation of successive questions, or "NO" switch.

.
:

::

2~0~119 A microwave oven might also beneficially use two additional switches, namely "HELP" and "STOP" switches. The "HELP" switch could elicit context sensitive help messages.
The "STOP" key could serve as a universal "exit" or nstop current action" key. A microwave oven even op-timally also have a fifth switch, a "START" switch, although this function could easily be handled with a "Do you want to start now?" question.
There is a natural tendency for the user to occasionally answer "NO" to questions posited. No harm is ever done by a correct "NO" response. The most that will happen is that the cyclic presentation of questions will immediately advance, without waiting for a normal latency period. It should be recognized that a "NO" response is never required to reject the posited option, or to advance the course of the machine's asking of questions.
The microwave oven's display initially cycles continuously between the questions:

Do you want to START now?

Do you want to SET me?

Do you want to ASX me?
.
Do you want to STQP me?

until one question is answered O.K./YES. The display then commences to autoscroll questions in the appropriate next branch of the hierarchical tree of questions.

:, ,, ~

,, ~

~01~9 The autoscrolling of the display datums, or questions, is controlled by an autoscroller control circuit, typically a microprocessor. The microprocessor typically simulates to its own operating firmware program the occurrence of an e~ual condition as would normally, in other man-machine interfaces, be expected from manual actuation of a NO/NEXT switch. Such actuations of a NO/NEXT switch would indicate "currently displayed datum is not adopted, advance to next datum". In the present interface these actuations are simulated, at a predetermined rate, by firmware. The NO/NEXT switch assumes a new function, now called NO (only) which serves to accelerate the simulated actuations, and resultant presentation of datums.
The microwave user will always know all choices possible because all questions will automatically self-advance (after a pause to let the user accept or reject the question's premise). Control options will cycle in a continuous loop until the user selects one of the options by activating the OK/YES switch. Under certain conditions, such as during a cooking cycle, the control options could be limited so that, for example, only the "STOP ME?" question might be displayed.
To remind the user that he~she must present OK/YES to select an option, a microwave oven may present a blinking question mark (?) or "OK" symbol displayed on screen along with each option as the options are displayed one at a time.
A hierarchical tree for control and parameterization of a microwave oven might be constructed, at least at initial levels of the hierarchy, substantially as shown on Table 1.
The nodes of the hierarchy are not expressed as questions in order to make the structure of the hierarchical tree more visible. However, it should be understood that all nodes can be, and are, preferably expressed as questions complete with a question mark (or other identifying indicia).
In accordance with the invention the asked questions may be global or speci~ic. A global question asks whether a user desires to adopt a particular course of machine control.

, :

~.

2~

TABLE 1: HIERARCHY OF CONT.ROL FOR A MICROWAVE OVEN

START ME?
SET ME?
COOK?
BY TIME?
SET TIME (HOURS CYCLE) SET TIME tMINUTES CYCLE) SET LEVEL tLEVELS CYCLE) BY TEMPERATURE?
SET TEMP tTEMPERATURES CYCLE) SET LEVEL (LEVELS CYCLE) BY "AUTO-COOK~'?
BAKE - PRESET PROGRAM ~1?
ROAST - PRESET PROGRAM #l?
SLO COOK - PRESET PROGRAM #l?
SIMMER - PRESET PROGRAM ~1?
~ (ETC~) DEFROST?
TIMED DEFROST?
SET TIME tHOURS CYCLE) SET TIME (MINUTES CYCLE) SET LEVEL tLEVELS CYCLE) PULSED DEFROST?
SET TIME (HOURS CYCLE) SET TIME (MINUTES CYCLE) SET LEVEL tLEVELS CYCLE) TIMING?
SET CLOCK
SET HOUR OF DAY (HOURS CYCLE) SET MINUTE OF HOUR (MINUTES CYCLE) SET START TIME
SET HOUR OF DAY (HOURS CYCLE) SET MINUTE OF HOUR (MINUTES CYCLE) ASK ME?
DIRECTIONS?
ABOUT USING OVEN?
ABOUT TIMED COOKING?
ABOUT COOK TO TEMP?
ABOUT "AUTO-COOKING"?
ABOUT TIMED DEFROST?
ABOUT SETTING CLOCK?
COOKING HISTORY?
MONTHLY POWER USE?
OVEN SELF-TEST?
STOP ME?
.

For example, "Do you want to start?", nDo you want to set me?/', "Do you want to ask me?/', and /'Do you want to stop?" would besuitable global questions for the control of a microwave oven. Specific questions ask whether a user adopts a particular datum for input to the machine. For example a display that autoscrolls through times of 12:00 midnight?, 1:oO
a.m.?, 2:00 a.m.?, 3:00 a.m.?, etc. is asking the user to select an hour which he/she desires to enter inta the machine.
All questions both global and specific are always explicit, and never implicit.
Efficient recovery from inadvertent erroneous responses can always be made. Although an erroneous response to a global question may not be immediately subject to retraction, intermediary levels in the hierarchy of questions occasionally contain escape questions, as appropriate, which, when responded to affirmatively, result in a reversion of the hierarchical questioning to previous levels, and typically to the root level.
In any case, the present invention further contemplates user confirmation of his/her responses. Affirmative responses to specific questions at the leaf level are particularly subject to confirmation. This confirmatian is itself occasionally in the form of an affirmation question followed by a disaffirmation question. (If desired, these confirmation questions can be considered to exist at the leaf level, and prior specific questions can be considered to exist at the twig, or branch level.) An affirmation question seeks ratification of the prior responses. It autoscrolls to a disaffirmation question asking if the answex now developed, and/or the control branching previously undertaken because of successive affirmative responses, is now disavowed.
If the prior affirmative responses are disavowed, in whole or in part, then the machine will revert to questioning on a previous hierarchical level. When the hierarchy is deep, and the levels many, the machine will typically revert to - . .... .

. - - :: ~ . . -:

questioning at an intermediary branch, twig, or leaf level.
From these levels it is always possible to retrench still further, and ultimately back to the root level questions. When the hierarchy is shallow, and the levels few, the disavowal of prior responses that results from an affirmative response to the disaffirmation question typically results in reversion to the root level questioning.
Certain attributes of the hierarchy shown in Table 1 are immediately observable. First, the number of levels in the hierarchy that are entered during any one programming episode varies with the response to certain questions. An affirmative response to the "START?" or "STOP?N question is an end in of itself, and does not normally cause progression further into the hierarchy (forebearing the conduct of confirmation, discussed below). For other responses, such as the setting of cooking time, more extensive levels of the hierarchy are entered.
Second, confirmation questioning twhich is only implicit in Table 1) is performed or not performed as appropriate. An a~firmative response to the nST~RT ME?" or "STOP ME?" questions will typically not result in the conduct o~ confirmation, and the microwave will typically immediately respond by simply starting or stopping. Curiously, even as the microwave oven does so start or stop the root level questions will still cycle. This means the user does not derive feedbac~
to his affirmative response from the display which continues to cycle. It is thus typical to turn on a light upon starting, or turn off a light and sound a bell upon stopping in order to provide feedback to the user that his command was accepted.
Next, it may be noted that some ~inal, or leaf level, questions have to do with control, e.g. "Do you want directions about timed cooking?'~. Meanwhile other leaf level questions have to do with data, e.g. "Do you want timed cooking for O
hours O minutes?, Do you want timed cooking for 1 hours O
35 minutes?", etc. Control and data are both forms of 2~5(~1~9 information. The questioning method of the presen-t invention permits the machine acceptance of both control and data by the user's affirmative responses.
Next, it may be noted that the nature, and conduct, of confirmation is not rigorous. Confirmation varies. Sometimes the user is not offered the opportunity to confirm his directives. Instead, the machine simply starts, or simply stops, or simply commences to display help messages, all as the user's affirmative response has directed. In other words the user need not both make an affirmation, and subsequently affirm his/her affirmation, just to start (or stop) the microwave.
The user need not press OK/YES twice to start (or stop).
Sometimes, however, the user will be offered the opportunity to confirm his directives. For example, the user will be posited a confirmation question such as "Time cook 1 hour 25 minutes, OK?". The VOK?" portion of the message means "do you confirm".
When confirmation is offered then disavowal is usually by the optional NO switch (if implemented), but may be by an affirmative response to a disaffirmation question. This subtla point deserves consideration. All control and data that is entered into a machine by a man using the man-machine interface in accordance with the present invention can be achieved solely by selective affirmative responses to questions, each by actuation of the OK/YES switch. The r~NO/~ switch is not required. Confirmation could be by use only of the OK/YES
switch. In such a case the question /'Time Cook 1 hour 25 minutes, 0~?" would be followed by /'Reset time cook?/'. If the previously entered time is desired to be disavowed then it is obviously the second question that would be answered OK/YES.
A "NOn switch is, however, commonly used for disaffirmation during confirmation questioning because application of the fundamental principles of the present invention need not be, is desired not to be, and is not intended to transpire in a hidebound and iconoclastic manner.

. . . .

' ., !,', ~

~3Cs~
- 18 ~
For example, consider the elective conduct of confirmation ~uestioning. Confirmation is typically not required after a directive (e.g., ~START!~, nSTOP!") nor after simple selection sequences (e.g., "Cook?", "Defrost?"). Confirmation is usually required after related entries, such as time-of-day, that are made piecemeal. The general "look and feel/' of the man-machine interface to the user during confirmation is such that the user seldom thinks about whether he is being asked about matters de novo or is instead being asked to confirm his/her prior lo responses. All communication proceeds normally, and naturally.
The same principles of flexibly maintaining smooth communication are applicable to the machine treatment of actuations of the optional No, HELP, or STOP switches.
Suppose a powe~ed-on microwave oven is cycling through its root level questions (shown at the left most column of Figure 1) and someone is pressing, and repressing, the optional "STOP"
switch. What is it likely that this person wants? Does the person want to continually revert to the first root level question "Do you want to START me?"? Of course not~ The person, perhaps in a panic stricken state, is probably trying to turn off the microwave. This turn-off would otherwise be accomplished by an affirmative response (depressing the OK/YES
pushbutton switch) to the root level question nDo you want to STOP me?". In accordance with the probable user intent, the implementation of a man-machine interface in accordance with the present invention is not hidebound in insisting that all control and communication must invariably transpire through the OK/~ES switch. Instead, the interface will generally respond to each switch as is appropriate for the current progress of questioning in the hierarchy of questions in consideration of the operational state of the machine. For the example of pressing the "STOP" switch on the microwave at its root hierarchical level, the microwave oven will be turned offO The user is not concerned with an analysis of the logic, and logical consistency, of the machine function. To him or her 2~

the machine response appears norm~l, and friendly.
The man-machine interface in accordance with the present invention cannot be misdirected sufficiently so as reach a communications impasse between man and machine. A
machine, in accordance with the present invention, that is programmed to ask the hierarchy of questions simply considers, for each question, what a user probably wants if he/she activates any of the OK/YES, NO, HELP, or STOP switches while that question is displayed. A program jump table is constructed accordingly. All jumps are taken not to some program location wherein the machine sits deadenly, waiting for input from a user who doesn't or can't understand where the machine is and what he/she must do next, but instead to a program location that causes the cycling of questions. The interface never, never goes "dead" or "dumb".
The ability of the man-machine interface in accordance with the present invention to adroitly step up and down the staircase levels of a hierarchical tree no matter what switch is pushed is one reason why people who have never seen or exercised the interface, and who commonly make many "mistakes"
in their attempts to use the interface, can nonetheless accomplish satisfactory machine control and parameterization by use of the interface.
The autoscrolled presentations of the hierarchically organized questions and the optional help messages constitute a sufficiently powerful form of man-machine interfaciny so as to be, in many cases, self-teaching. A person who has never sean a VCR, a microwave oven, an irrigation controller, or any other machine employing a man-machine interface in accordance with the present invention is anticipated to be able to attain some success at communicating with the machine totally without instruction. Hitherto challenging machine control and parameterization exercises like setting the time-o~-day clock on a VCR are anticipated to be extremely stralghtforward.

- : - .. , - . . . :. . :

2.0 Features and Benefits of the Preferred Embodiment of Man-Machine Inter~ace in Accordance with the Present Invention The preferred embodiment o~ a man-machine interface in accordance with the present invention is incorporaked in an irrigation controller. This irrigation controller in accordance with the present invention is light-energized with a built-in incident light collector. It exhibits su~ficient 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 (~uestioning) in accordance with the present invention is implemented. The user is guided through the programming process with easy to understand two-line "prompts,"
thus substantially eliminating confusion, mistaXes, and requirements to repeatedly reference printed or human authority.
Two-button programming with "best guess" defaults is used for all settings. All programming is done by answering simple ~ue~tions with OK or NO answers in accordance with the present invention. The controller automatically gives the user "best guess" defaults where applicable.
An on-line help feature in accordance with the present invention gives directions and information for each operational mode and parameter insertion. These on-line help messages are available at any time by pressing a ~IELP 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 conkrolled systems, or, æ~

alternatively, multiple unrelated controllers on various sites can be centrally managed by optional multi-programming equipment.
Each of the 8 sta-tions for a single controller unit can be independently programmed within one of six dif~erent runtime modes (Mini, Autosplit, Ration, ISC, One-Time, and Special.
This gives the Irri~ation Controller great programming flexibility. Options for (i) simplified "Mini" setups, ~ii) "Autosplit" setups with automatically programmed split cycles lo and sequential non-overlapping operation, (iii) "Ration" setups for odd/even (day of month) water rationing, (iv) "ISC" setups with complete independence between stations, (v) "Special"
setup for lights, fountains, and pump-start relays, (vi) periodic or one-time "Add-on Soak Cyclen setups, and (vii) for multiple nAdd-on Syringe Cycle" 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 "soak cyclesn can have a duration of up to 8 hours.
A calendar is maintained based on nperpetual calendarn data in permanent memory. Schedules may be established for specific days or every nso manyn days. This permits flexible day cycles for irrigation, and allows different stations to operate on different day cycles.
up $o 128 automatic starts per day are enabled, thereby meeting the most demanding applications.
The controller'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 ItoffN time~
A System Budgeting Factor of 10 to 2Q0% acts to determine the numbers of split cycles. The System (water) - - , . .

,: . . . ~ - :

2~0~9 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's scheduling to be set up.
An Integrated Moisture Sensor conkrol wi~h programmable nwet" and ndry" 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 "Excluded Time Intervals". 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 "Excluded Time Intervals" when no watering is desired.
For very simple applications a nMini" 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 "IS~" setup mode. This allows in~ividual stations to be watered at different times on different days, and it also allows several stations to be runn:ing simultaneously for special applications where there are no hydraulic pressure or supply limitations. Another option, the "Special setup", can be used for control of non-valve devices such as pumps, or lighting equipment.
One-time or periodic "Soakn cycles can be overlaid on any regular watering program. This feature can be used for watering in fertilizer, for periodically deep watering trees 2(~
~ 23 -and shrubs in turf areas, and for periodica:lly leaching salts in drip applications.
~ ultiple daily cooling or frost-wipe NS~ringen cycles can be overlaid on any regular watering program for any pre-programmed month(s) when needed. These cycles help preventwilting and scorchin~ of plant materials durin~ 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 "Ration" setup mode. This allows for odd/even water rationing schedules to be easily programmed - where this is mandated by law.
A programmable "Delay Start" permits watering to be suspended for up to 14 days during rainy weather, and at the end of the programmed "Rain Delay" the re~ular watering schedule will automatically resume.
A special "View Info" 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 "Test Sequence" allows each valve to be operated in se~uence for one to ten minutes. This allows the irrigation system to be easily periodically tested. The 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 ,~

: .. ~ , : - . ... . . ..

- : . . ::: ... . ,: : :

~` ~0~
- 2~ -the "One-Time" setup. This allows the user to do a one-time soak for watering in ~ertilizer or new plantinys. The controller then automatically reverts to the automatic "Run"
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 code~ can be easily changed as operating personnel change.
2.1 Functions Performed by the Preferred Embodiment of an Irriqation 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, ~M, and EE
memories of the controller.
2.1.1 Basic Function of Settinq Up an Irri~ation Schedule The preferred embodiment of an irrigation controller in acc~rdancQ 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 "on" time of an individual irrigation watering time and (ii) the minimum "off/' time between successive irrigation cycles. A typical table with times in minutes is as follows:

Table 1. Lookup Table for /'Onr' and /'Off/' Times of Irrigation Split Cycles MAX ON
: HEAD LEVELHILLY LEVELHILLY LEVEL ~ILLY MIN OFF
TYPE SA~DSANDLOAM LOAM~LAYCLAYSANDLOAM CLAY

R~TOR 8 8 16 8 8 5 30 30 30 2 0 IMPACT 8 8 16 8 8 5 30 30 ~0 (The maximum ON values in this lookup table were calculated by dividing the maximum precipitation rate for each type of sprinkler into the minimum 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. ~oam 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 O~F times are based on field observation.) ~0 The preferred embodiment of the irriyation controller further receives, e.g., by manual data input, a specification of the desired total irrigation time duration fox each station.
The controller calculates the number of irrigation cycles within the irrigation schedule for that station as.
~5 # cycles = total irri~ation time duration maximum non" time duration For example, for a station irrigating hilly terrain, loam, soil, with a microspray irrigation head the number of cycles .: .

, , ~ ,: :. :: .:
, ,:: . : .

~001~

for a total irrigation watering time of 30 minutes is:
number of cyclesS~tlon n = 30 min = 3 cycles (of lo min each 10 min 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 o~ 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 ~y use of (i) the minimum irrigation "off" time, and (ii) the maximum irrigation "on" time that now becomes the i 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 'ronN times ~ollowed by "off" 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:

.. . . . . ..

- 2~0~

Time Station #1 Station #2 . . . S-tation #8 12:00 mid. on off off 12:05 12:10 of~ - ~
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.

- :: ;.: - :- .,,, , :~.: ::: :-, .. , ~, - ~6,~9 If station #2 is also enabled under the same circumstances the combined irrigation schedules will be as follows:
.

Time Station #1 Station #2 . . .Station #3 12:00 mid.on off o~
12:05 12:10 off on 12:15 12:20 - o~f 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 irriyation was by station #2 was during the period 2:00 to 2:10 a.m. The cycles recommence the following day.
., ~0 :

, -- ~oo~

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 lo 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 of~ on 1:35 - _ _ 1:40 - off 1:45 - - -1:50 1:55 2:00 2:05 etc.

The last ~rrigation 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 staxts 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 "on" and minimum "offN

; 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's cycle to insert in an~ given window is determined by (i) which station has had the longest wait for a t~rn to h~ve an irrigation cycle, and if two stations have equal waits then by (ii) the lowest numbered station first.
2.1.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 (of~) during the exclusion interval, and resume to completion after the exclusion interval. This in es~ence adds an extra split watering cycle.
2.1.3 Budqetinq of Irriqation - 25 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 budgeted total irrigation time duration =
budget factor x total irrigation time duration For example, if the budget factor is 200% and a station's total irrigation time is 1 hour, then budgeted total irrigation time duration = 200% x 1 hour = 2 hours .: . , . , ~ :

The controller then proceeds to calculate a budgeted number of irrigation cycles in consideration o the maximum Uon" time derived from the table lookup as budgeted number of cycles = budgeted total irriqation time duration maximum "on" time duration For example, for the hilly terrain loam soil irrigated with a microspray irrigation head:
budgeted number of cycles = 2 hours 10 minutes = 12 cycles 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.
2.1.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 ti) 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 ; 40~ duration 1 hour. All other irrigation cycles at other stations 2~t)0~:~9 may be shifted in time-of-day but will otherwise proceed normall~. 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).
2.1.5 Syringe CYcles ~ yringe cycles are implemented in the preferre~
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's (i.e., station #l) initial syringe cycle occurrence, (iii) start time of the first station'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 sta~ting 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 lO:oO to 10:0~ 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 2 Overview of the Preferred Embodiment of an Irriqation .
Controller The preferred em~odiment of an irrigation controller - 5 in accordance with the present invention uses ~ight Energized Irrigation Technology (LEIT~). It can operate w~th the amount of incident light available in northern latitudes on a worst-case cloudy winter'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 o~ the controller, with its cover plate removed and operator's panel area exposed, is shown in Figure lo Controller 1 is typically atiached 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 electricaI 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.

,; -' :

- 2~Q(;!l:~

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 ~O switch 24 and the OK switch 25 are used to answer controller-presente~ questions about the installation and the parameters of irrigation (e.g., the watering schedule) and to enable selectable readout o~
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 "programmingN 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 "programmed". In some cases the act of "programming" at the operator's panel will a~ter the flow, as well as the parameters used, within the firmware; thus constituting a for~m of nprogramming" at the process control level. The word "programming" 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.3 Talkinq to the Irrigation Controller The key features of the user interace to the irrigation controller in accordance with the present invention are as follows:
2.3.1 All Data Entry and Review is Accomplished by Usinq Only Two Keys These two keys are labeled "OKN and nNOn. Two other supplemental keys are present on the control panel for the LEIT
Irrigation Controllers. These keys are the "HELP" and nSTOPn keys. The nHELPn key provides context sensitive help messages, and the "STOPN key serves as the universal nexitn or "stop current actionn key.
2.3.2 The User is Prompted T~e 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:

¦ DO YOU WANT ¦ ¦ OX ¦---> Set up syringes.
SYRINGES?
NO ---> Don't set up syringes.

A complete listing of the different messages that are, at times, displayed by the irrigation controller in accordance with the present invention is attached to the present specification as Appendix B~
2.3.3 The User Always Knows His/Her Choices The user always knows all the choices possible because all menus and number entry screens automaticlaly 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 blinkinq ~ symbol displayed on screen along with each option as the options are displayed one at a time.

. . ......... .
,, ~o~q ~

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 ~or the appropriate number or menu item to appear on the display, and then pressing OK. A blinking underline (_) acts as a cursor to tell ~he user which number is being entered when multiple sets of numbers are displayed on the same screen. For example:
.
Stn ~1 Syringe Duration = 1 m Automatic Advance ---> Changes the number Stn #l Syringe Automatic Duration = 2m Advance ---> Changes th~ number ¦ Stn #l Syringe Duration = 3m x ¦ OK 1---> Station ~1 is set to syringe for 3 minutes.

2.3.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:

CHOOSE ONE tOK) OK ---> Select ENTER SETUP from ENTER SETUP? K list of options.
NO ---> Don't select SETUP, but go to next option.
After the user advances the display by pressing the UNO" key 55 tor waits for it to automatically advance), the display reads:

,: . :, ~,., - : ; :
- -za~

¦ CHOOSE ONE ~OK) ¦ ¦ OK ¦ ---> Select RUN form list ~UN STATIONS? g of options.
__ NO ---> Don't select RUN, but go to next optlon.
2.3.5 Each EntrY Is Confirmed or Reiected 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 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. ~or example:

~ Stn #1 Waterlng OK ---> Confirms a setting Duration=oh+lom x of Oh+lOm.
NO ---> Rejects setting; lets user change it as desired.
After entering the new setting, users again get a confirming screen to let them accept or reject the new setting.
2.3.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:

Use SAME setting OK ---> IJse station #l setting ~O for Station #2? for Stn #2.
NO ---> Don't use same setting;
enter new one for Stn #2.
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 yo back and change the settiny. This is because the user automatically gets a confirm screen a~ter copying the settings to the next station.
2.3.7 The STOP and HELP Keys Besides the OK and NO keys, there is a HELP key for getting instructions ~rom the controller, and a STOP key ~or stopping whatever the controller is doing.
2.3.7.1 Usinq 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 $he user is finished reading the message, he/she will be asked if he/she wants to NRepeat the message?" Pressing NO removes the help message and returns to what was previously displayed.
See Figure 1 for the location of the keys.
2.3.7.2 Usinq 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-AUTO~TIC or STAY IDLE/OFF modes.
If the user is entering or retrieving in~ormation 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 agaln.

'', . ' ' ~' ,', OQl~l9 _ 39 -3.0 Controller Functions The operation of the irrigation controller is organized into four main groups of functions called l'Modes". 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.
3.1 1 Usin~ the Menus - In order to use one of the Modes, the user starts at the nMain Menun Screen (which reads "CHOOSE ONE (OK)n) 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 "EXIT now?"
and if the user presses OK the "main menu" 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 "Main Menu".
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 2~ 9 ~ 40 -Table 2. Funtional Mode Specification ~ - ' NOTE: Removing POUER~EY po~er source j INSERT POUER KEY j anytime before SELECT FUNCTION will continue Current Function ~e.g., Automatic or Semi-Auto) I ~ , NOTE: STOP KEY inactive from time POUERKEY
1 0 I DIRECTIONS? ~OPTIOHAL) I po~er source inserted until after SECRET
CODES are entered. ~henever STOP KEY is active, it al~ays turns off any valves that ~ are on, and returns to CNOOSE ONE ~OK) I SELF TEST (OPTIONAL) I option list.
l I _ I
L _, , I
SECRET CODE? ~OPTIONAL) I ¦ STOP KEY
I I

ISTOP CURRENT RUN? j ~ STOP ALL VALvES
L
2 5 I -~
I CHOOSE ONE ~OK) T

~ _ ~ 1 i VIEU ENTER RUN STAY
I INFO SETUP? STATIONS? IDLE~OFF~

i ¦ See SET ~ I j SETUP AUTOMATIC SEMI MANU~
I Directions¦ SCHEDULES I ALT I SYSTEM ¦ RUN ¦ ¦ AUTO RUN
i See l ! SCIHED. ! _ History i~ L_ j 3~
See I Mini I I Mini I I Enter I Start l Start Semi-¦ ~ Test Run Totals I Autosplit Autosplit System I Automatic Autom~itic Sequence Ration Ration Settings Uatering: Uatering Do Self ISC ISC Or One Operate Test One-Time One-Time Test & Basic Time Soak Valves 5 0 I : Special I Special ~ I Identify I I Setup + I l l E~it No~ l I I Uires I I optional I ¦Then go to I I Read add-ons ! ~ TOMATIC ¦

- - , , , - . . , ,, ,,~,, ~o~

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 "STAY IDLE/OFF". The controller will keep all the usex'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 chooses RUN STATIONS, followed by either AUTOMATIC
RUN, SE~I-AUTO RUN, or MANUAL RUN.
3.1.2 Initializinq the Irrigation Controller The user opens the POWERKEY~ power source by removing its screws. The user snaps in a fresh 9V battery (alkaline type) and reassembles the POWERKEY~ power source. The user unlocks and opens the controller'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 constant enabled and the front panel is lighted for night time convenience.
While the unit is charging, the following message flashes intermittently:

, :

Z~119 ¦ Charging Please wait...
.

When charging is completed, the display will then show:

r Press OK when most readable The contrast of the display will chan~e once a second.
The user should press the OK key when the display is the most readable. The different contrast levels are numbered ~rom 1 to 5 for convenience.
25 3.1.3 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 valves 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.
3.1.4 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:

ENTER SECRET
CODE = 000000 ~5 The user should enter the six digits by using the NO and OK key as described earlier. The irrigation controller will check to 50 see if the entry matches the code that was entered during the Secret Code Set Up. The controller gives two chances at entering the correct code. After that, it will not respond to `'`

any key presses for 10 minutes.
3.1.5 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:

Welcome to the Controller Want Directions~
(Press OK or NO) 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.
3.2 How to Set Up The Irriqation Controller 3.2.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.

- . . i .

Z~3(~

3.2.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:

SETUP SYSTEM : SETUP SYSTEM :

Set Time/Date? K OR Setup Sensors? R
SETUP SYSTEM : SETUP SYSTEM :
Set site Info? K OR Set User codes? K

SETUP SYSTEM : SETUP SYSTEM :
350 Do Wire check? x OR EXit Now? R

I SETUP SYSTEM : l L Setup Stations? OK ¦

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.
3.2.2.1 Time Set UP
The user should select Set Time/Date from the SETUP
SYSTEM menu to see or set ths present time and date setting for the controller's internal clock. The display shows the current time and date:

Time is 10:00 am FRI MAY 6,'88?

The user should verify the time by pressing OK. To change the time, the user presses NO and the display will show:

~"

~)0~19 - ~5 -Time : 10:00 am _ then 10 r Time : lo:OO am I I then ¦ Time : 10:32 am MON then ¦ Time : 10:32 am FRI JAN then Time : 10:32 am FRI MAY _1 then _ ~ :
Time : 10:32 am FRI MAY 12,'88 then ¦ Time : 10:32 am FRI MAY 12,'88~.
_ .

55 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.
3.2.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:

~`
, . .
- . " : ' : .: , ':.

:: . . , . ~ . . ;
.

~0~

¦ Stn 1: Level sand, ~ at sprays? R ¦

If this is incorrect for the particular site in question, the user presses NO and the screen changes to read:

Stn 1: Site Info level sand? R

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 OX.
The next screen reads:

I Stn 1: Site Inf ¦ Flat sprays? R

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:

Stn 1: Hi1ly loam lawn sprays? R
_ 3.2.2.3 Setup Stations The user should employ this SETUP SYSTEM function to tell the controller which wires reprPsent which station numbers. Unlike conventional controllers which have terminal strips that must be wired 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 "Wire Checking".
3.3 Wire Checkinq After a jacketed pair of wires has been run from each valve and sensor back to the controller, the user should select Do ~ire Check from the SETUP SYST~M menu. Checking of the val~e wiring and sensor wiring are done separately.
3.3.1 Do Wire Check The controller will check each valve wire and show its findings on the display:

Valves: VsVVVsoo starting at top 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 re~air can be made and the number assigned - . ~

- ~o~

laterO Alternatively, it may be recognized that the user may intentionally create shorted valve wire pairs at the valve end, and the controller ma~ 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 "V", the user should then press the OK key. The user may of course press STOP at any time to abandon wire checking.
3.3.2 Assi~n Station Numbers Setup Station allows the user to`assign station numbers to the valve positions. The first display reads:

View Current Station IDs?

The default ID is:

Current ID (from TO?): 12345678 x ., .
The next screen reads:
_ Enter new Station IDs?
~5 _ ;~ If the user wants to change the station ID numbers, he~she presses OK. The next screen reads:

oo~

_ _ 5 stations wired: ID all 5?

- The controller display now reads:

Stn #s: --------Unplug #l to ID!

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 #l 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 #l 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:

Stn #s: --l----Unplug #2 to ID!
_ 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 "-" signs):

, . . . , , ~ , . .. .

2~001 ~

Stn #s: 35142---SAVE new ID ~.

When all valves with wires attached have been assigned numbers, the user is asked if he wants to /'SAVE new ID?" If no wires are attached to one or more of the terminal strips (or lS if there are wires attached, but there is a break in one of the wires causing an Nopen" 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 "open" 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 valves connected to the controller, the user can then check the operation of the valves manually by using the MANUAL MODE.
3.4 How to Enter Waterinq Schedules 3.4.1 Schedule Set Up Types There are five 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 five types of set ups, three 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 order:

SET SCHEDULES: SET SCHEDULES:
Use Mini? K OR Use Autosplit?

~ SET SCHEDULES.

¦ Use Ration? R ¦

The two choices for Optional Add-On Setups are:

235 ¦ SET SCHEDULES: ¦ ¦ SET SCHEDULES:
¦ Use One-Time? x ¦ OR ¦ Use Special? x ¦

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).
3.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 ,, ' ~0~1~

I~ 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's self-prompting data entry screens. The Watering Chart will also be useful for keeping records of how a controller(s~ is (are) programmed.
3.4.1.2 The AUTOSPLIT Set UP
The AUTOSPLIT Set Up will meet the user'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 "Split Cycles" 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 Por 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 2.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.

Sample I~MI~I SET UP~ Wat~ring Chart B) Water Cycle:
Water on specific days of the week? NO _ Water every "so many" days? YES
. _, _ VALVE #1 VALVE ~8 SETTINGS SETTINGS

15100% Watering Dur. ~ 100% Watering Dur:
= O hrs t 20 min. = 4 hrs + 00 min.
Watering Day Cycle Watering Day Cycle 20= Every 2 days = Every 10 days ~OR} (OR}
Watering Day Cycle Watering Day Cycle 25= M W F = Saturday Every: Every:
1 wee~ 2 weeXs 30Start Time Start Time = 5:30 am = Sequential Table 3.
. , 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 contrcller 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 , , .: :

. : ." : :~:

~ ~v~

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, i~
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 wh~n the user does not want any watering to occur, the AUTOSPLIT Set Up allows the user to enter an nExcluded Timen 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 "AUTOSPLIT SETUP"
watering chart is contained in the following Table 4.
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 .. .

~30~1~g A* Water Cycle:
Water on specific days of the week~ NO
Water e~ery "so many" 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 Exc.luded 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:
lh+OOm lh+OOm .
VALVE #1 VALVE #8 : SOAK TIMES SOAK TIMES
Soak Duration: Soak Duration:
0 hr: 40 min 2 hr: 0 min .~ Every: 14 days _ _ Ev==y~ ;0 a~
Table 4. Sample "AUTOSPLIT SETUP" Watering Chart ;

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.
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 .~

'' ~0~
-Table 5. Soak ~uration Lookup Table SOIL SPRINKLER # OF SOAK SOAK # OFSOAK SOAK
TYPE TYPE PRECIP MAX ON SPLITSDURATION DEPTH MAX ONSPLITSDURATIOU DEPTH
(IN/HR~ (MINS) ~MINS) (INS) (MINS) (MIUS) tINS~
Sand Flat Spray3.0 3 7 21 38 3 7 Zl 38 Sand Lawn Spray2.0 S 7 35 42 5 7 35 42 1 0 Sand Rotor Head1.2 8 7 56 41 8 7 56 41 Sand Impact Head 1.2 8 ~ 56 41 8 7 56 41 Sand Stream Spray 1.2 8 7 56 41 8 7 56 41 Sand Microspray0.9 10 7 70 38 10 7 70 38 Sand Drip Emitter 0.3 30 7 210 38 30 7 210 38 Loam Flat Spray3.0 6 6 36 38 3 12 36 38 Loam La~n Spray2.0 9 6 54 38 S 12 60 42 Loam Rotor Head1.2 16 6 96 40 8 12 96 40 Loam Iwpact Head 1.2 16 6 96 40 8 12 96 40 2 0 Loam Stream Spray 1.2 16 6 96 40 8 12 96 40 Loam Hicrospray0.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 2 5 C~ay La~n Spray2.0 5 16 80 41 3 16 48 24 C~ay Rotor Head1.2 8 16128 39 S 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 Microspray0.9 10 16160 36 7 16 112 26 3 0 Clay Drip Emitter 0.3 30 16 480 36 30 16 480 36 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 "Review All ON Times?" Just as with khe 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.
3.4.1.3 The RATION Set Up The RATION SETUP can be used in cases where there is mandatory "odd/even" water rationing in effect in the user's area. This setup is similar to the AUTOSPLTT SET UP, except that it allows the user to specify whether he/she wants watering to occur on "odd" or "evenN 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 "odd/' or "even" 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.
3.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 runof~ 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-~IME Set Up the user goes into the Semi-Automatic Mode and enters the basic set up that he/she wants to use. The controller does the One-Time Watering or Deep Soak Cycle when the user removes the POWERKEY~
, Zl30~

power source as instructed on screen, and then reverts to the basic set up that the user has selected.
3.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. 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.
3.5 Step-by-Step SETUP SCHEDULES Instructions After selecting SET SCHEDULES the user sets up the valves in one of the following five ways:
1) Using the r'MINI SETUP" Watering Set Up, or 2) Using the "AUTOSPLIT SETUP" Watering Set Up, or 3) Using the "RATION SETUP" Watering Set Up, or 4) Using the "ONE-TIME SETUPn Watering Set Up, or 5) Using the "SPECIAL SETUP" Watering Set Up The user need only to sel~ct 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.

~01 Each of the five 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 "on" and "off" in the SEMI-AUTOMATIC or AUTOMATI~ RUN Modes.
The "Mini" and "Autosplit" Valve Setups are next described in detail.
3.5.1 "MINI" Valve Set U~
If the user chooses MINI from the Set Schedules Menu (list of choices) then the display will show the following autoscrolling list of choices:

¦ Mini Setup: ¦ ¦ Mini Setup:
¦ Review setup ? I OR I Modify setup ?
_ _ _ Mini Setup: Mini Setup:
Do New Setup ? OR EXIT now ?

The actual display will depend upon whether or not the user has previously entered a MINI Set Up, i.e., if no Mini Setup exists the Review Setup and Modify Setup options are sklpped. The N0 key is used ~o switch back and forth between these screens (if necessary). "Do new setup" 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) .:

~ ~6~1 ~
HOW OFTEN to water (Watering Day Cycle), and WHEN to start watering(Watering Start Tlme 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:

¦ Stn #1 Watering I Duration=_Oh~ Om 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 dùrations 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.
; 30 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:

Ml 100~ Watering Duration=lh~2Om ~

If the user enters a duration of Oh+Om, the controller will ask:

-~ 2~0~L~I~

¦ NO Watering for I Station #1 R ¦

After the user confirms the minutes for Station 1 by pressing OK, he/she is asked:

Use SAME setting for STATION #2 ?

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 or each station. How the user sets the Watering Day Cycle depends upon whether the user selects a Specific Days or an Every "So ManyN Days cycle:

M* Water Cycle : M* Water Cycle :
450 Specific,days ? OR So Many" days ?

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 "NO"
or waits 2 seconds and then the other choice will be displayed.
The user presses "OK" to select the Water Cycle he or she wants to use.

:, . .
. ` .. . .. : .

In most cases watering every nSO many" days (for example, every 3 days) givas 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 ~or the MINI SETUP.
The user cannot mix Specific Days and nsO ManyU Days Water Cycles.
If the "specific days" method was chosen, then the display reads:
.
Stn 1 ON: --~
ON days: MON ~ x .

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:

Stn 1 ON: M------ON days: TUE ~. ~

The day(s) selected is (are) determined by its (their) place on the top line of the display. For e~ample, 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 settin~s. For example, if Monday, Wednesday, and Friday is entered, the display reads:

..
. ' ' ` ' ~ ~

, stn 1 100%= Oh+20m Every M-W-F-- ~

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:

¦ Stn 1 100%= Oh+20m ¦
Every 1 wk 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 /'Specific Days/' method was not chosen, the display shows the "Every So Many Days" cycle:

Stn 1 1~0~= Oh+20m Every 1 days As usual, the user must use the "No" key (or let the numbers automatically advance) to change the setting and the nOK~ key to select the desired one. "~very 1 days" means every day, '~Every 2 days" means every other day, etc. The user can select watering day cycles from every day to every 90 days in one day increments.
~fter setting the watering day cycle for Station #1, the user is asked "Use SAME setting for Station #2?n The user can either do this or change the setting as desired. Thus, the user can water every day for Station #2 even thouyh 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 :, - z~ g 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:
_ Do you want an Excluded Period?

15 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:

Excluded Period:
_2:Midn The user should actuate the NO key (or let the numbers automatically advance) to set the beginning or "~xcluded FROM
3Q Time" for his/her excluded time Nwindow.n As the user ~or the controller) advances the hour, the am and pm indicator also changes. The user should he sure that the hour reads "am" if he/she wants the Excluded Time Interval to start in the morning (am), or else "pm" 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 NExcluded FROM" Time. The user is next asked to ente~
the ending or "Excluded TO Time" for his/her excluded time "window":

. . . . _ Excluded Period:
lO:OOam-10: am The "Excluded TO" time can never be before the "Excluded FROM" time, so the default value for the "Excluded TO" time is always the same as the "Excluded FROMn time. The , : . ... , :

user employs the NO key (or lets the numbers automatically advance) to set the "Excluded TO" 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 khe user might set an Excluded Time Interval FROM 7:00am TO 7:00pm.
The user is next asked to enter the Start Time for the Mini setup. The display shows:

Start Time each ON day = 12:Midn 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 r'NO" key until the hour desired (for example, 6:pm) is displayed (or let the controller automatically advance the hour), and then press "OK." 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:

Start Time each ON day=12:00am For midnight; OR

Start Time each ON day - 12:00pm For noon The user should change the minutes setting if desired by pressing the "NOn key (or letting the numbers auto-scroll~
until the time wanted is displayed (for example, 6:15 pm), and then press "OK." The display then reads:

. _ _ __ _ Start Time each ON day = 6:15pm 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:

Mini setup:
SAVING new setup After a 2 second delay the following auto-scrolling menu appears:

~ Mini Setup:¦ ¦ Mini Setup:
I Review Setup? K ¦ OR ¦ Modify Setup?

¦ Mini Setup:¦ ¦ Mini Setup:
¦ Do New Setup? K ¦ OR ¦ EXIT now? R ¦

If the user selects "Review Setup" from the menu, he/she can view, but not change, some or all of the current settings.
"Modify Setup" also allows the user to step through some or all of the settings, but pressing NO when in modify mode allows the user to go back and change the currently displayed setting.
If the user elects to review the settings, the display will read:

¦ Review I Basic setup ?

The user should confirm that he/she wants to review the basic setup by pressing "OK. n 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 /r~n character at the end, to remind the user that he/she needs to press OK to see the next screen. Depending on whether the "Specific Days" or nsO Many" Days mode is selected, thè display format will vary as shown below:
¦ Stn 1 100%=lh+20m ¦ for specific days with multiple L every M-W-F-S ~ ¦ days per week selected OR
¦ S~tn 1 100%=lh+20m ¦ for specific days with only one day ¦ on Mon @2wks ~ I selected, where @2 wks = every 2 wks OR
Stn l 100%=lh+20m Every 2 days ~ for "so many" days mode The user should press nOK" to review the settings for the next valve station. The user should keep pressing "OK" to view the settings for all the active valves. Pressing "NO"
while in this "review" mode will allow the user to jump to the next review item. For example, pressing nNO" 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 "?", and pressing nNOn 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:

- :, z~

Review daily schedule ?

If the user wants to skip this start time review, then he/she should press "NO". The user will then be returned ko the Review/Modify/Do Mew Setup/EXIT now screen. If the user decides to proceed with reviewing the daily schedule, then he/she will be asked the following question:
Water Budget to use = 100% ?

The user should press "OK" to confirm a Budget Factor of 100%, or use the nNO" 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 "So Many"
Days mode, the screen reads:

Review for where day #l is today, day #2 is Day = #l tomorrow, etc.

whereas in "Specific Days" mode the screen reads:

Review for Day = MON

In either case, the user should select the appropriate day number or name by pressing the "NO" key, and then hitting "OK" to confirm his/her selection. In the "So Many~ 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 l, 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 "Specific Days" the user is then asked an additional question:

Review MON
for week = #1 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 #~.
After the user has set the budget and day for review, he/she will get the following message screen:
Press OK to see ending time OR

35 When the user presses OK, the following screen is displayed:

¦ Watering ends at 6:17 pm ~

After pressing OK again, the following screen appears:

Press OK for to see each ON time x . .. : ~:

The user should press nOK" and the Start Time for the first active valve will be displayed as follows:

I Stn 1 ON l of 1 -lh+2Om ~ 6:15pm x The user should Press "OK" again and the controller generated start time for station ~2 will be displayed:

Stn 2 ON #l of 1 =
oh+15m Q 7,:35pm R

~ The user should keep pressing "OK" to view the start 5 times for all the other valve stations. When the review is finished the display reads:
, Mini setup:
Review setup ? R
.

The user should press nOK" to start the review process over again.
3.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 "excluded time" 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 skation 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, a~d with optional soil sensors can program Nsoak" and "dry" limits for integrated soil moisture sensing.
10With all these powerful features, the AUTOSPLIT setup is still easy to program because tha controller prompts the user with all the right questions, and gives him or her the best guess "default" 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 A~TERNATE AUTOSPLIT setup available. The "AUTOSP~IT" and nALTERNATE AUTOSPLIT" 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 i~ 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 o~ 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 sta~ions thak ~he user wants to water on Saturday every other week. Once the user enters the 100% Duration and the Watering Days Cycle ~or 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 ti.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 summariæed 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:

Stn 1 100% Watering Duration= Oh+ Om ~01~

The user should set the total length of time in hours and minutes that he/she wants Station #l to run for each irrigation day. The user should keep in mind that each start time can be split into shorter "splitn 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 loO~
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 ~ith 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 spacified (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:

I Use SAME setting ¦ for Station #2 ~ l Pressing NO allows the user to change the setting, and pressing OK takes the user to the confirm screen for Station ~2:

Stn 2 lOO~ Watering Duration = lh+5m x After the 100% Duration settings have been entered for all eight stations, the next display deals with SPLIT WATERING
CYCLES and reads:

¦ Press x to spllt I using site info x ¦

This screen is for information only, since splits are mandatory. Split cycles divide the lOO~ 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 ~5 presses NO, a help message automatically appears that explains splits and how they work. After OK is pressed the next screen reads:

I Stn 1: View Site info .

2(3Q~

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:
_ Stn 1: hilly loam~
lo lawn sprays ~

If the user presses OK (or NO) in response to this question, the display jumps to the next screen:

¦ Using site info to auto-split...

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:

¦ Stn 1: 5 splits ¦ @ 3m ON, 3 Om OFF K ¦

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:

¦ Stn 1 100% = OH+15m ¦ ¦ Stn 1 100% = Oh=15m ¦ @ _3m ON, 30m OFF ¦ ¦ @ 5m ON, 30m OFF

Stn 1: 3 splits Q 5m ON, 3Om OFF R

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'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 S
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 2.1.4.1.
The split criteria confirming screen tells the user how many Split ~atering 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 _he 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 value 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 "Specific DaysN or "So Many Daysn. If the "Specific Daysn method was chosen, then the display reads:

- :,;:~ :

Z~

¦ Stn 1 ON: ------- ¦
On days: MON ~ OR

The user should press the keys to select which days to turn on for station 1:

¦ NO ¦ Make the displayed day an OFF day and move ~ to the next day OK ¦ Make the displayed day a watering day and ' move to the next day 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:

¦ Stn 1 ON: M------MON every 1 wks 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 "Specific Days/' method was not chosen, the display shows the /'Every So Many Days" cycle:

Stn l 100%= lh+ 5m Every 1 Days - 50 _ zaoo~s The user should select how many days are wanted between watering days for station l. "Every 1 daysr' means every day, nEvery 2 days" means every other day, etc. Watering day cycles can be anywhere from 1 to 90 days in increments o* 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:

¦ Do you want an ¦ Excluded Period~

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:

¦ Excluded Period: ¦
12:Midn The user should actuate the NO key (or let the numbers automatically advance) to set the beginning or "Excluded FROM
Time" for his/her`excluded time "window." 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 "am" if he/she wants the Excluded Time Interval to start in the morning (am), or else "pm" if the user wants it to be in the afternoon or evening (pm). ~hen the user has set the correct am/pm hour, he/she should then press OK and set the minutes after the hour for the "Excluded FROM" Time. The user is next asked to enter the ending or "Excluded TO Time" for your excluded time ~o~o~

"window":

¦ Excluded Period:
10:00am-10: am The "Excluded TO" time can never be before the "Excluded FROM" time, so the default value for the "Excluded TO" time is always the same as the "Excluded FROM" time. The user employs the NO key (or lets the numbers automaticall~
advance) to set the "Excluded TO" 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:00am TO 7:00pm.
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.

Start Time each ON day = 12:Midn The earliest Start Time that the user can set for the day'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. Accordinglyj 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's watering before 11:59pm. 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 .' . : ~ ,: .: .' ~, -, . . . . , .. ,: i - - ' ,"' .' : ~',,,- . .

2~

of the night, then the Start Time should be set at 12:Midnight and a long excluded time SUChA 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 accomplishes 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:

¦ Do you want Syringe Cycles ?

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:
~ .
Do you want a Soak Cycle ?

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 "so Many Days" mode). The user is able .

; . - .: ,-: , ..

2~00~9 to program different Soak cycles for each different valve station. The first screen reads:

¦ Stn 1: Do Soak?
(100%=Oh+15m) - Like with split cycles, the soak duration is automatically calculated based on the user entered site info.
15The following screen tells the user that this is going to occur:
, _ Use site info to calculate x If the user presses NO, a HELP message explains further what the controller is doing. Pressing OK gives the user the following typical screen:

Stn l SOAK=2h~8m with 16 8m ONs x If the user does not like the controller calcula-ted 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's set up is good, that tS/ if the user has not made any errors such as programming more hours than are available in a day, etc.), the display reads:

, .. . ...

, -` 2(~ 3 Autosplit setup:
SAVING new setup 10 The Review Set/Modify Setup/Do New Setup/Exit Now auto-scrolling menu screen now appears. Pressing OK when the screen reads "Review Setup?" 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 ~uestions and display screens dealing with Reviewing Settings. If the user presses OK, then he/she is first asked if he/she wants to "Review Basic Setup?"
3.5.3 Review Basic Setu~

¦ Review ¦ Basic Setup ?

If the user presses OK, 100~ Duration for Station #l is shown.

Stn #l Watering Duration=Oh+5m ~

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 ùser 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~.

¦ Stn 1: 2 Splits I ~ 3m ON, 3Om OFF K ¦

After the user finishes reviewing the split maximum ON's and minimum OFF's for each station, the watering day cycles are reviewed.

Stn l 100% = Oh+5m every 2 days x for nsO many days" mode OR
Stn 1 100%=Oh-~5m on M-W-F-- ~ for "specific days" mode Next the Start Time and Excluded Period that have been entered are shown:

I Excluded Period:
¦ none entered o Start Time each ON day=12:00am y 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:

. "

~ ~, . . ... . .

2(~ 19 Review daily schedule ?

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:

¦ Water Budget I to use = 100%

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 AUTO~TIC RUN or SEMI-AUTO RUN Mode.
The user should next tell the controller which day the user would like to review. In "So Many" Days mode, the display reads:

¦ Review for Day = # 1 ~5 sO
The user should remember that in "So Many" Days mode, - watering always occurs on Day #l whether the day cycle is set 2~Q0119 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 noff" days when no watering occurs.
For Specific Days Mode, the display reads:

Review for Day = SAT
:.
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:

¦ Review Sat I for Week = #

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:
_ I
Press OK to see ending time ~

After viewing the ending time for the day, the next screen reads:
_ _ , Press OK for each ON Time '~:

The user should press OK in order to display the first ON Time for station #l (if station #l 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:

¦ Stn 1 ON 1 of 7 ~ Oh+lOm QlO:OOam ~ ¦
2~
For Basic Watering Split ON Times; OR

¦ Stn 1 SOAKl of 13 1 Oh+lOm ~lO:OOam x For Soak Cycle Split ON Times; OR

Stn 1 Syr l of 10 Oh+ 5m ~12:30pm ~ For Syringe ON Times.

Pressing NO at any time during this review process takes the user back to the Review Setup?/Modify Setup?/Do New Setup?/E~it 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 .. . ... ..

~2~V~

the user always knows exaotly 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.
3.6 How to Automatically Run the Controller 3.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:

Do you want to delay watering?

Pressing OK allows the user to set a day of from 1 to 14 days before automatic watering actually beginsO This is useful as a "rain delay" 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:

~ Delay watering I for _1 days The rain delay can be set for anywhere from l to 14 days. The next screen reads:

¦ View Active ¦ Station #s ? ¦

If the user presses OK, the following screen is displayed: -2a~

¦ Using: 12345678 Is this OK ?

If the user wants to disable one or more stations,he should press NO and the display will change to read:

Using: ~
Use Stn 1 ?

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:

¦ Using: 1-------Use Stn # 2 ?

Note that there is now a "l" instead of a "-/' for station #1, indicating that this station is now active. After a delay the station number automatically advances to Stn $2, and a /'-" 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 ("-" sign displayed) as desired. When the user has made his/her entry for station #8, the display will read something like:

¦ Using: 1-345678 ¦ Is This OK ?

The user should press OK to confirm that he/she indeed wants station 2 disabled, or NO if he/she wants to go back and change his/her settings.

- ~o~

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'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 enable/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:
_ AUTOMATIC RUN:
Mini Setup ? x 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 "EXIT now?", 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:

Water Budget to use = 100%

The user needs to either accept the default value for the water budget, or select a new value anywhere from 10% to 200% in increments of 10%. The next screen reads:

. ~

Zt~

_ To water, take Power Key out!

The user then needs only to remove the POWERKEYW 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.
3.7 How to Manuallv Run the Controller 3.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 checXing the irrigation system, or to read the soil moisture sensors.
There are four choices in ~UAL Mode:
.
MANUAL RUN: MANUAL RUN: ¦
Run stations? x OR Run Test Seq? K ¦

MANUAL RUN: I I MANUAL R~N:
¦ Read sensors? K ¦ OR ¦ EXIT Now o 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 "CHOOSE ONE
(OK)" function select screen will be displayed.
3~7.1.1 Manual Valve Operation Select "Run Stations" from the ~NUAL RUN Mode to manually operate the valves. The display reads:

Stn #: ~ ~~~~
Turn ~1 ON ~ where - = off and number = on - :: . : : , ~, z~

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 #l ON, or NO to leave it OFF. If the user presses OK, the display changes to read:

Stn #~
Turn #1 OFF ?

Pressing OK again, station #1 turns OFF and the display changes to read:
:
Stn #: --------Go to Stn #2 ?

If the user again presses OK, the display changes to read:

Stn #~
Turn #2 ON ?

If the user presses NO, the display changes to read:

¦ Stn #: --------4 5 ¦ Go to Stn #3 ? ¦

If the user doesn't press OK or NO, the display auto-scrolls after a pause between three different screens: :

F5 ¦ Stn #~ Stn #~
¦ Turn #2 ON? ¦ OR ¦ Go to Stn #3 ?

- 2(~(~Ql~

Stn #: --------EXIT now ?

If a valve is already on, the first menu choice is:

¦ Stn #: -2------Turn #2 OFF ?

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 STQP 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 M~NUAL RUN, the menu choice "EXIT now" is chosen. If any stations are still on when the user chooses to exit, the following screen is displayed:

All stations ON
Turning OFF now 45 3.8 How to Review System HistorY With View Info Mode 3.8.1 Reviewing System History The user may review the performance of the controller by enkering VIFW INFO mode and selecting See History. The controller stores the last 128 significant events in 50 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
.

, .. .

211~t~Q~

to end the history review.
The data stored from each valve start is displayed as follows:
~ _ Stn 1: lO:OOam Oh+15m ~

The history shows the station number, the starting time, and the actual ON time used.

: 40 . :

:: .: : ..
- - . : ~ . ,:: : : :

4.0 Functional Description of the U1 ASIC Device The block diagram of Figure 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 inven-tion.
The detail function of ASIC U1 is essentially unimportant ~or the purposes of the present invention, and is included within this specification only for purposes of completeness. The photovoltaic module (PVM, shown in Figure 3a), SUPERCAPS C1 and C2 (shown in Figure 3a) and ASIC U1 (shown in Figure 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 Ul ASIC device is u~ed to generate a 5 volt power supply using power from a photovoltaic modult or battery.
Power is stored by charging very large supercapacitors ("SUPERCAPS") to 10.8 volts. The stored energy is then used for operation during dark periods. Because the energy stored in the SUPERCAPS = 1/2 CVc~p2, 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 "SUPERCAPS" 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.

2~C`C~ 9 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 S 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 onl~
one comparator to conserve current. CrSi 100 kQ/ 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 VSSl (OV) to VDD2 (O-5V), level shifting where required. Analog references run from VSSl to VDDl (0-llV). Switching regulator components run from vSs2 (-.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 VDDl +0.7V.
4.1 VREFl Voltage Reference. The VREFl 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. .~n extra +/-1 LSB is provided in case original trim is incorrect. The circuit : . : .-- , :~ ,~, ~
., .

2(~C(~ ~L9 temperature coefficient is 60 ppm/C typical, 150 ppm/C worst case.
4.2 IBIAS & XTAL BIAS Bias Current Generator. The IBIAS
& XTAL BIAS circuit X1 generates 20 nA bias currents for other cells, and 100nA bias (voltage) for xtal oscillator. It generates buffered 2 Vth voltage "VLOW" 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 & HIGH ORDER DIVIDERS. The XTAL & 2 kHz DIVIDERS circuit X2 generates a clock for capacitor switch sequencing. It uses a low current oscillator (C~SCl 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 5V). 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 & SWITCHES. The CAP ARRAY &
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, S~ 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 ~o VSS1 & VDD1.
All other switches may be tied to VSS1, VD~2. 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 &
SWITCHES circuit X5 illustrating its function is shown in Figure 5a. In operation, VOUT = V~F if VS~LE C1 = V~F ' C2-4.6 SAMPLING COMPARATOR. The SCOMP circuit X7 compares20 output from the capacitor array to the reference voltage. It is inherently offset compensated. It's response time is less than 25us.
A simplified electrical schematic of the SCOMP circuit X7 illustrating its function is shown in Figure 5~. Phase 1 shorts the n-channel so that its gate voltage mo~es to the voltage where it carries exactly the current source current.
The input capacitor is shoxted 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 Xll stores the output of the comparator in the latch corresponding to the voltage being tested. It is cloc~ed by input NSTROBE.

- ~ :: : .:
" , . . . ~ ;:

Z~Ol~
_ 99 _ 4.8 WAIT TIMERS. The WT TIMER circuit X12 is used as a "timed hysteresis" 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 7Q internal resistance in the SUPERCAPS.
The SUPERCAPS are sampled every 7.8 ms, and under the above conditions would alternate charginy/discharging at a 50%
lQ duty cycle. A typical charge current of 20 mA would average 10 m~, 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 3x7.8ms 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.
~.9 SHUNT TRANSISTORS. The SHUNT TRANSISTORS X10 shunt up to 70 mA away from the SUPERCAP when the maixmum voltage is exceeded. The SHUNT TRANSISTORS X10 have a resistance of approximately 3.5 n.
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, VSSl 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 andillustrating its function is shown in Figure 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 Zl~ 9 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 (IPEAK = V~AT/L X TON)' 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 charye 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 kn external resistor is required.
4.10.4 SWITCHING REGULATOR COMPARATO~. The SWITCHING
REGULATOR circuit X9 has a comparator that uses positive - . - ,:, :~ ,, ~ ... :;, , .

2~0(3:1~9 feedback for an improved response time of 3.5 us maximum.
4.11 VREG. The 5V 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 Technoloqy for the Ul ASIC
The Ul 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, Arizona 85281.

253~1C~

5.0 FUNCTIONAL DESCRIPTION OF THE U2 ASIC DEVICE
The block diagram of Figure 6, consisting of Figure 6a through Figure 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 6S02.
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 "6502 Assembly Language Programmingn by Lance A. Leventhal, published in 1979 by Osborne~McGraw Hill, 630 Bancroft ~ay, BerXeley, California 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 micorprocessor Y31 occupy memory addresses in accordance with the ~ollowing memory map table:
00-3F I/O Parts 40-7FFF RAM Memory U5 (shown in Figure 3h) 8000-FFFF ROM Memory U4 (shown in Figure 3f) The operand fields ~f the firmware instructions are interpretable in accordance with the following memory map table: `
00 0 Microprocessor power off 01 0 RTC counter clear 02 0 A/D power, 1=on, O=off 03 0 A/D interface, 1=enable, O=disable 04 0 LCD power, l=on, O=off 05 0 LCD interface, 1=enable, O=disable .
06 0 Valve select byte bits 0-2 - valve #, + side bits 3-5 - valve #, ~ side bit 6 - polarity, O=normal, l=reversed 07 0 Valve enable, l=on, O=off 08 0 TIMER hi byte latch 09 0 TIMER lo byte latch OA O TIMER control, 1=on, O=o~f OB O RTC, 1=10 seconds, 0=1 minute OC O Serial clock `
OD O TIMER load OE O Write serial data out OF O Serial output ready I RTC counter hi byte ll I RTC counter lo byte 12 I Status register 1 bit O - O=external battery present bit l - l--watchdog ti~eout bit 2 - O=system power low bit 3 - O=system power very low bit 4 - O=RTC pulse bit 5 - l=battery low or caps charging bit 6 - l=serial data link present bit 7 - O=serial data link ready ` ' '- . ~ '~ ' : -., `- 2~

13 I Status register 2 bit O - 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 I Read A/D converter 16 I Load serial shi~t register 17 I Clear input ready latch 18 I LCD busy flag & address counter (RS=0) bit 7 - l=busy O LCD instruction register (RS=0) 19 I LCD read data (RS=1) - O LCD write data (RS=l~
lA O LCD contrast select (0-7) lB O Clear watchdog timer lC O Clock RTC counter lD I/O EEPROM
lE O Coil test drivers lF O Sensor test drivers 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 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 Q 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 ~ Start A/D channel 14, valve 7 2F O Start A/D channal 15, valve 8 40-FF Zero page variables, pointers, and tables 100-lFF Stack 200-3FF Program variables 4S 8000 ROM start FFFA-FFFB NMI vector FFFC-FFFD RESET vector FFFE-FFFF IRQ vector :
.

: ,' ' ~'.

'r:

2~ L9 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 counker 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 informa-tion 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 pull~d 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 ~y 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 = l~Vd) - 8 bits + one LSB for VIN = 1/2 (Vd) b. Conversion Time - 8 x n where n = 8 or 9 fosc depending upon whether the conversion is full scale or .~ ~
;. ~' .: - ` ~ ,, 2~

hal~ scale.
c. Operating Current 3 mA maximum d. Analog Reference - Digital Supply Voltage (Vd) e. Analog Inputs (Vin) - Each input voltaye 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 = l(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 "Battery Low" status bit if either of two "Supercap Shunt" signals are absent for more than 64 second during programming activity.
~t 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 Reqister. 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 Re~ister. The status register Y3 makes the following internal flags available to the processor as data on the data bus: Battery Present, Dead-man timeoutA 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 ~.

- , - - - ., .. , .. . .. . . :

26~0~

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 fre~uency 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 o~ the data . .

2~

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 O ~ 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 = Dl = DO = O
5.1.14 Address Decodinq. The address decoder circuit Y38 uniquely maps all internal functions into page zero of the processor'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 "sleep" 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 ~or .

2~

testing and programming purposes.
5.2.2 ADC0 - ADC15 Analoq 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 ~he 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 o~f all valves in anticipation of approaching shutdown.
5 2 4 SVL - SYstem Verv 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 Si~nals. 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 - Batter~ 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 Sl - S6 - Switch In~uts. 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.

- -, . -.
- . . ...

Z~0~

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 In~ut. 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 LCDE~ - 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 Reqister 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 - Analoq OutPut From the DAC to the External Liquid Crystal Display. This analog output signal is used to control the dlsplay contrast.
5.2.19 VL - Switched Power to the External Liquid Cryskal . ~hen this signal is switched on it provides current from the device power input VDD. When it is switched off, it L9 :--- 111 -- , 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 of-f, 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 ~or 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 ~enerated 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 Siqnal From the Processor.
Indicates whether a memory read or memory write cycle is in progress.

2(~0C~1~9 5 . 2 . 26 P~12 - Proces~or Clock. This signal is high during the active portion of the processor's operation. When low, the processor i~ precharging its internal busses. This siqnal must logically combine with Read and the appropriate address decode to create the control signals to apply to external memory.
5.2.27 CSE2 - EEPROM Chip Select. This signal is used in conjunction with READ and PH12 for external EEPROM operations.
5.2.28 RSTB - Yrocessor 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 inclusiveO
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 2Khz with a 30u second high-going pulse.
5.2.33 SPSEL. When SPSEL = 1, the chip requires a 32Khz time base on the CK input. When SPSEL = 0, the chip requires a 2Khz time base on the CK input.
5.3 ASIC U2 Power Supplv Requirements Parameter Symbol Min Max Uhits 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.5v, 2Khz Real time clock running, main oscillator running, processor, ADC, LCD interface logic running (only), DAC running, coil drivers in high-impedance state, external ~o~9 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.5v, Real time clock running, main oscillator stopped, processor stopped, coil drivers in high-impedance state, ADC, LCD, DAC are all powered off. External EEPRO~ 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 Reguirements Unless otherwise stated, the following characteristics apply over the applica~le operating power supply range as specified above. All pins are protected against electrostatic discharge.

Parameter ~Y~k~lMin 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 CurrentItl -1 ~1 uA
Passive Pulldown CurrentIpd -1 -30 uA
(@ Vih = VDD) Active Pulldown CurrentIrpd -4 -12 mA
(@ Vi = 2.5v~

VA VL VP
Parameter SymbolMin Max Unit 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.3V) Output Low Current Iol 6.0 n~

z~o~

VLCD
Parameter SymbolMin Max Unit Output Voltage Range Volcd0.0 2.2 V
Output Current Ioled~0.5 mA
(@ Vol = 0.05V) Coil Driver Pins Parameter SymbolMin Max Unit Input Voltage Range See ADC8 - ADC15 below Output Pair Drop Vdr0.0 1.0 V
(@ I = 45mA, Vdd = 4.5v) Parameter Symbol Min Max Unit Input resistance Rin10Meg Ohm Input Voltage Range Vina-0.0 VDD V

C01, C02 Parameter Symbol Min Max Unit Output High Voltage Voh0.5VDD+0.3 V
Output Low Voltage Vol -0.3 0.4 V
Output High Current Ioh -4.0 -12.0 mA
(@ Voh = 2.5V) Output Low Current Iol 4.0 mA
(@ Vol = 0.4V) All Other Pins Parameter SymbolMin Max Unit .
Input High Voltage Vih2.0VDD-~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.5V) , ' ~

` 2[3q~9 output Low current Iol 4.0 mA
(@ Vol = 4.0V) 5.5 ASIC U2 Mechanical Characteristics 5.5.1 Packaqe 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.

Ratin~ Value Unit Storage Temperature -40 to ~85 deg C
Operating Temperature -10 to +70 deg C
1ead Temperature 250 deg C
(4 min soldering) Humidity 85/85 deg C/percents 5.6 Preferred Technoloqy 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 "NCR ASIC Data ~ook" for ~anuary 1987. The equivalent technologies of other manufacturers will be realized to be equally suitable. It will be understood that the irrigation system of Figure 2 could also ~e 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.

- :~: . . .

~` 2~0~1:19 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 IJ2), 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 manualiy input to the microprocessor and displayed, and the control of irrigation valves, are, in the preferred em~odiment 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.
2S 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 o~ the - entered irrigation parameters as well as the determined on and off times. ~ach 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.

.:

' .. . .. ...

Claims (48)

1. A manually operable interface to a machine comprising:
display means for displaying a multiplicity of datums that are organized in a hierarchical tree having a plurality of datums at each of a plurality of hierarchical levels;
autoscrolling means for automatically causing the display means to sequentially display each of the plurality of datums from one hierarchical level; and manually actuable selection means operable to effect selection, adoption, and use of a currently displayed datum;
said autoscrolling means responsive to actuation of said selection means for effecting display of each of a plurality of datums from another hierarchical level having a selected relationship to said selected datum.
2. The interface according to claim 1, further comprising:
manually actuable advance means for causing the autoscrolling means to immediately effect display of another of said plurality of datums.
3. The interface according to claim 1, wherein:
said display means alternatively displays one of said multiplicity of datums and one of a multiplicity of messages associated therewith;
said interface further comprising:
manually actuable help means;
means responsive to actuation of said help means for causing said display means to display, for a selected time, one of said multiplicity of messages associated with said currently displayed datum.
4. A manually operable interface to a machine, comprising:

display means for displaying each of a multiplicity of datums one at a time;
autoscrolling means for causing said display means to automatically and sequentially display each of the multiplicity of datums;
manually actuable selection means;
means responsive to actuation of said selection means for selecting the currently displayed one of said multiplicity of datums; and manually actuable advance means;
said autoscrolling means causing the display means to immediately sequentially display a next one of said plurality of datums in response to actuation of said advance means.
5. The interface according to claim 4, wherein:
said display means displays each of a multiplicity of datums organized in a hierarchy having a plurality of datums on each of a plurality of levels;
said autoscrolling means causes said display means to automatically and sequentially display repetitively each of a plurality of datums from a single hierarchical level; and said means responsive to said selection means causes the display means to display datums from another hierarchical level.
6. The interface according to claim 4, wherein:
said display means alternatively displays one of said multiplicity of datums and one of a multiplicity of messages associated therewith;
said interface further comprising:
manually actuable help means;
means responsive to actuation of said help means for causing the display means to display one of the multiplicity of messages associated with a curently displayed one of the datums for a selected time period, and for thereafter causing the display means to display said one datum.
7. A manually operable interface to a machine, comprising:
display means for alternatively displaying a selected one of a multiplicity of datums and a corresponding one of a multiplicity of messages associated with the selected one of said datums;
autoscrolling means for causing the display means to display successive ones of the multiplicity of datums;
manually actuable selection means;
means responsive to actuation of said selection means f or selecting the currently displayed one of said multipliity of datums;
manually actuable help means; and means responsive to actuation of said help means for causing said display means to display one of the multiplicity of messages associated with said one curently displayed datum.
8. The interface according to claim 7, wherein:
the display means alternatively displays each of a multiplicity of datums in the form of a question, and each of the multiplicity of messages in the form of an explanation for the associated question.
9. The interface according to claim 7, wherein:
said display means displays each of the multiplicity of datums organized in a hierarchy having a plurality of datums upon each of the plurality of levels;
said autoscrolling means causes said display means to sequentially display each of the datums for a selected hierarchical level repetively; and means responsive to actuation of said selection means for causes said display means to display each of a plurality of datums upon another hierarchical level from the selected datum.
10. The interface according to claim 7, further comprising:
manually actuable advance means;

means responsive to actuation of said advance means to effect display of the next one of said multiplicity of datums at the existing hierarchical level.
11. A man machine interface, comprising.
display means for displaying each of a multiplicity of datums one at a time, and for alternatively displaying each of a multiplicity of messages associated with the previously displayed datum;
manually actuable selection means;
means responsive to actuation of said selection means for effecting selection and use of a currently displayed one of said multiplicity of datums;
manually actuable advance means;
means responsive to actuation of said advance means for effecting display by said display means of a next one of said multiplicity of datums;
manually actuable help means; and means responsive to actuation of said help means to effect display by said display means of one of said multiplicity of messages corresponding to the previously displayed one of said multiplicity of datums, and for subsequently displaying said datum after a selected time interval.
12. The interface according to claim 11, wherein:
each of said multiplicity of datums is in the form of a question; and each of said multiplicity of messages is associated with one of said datums and includes an explanation thereof.
13. A method for effecting a man machine interface, comprising:
organizing a base of information in a hierarchy that has a multiplicity of questions organized on a plurality of levels between a first hierarchical level and a last hierarchical level;

automatically sequentially displaying each of said questions at successive times on a repetitive basis from one selected hierarchical level;
recognizing a selected response to the display of one of said questions;
thereafter displaying questions from another hierarchical level related to said first hierarchical level; and collecting each of said responses to selected questions from each of said hierarchical levels as information inputted to the machine.
14. A man machine interfacing method according to claim 13, wherein:
said base of information is organized as a hierarchical tree having a multiplicity of questions between a first level and a last level; and including the step of selecting each succeeding hierarchical level as a function of the question to which a preceding response was received.
15. A method of transferring information to and from a machine having a display and a single response indicium, comprising:
storing a list of hierarchically organized questions, each with only two answers;
displaying each of a selected plurality of questions;
detecting the presence or absence of said single response indicium;
selecting the next question based on the results of said detection; and advancing to another hierarchical level as a function of a question and the response, and repeating the display detection and selection at the next hierarchical level.
16. An interface to a machine for use by a man comprising:

display means for displaying a multiplicity of datums that are organized in a hierarchal tree having a plurality of datums at each of a plurality of levels between a root level and leaf level.
autoscrolling means for causing the display means to automatically sequentially display one datum at a time of the plurality of datums that are upon a one hierarchal level in an endless loop, commencing at root level;
OK/YES means actuable by a man for causing (i) adoption and use by the machine of a currently displayed one of the multiplicity of datums, and (ii) the display means to branch to displaying a plurality of datums that are upon a next hierarchal level to the hierarchal level of a the currently-displayed one of the plurality of datums.
17. The interface according to claim 16 further comprising:
NO/NEXT means actuable by a man for causing the autoscrolling means to cause the display means to automatically advance in its one-at-a-time displaying of the plurality of datums upon a one hierarchical level more rapidly, one datum to the next.
18. The interface according to claim 16 wherein the display means is further for displaying, at other times to the multiplicity of datums, a multiplicity of messages that are associated with the multiplicity of datums, this displaying of a multiplicity of messages also being one at a time;
and wherein the interface further comprises:
HELP means actuable by a man to cause the display means to display a one of the multiplicity of messages that is associated with a currently-displayed one of the multiplicity of datums, after which the display means will return to redisplaying said currently-displayed one of the multiplicity of datums.
19. An interface to a machine for use by a man comprising:

display means for displaying a multiplicity of datums one at a time;
autoscrolling means for causing the display means to automatically sequentially advance in its one-at-a-time displaying of the multiplicity of datums;
OK/YES means actuable by a man for causing the machine to adopt and use a currently-displayed one of the multiplicity of datums; and NO/NEXT means actuable by a man for causing the autoscrolling means to cause the display means to automatically sequentially advance in the one-at-a-time displaying of the plurality of datums more rapidly, one datum to the next.
20. The interface according to claim 19 wherein the display means is for displaying a multiplicity of datums organized in a hierarchy having a plurality of datums upon a plurality of levels;
wherein the autoscrolling means is for causing the display means to automatically advance in a one-at-a-time displaying of a plurality of datums that are upon a single hierarchal level in an endless loop; and wherein the OK/YES means are further actuable by the man for causing the display means to progress to displaying a plurality of datums that are upon a next hierarchal level to the hierarchal level of the currently-displayed one of the plurality of datums.
21. The interface according to claim 19 wherein the display means is further for displaying, at other times to the multiplicity of datums, a multiplicity of messages that are associated with the multiplicity of datums, this displaying of a multiplicity of messages also being one at a time;
and wherein the interface further comprises:
HELP means actuable by a man to cause the display means to display a one of the multiplicity of messages that is associated with a currently-displayed one of the multiplicity of datums, after which the display means will return to redisplay said currently-displayed one of the multiplicity of datums.
22. An interface to a machine for use by a man comprising:
display means for displaying a multiplicity of datums one at a time, and at other times a multiplicity of messages that are associated with the multiplicity of datums also one at a time;
autoscrolling means for causing the display means to automatically advance in its one-at-a-time displaying of the multiplicity of datums, or from a displayed one of the multiplicity of messages back to redisplaying of an associated one of the multiplicity of datums, as the case may be;
OK/YES means actuable by a man for causing the machine to adopt and use a currently-displayed one of the multiplicity of datums; and HELP means actuable by a man for causing the display means to display a one of the multiplicity of messages that is associated with a currently displayed one of the multiplicity of datums.
23. The interface according to claim 22 wherein the display means is for displaying a multiplicity of datums in the form of a multiplicity of questions, and at other times a multiplicity of messages each in the form of an explanation to an associated one of the multiplicity of questions.
24. The interface according to claim 22 wherein the display means is for displaying a multiplicity of datums organized in a hierarchy having a plurality of datums upon a plurality of levels;
wherein the autoscrolling means is for causing the display means to automatically advance in its one-at-a-time displaying among a plurality of datums that are upon a single hierarchal level in an endless loop; and wherein the OK/YES means are further actuable by the man for causing the display means to progress to displaying a plurality of datums that are upon a next hierarchal level to the hierarchal level of the currently-displayed one of the plurality of datums.
25. The interface according to claim 22 further comprising:
NO/NEXT means actuable by a man for causing the autoscrolling means to cause the display means to automatically advance in its one-at-a-time displaying of the multiplicity of datums more rapidly, one datum to the next.
26. An interface to a machine for use by a man comprising:
display means for displaying a multiplicity of datums one at a time, and at other times a multiplicity of messages that are associated with the multiplicity of datums also one at a time;
OK/YES means actuable by a man to cause the machine to adopt and use a currently displayed one of the multiplicity of datums;
NO/NEXT means actuable by a man to cause the display means to display a next one of the multiplicity of datums; and HELP means actuable by a man to cause the display means to display a one of the multiplicity of messages that is associated with a currently-displayed one of the multiplicity of datums, after the display of which the display means will return to redisplaying said currently-displayed one of the multiplicity of datums.
27. The interface according to claim 26 wherein the multiplicity of datums are in the form of a multiplicity of questions;
wherein the multiplicity of messages associated with the multiplicity of questions are in the form of a multiplicity of explanations of the associated questions.
28. A method of man-machine interfacing comprising:
organizing a base of information transmissible from a man to a machine as a hierarchy that has a multiplicity of questions upon a plurality of levels between a first hierarchal level and a last hierarchal level;
automatically sequentially displaying at successive times successive ones of the questions, one at a time in an endless loop, that are upon a one hierarchal level, starting at the first hierarchal level;
first recognizing a man's positive response to, or affirmation and adoption of the premise of, a selected one question of the successive ones of the questions displayed one at a time in an endless loop, that are upon a one hierarchal level;
advancing the displaying from one hierarchal level to the next, first level to last level, as the man's positive response to a selected one question upon each hierarchal level is first recognized; and collecting the first-recognized positive responses to the selective questions, one upon each hierarchal level, as information transmitted from the man to the machine.
29. The method of man-machine interfacing according to claim 28 wherein the organizing of the base of information is as a hierarchal tree that has a multiplicity of questions between a first, root, level and a last, leaf, level;
wherein each advancing of the displaying from one hierarchal level to the next is along that particular branch that is dictated by the selected one question to which the man's positive response is first recognized.
30. The method of man-machine interfacing according to claim 28 further comprising second recognizing a man's negative response to, or rejection and disavowal of the premise of, a one question that is currently displayed; and reducing the display time latency of the automatically sequentially displaying of successive ones of the questions for all those ones of the questions for which the man's negative response is second recognized.
31. The method of man-machine interfacing according to claim 28 wherein the second recognizing comprises:
detecting a manual actuation of a switch.
32. The method of man-machine interfacing according to claim 28 wherein the first recognizing comprises:
detecting a manual actuation of a switch.
33. A method of query-response programming of complex sequences comprising:
organizing the complex sequences into a hierarchy of a multiplicity of questions, the hierarchy of questions consisting of a first plurality of questions at a first, root, level, with at least some of these first plurality of questions having an associated second plurality of questions, with some ones of these second plurality of questions having an associated third plurality of questions and so on, the complex sequences being entirely broken down into a hierarchal tree of questions ranging from broader questions at the root level to more specific questions of the leaf level;
cyclically displaying each successive plurality, starting with the first, of questions to a human user/programmer, the user/programmer permissively adopting for each single question displayed one of the options of a.) doing nothing, in which case the cyclically displayed question will advance in a normal latency time to the next successive question in the same hierarchal plurality, and so on in an endless loop, b.) selecting a no response meaning NO, that the premise or the article of the currently displayed question is not adopted, in which case the displayed question will immediately cycle to a next successive question within the same currently cyclically displayed plurality of questions without waiting for the expiration of the normal latency time; and c ) selecting an OK/YES response meaning okay or yes, that the premise or article of the currently-displayed question is adopted, in which case IF the currently-displayed question is not of a leaf-level plurality of questions THEN progressing to a next associated plurality of questions and proceeding to the cyclically displaying of this plurality of questions ELSE IF the currently-displayed question is of a leaf level plurality of questions THEN returning to the cyclically displaying of the first plurality of questions.
34. The method according to claim 33 wherein during the cyclically displaying the human user/programmer has the further option of d.) selecting a STOP response, meaning exit or stop current action, that interrupts the currently cyclically displayed plurality of questions and returns to the cyclically displaying of the first plurality of questions.
35. The method according the claim 34 wherein during the cyclically displaying the human user/programmer has the further option of e.) selecting a HELP response, meaning help is requested, that will result in temporary display of a context sensitive help message explaining to the user/ programmer the responses that are being elicited by the currently cyclically displayed plurality of questions and how the user/programmer may evoke these responses.
36. The method according to claim 33 wherein continuously performing b.) selecting a NO response causes not only that the displayed question will immediately cycle to the next successive question but that, the b.) selecting a NO
response being continued, the displayed question will cycle to still another successive question at the expiration of a reduced latency time, this faster cycling thereafter being continued until, and unless, the b.) selecting a NO response is ceased.
37. The method according to claim 33 wherein adoption of the user programmer of the displayed option c.) selecting a second response meaning OK/YES results in the further step comprising:
displaying a confirmation message to the user/
programmer showing the particular question/response adopted by act of the user programmer's c.) selecting an OK/YES response until the user/programmer adopts a one of the options of c1.) selecting again the OK/YES response, herein meaning that the currently displayed confirmation message is adopted, in which case IF further questions/responses of the same plurality of questions/responses remain unanswered and are potentially adoptable THEN returning to the display of successive further ones of the same plurality of questions/responses ELSE
IF no further questions/responses of the same plurality of questions/responses remain unanswered and adoptable THEN
returning to the cyclically displaying of the first plurality of questions/ responses; and c2.) selecting the NO response, herein meaning that the currently displayed confirmation message is not adopted, in which case the displayed question/response will ultimately return to that question/response for which, when previously displayed, the programmer/user did adopt the option c.) selecting an OK/YES response.
38. The method according to claim 37 wherein the displaying is further of an identifiable indicia accompanying the particular question/response adopted by act of the programmer/user.
39. The method according to claim 38 wherein the displaying of a question mark.
40. A method of communicating information from a man to a machine comprising:
organizing in the machine the information in a hierarchy having a plurality of datums at each of a plurality of levels;

automatically sequentially displaying with the machine a first plurality of datums upon a first one of the plurality of hierarchal levels one at a time in an endless loop;
progressing in the automatically sequentially displaying upon such times as an advance-in-hierarchy occurrence is recognized to a next hierarchal level, one hierarchal level per occurrence, to ultimately automatically sequentially display an nth plurality of datums upon an nth on of the plurality of hierarchal levels.
recognizing in the machine on advance-in-hierarchy occurrence responsive to first-type action of a man during the time that some one selective one of the plurality of datums that are upon each hierarchal level are being displayed; and correlating each of advance-in-hierarchy occurrences with each associated selective one of the plurality of datums to produce information usable by the machine.
41. The method according to claim 40 wherein the organizing of the information is in a hierarchal tree; and wherein the progressing is by branching to a related plurality of datums upon a next hierarchal level of the hierarchal tree.
42. The method according to claim 40 wherein the recognizing of a first-type manual action is of a switch actuation.
43. The method according to claim 40 wherein the automatically sequentially displaying is, datum to datum, at a first rate;
wherein the recognizing is further of the duration of a second-type action of a man during the time that some selective one or ones of the plurality of datums that are on each hierarchal level are being displayed;
and wherein the method for further comprises:
accelerating the automatically sequentially displaying to transpire at a second rate, faster than the first rate, doing the recognized duration of the second-type action.
44. The method according to claim 44 wherein the recognizing of a second-type manual action is of a switch actuation.
45. The method according to claim 40 wherein the organizing of the information is in a hierarchy of questions each directed to a one datum, a plurality of questions existing at each of a plurality of levels.
46. A man-machine interface of a machine for the communication of information between a man and the machine, the machine's interface comprising:
information base means containing a multiplicity of questions organized in a plurality of hierarchal levels, which questions span the space of the information that is communicated between man and machine;
display means for displaying, at times, successive individual ones of the questions from the information base means under control of a sequencer means;
a first, OK/YES, switch means for permitting the man to indicate the affirmative to a one question on that is at any one time displayed by the display means; and sequencer means, receiving the affirmative indication from the first switch means, for causing the display means to cycle, after a first latency time, in an endless loop between successive questions that are upon a one hierarchal level UNTIL an affirmative indication to a one question is received THEN causing the display means to cycle in an endless loop between further successive questions that are corresponding to the one question for which the affirmation indication was received and that are upon a next hierarchal level UNTIL another affirmative indication to one of the further successive questions is received, and so on UNTIL an affirmative indication is received to a question at a lowest hierarchal level, at which time information that is respective of by the received affirmative indications to all questions has been communicated from the man to the machine;

wherein the cycling of the display means between questions under control of the sequencer means is automatic.
47. An apparatus permitting user programming of information having a multiplicity of datums in a plurality of categories by process of the asking of questions and the collection of responses, the apparatus comprising:
display means for the displaying, of successive times under control of a computer means, a hierarchy of questions proceeding in successive levels from root level global questions inquiring whether a specific one of alternative courses of action is adopted to leaf level specific questions inquiring whether a particular one of a multiplicity of datums is confirmed as an answer;
first, OK/YES, switch means responsive to a human user/programmer for permitting the user/programmer to indicate affirmative responses to global questions or to specific questions as each is displayed by the display means.
computer means, receiving the affirmations from the first switch means, for automatically sequencing of a first latency time the display means through successive questions on each of the successive levels of the hierarchy of questions, each level being entered because of an affirmative response to an associated question at a higher level, until an affirmative response to a leaf level successive question provides a datum, at which time the automatic sequencing at the latency time of the display means through successive questions is resumed at some level, the affirmative responses to a hierarchy of these questions ultimately leading to another datum, and so on until a multiplicity of datums in a plurality of categories are provided all by the collection of affirmative responses to questions;
wherein a singular characteristic of the query-response user programming of datums so effected is that the computer means automatically sequences the display means at a latency time, as well as because of affirmative responses to questions.
48. In a machine having a user interface and operating in consideration of information supplied by the user across the interface, an improvement to the user interface comprising;
display means for displaying at successive times under control of a computer means a hierarchy of questions one at time proceeding from root level general questions asking whether an alternative branching within the hierarchy is confirmed and adopted to at least one leaf level specific question asking whether a particular datum is confirmed and adopted.
a first, OK/YES, switch means responsive to the user for indicating affirmative responses to a global question or a specific question as each is displayed by the display means;
computer means, receiving the affirmative response indications from the first switch means, for automatically sequencing at a first latency time the display means through successive questions in an endless loop at each level of the hierarchy of questions until, an affirmative response indication to a one question having been received, then causing automatic sequencing of the display means through successive questions in an endless loop at a next, branch, level of the hierarchy of questions, and so on until, an affirmative response to at least one leaf level specific question having been received, information represented by the cumulative user affirmative responses to selected ones of the questions has been effectively communicated from the user to the machine across the user interface.
CA 2000119 1988-10-04 1989-10-04 Query/response user programming of complex sequences Abandoned CA2000119A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/255,156 US5124942A (en) 1988-09-28 1988-10-04 Machine interface with cyclically displayed hierarchical menus and user selection of menu items by actuation of a single switch
US255,156 1988-10-04

Publications (1)

Publication Number Publication Date
CA2000119A1 true CA2000119A1 (en) 1990-04-04

Family

ID=22967087

Family Applications (1)

Application Number Title Priority Date Filing Date
CA 2000119 Abandoned CA2000119A1 (en) 1988-10-04 1989-10-04 Query/response user programming of complex sequences

Country Status (1)

Country Link
CA (1) CA2000119A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107278821A (en) * 2017-08-01 2017-10-24 四川融和跨界光伏科技有限公司 A kind of photovoltaic generation hybrid system integrated with water saving irrigation facility

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107278821A (en) * 2017-08-01 2017-10-24 四川融和跨界光伏科技有限公司 A kind of photovoltaic generation hybrid system integrated with water saving irrigation facility

Similar Documents

Publication Publication Date Title
US5124942A (en) Machine interface with cyclically displayed hierarchical menus and user selection of menu items by actuation of a single switch
US5187797A (en) Machine interface system with hierarchal menus allowing user sequencing and selection of menu items by actuation of three switches
US5251153A (en) Flexibly programmable irrigation system controller
EP0399006B1 (en) Distributed multiple irrigation controller management system
EP0433400B1 (en) Light-energized electronics energy management system
US5661349A (en) Graceful energization and degradation of an electronic device micropowered by a source of energy in its environment, particularly an irrigation controller powered by light energy
US6088621A (en) Portable apparatus for rapid re-programming of irrigation controllers
US8700222B1 (en) Irrigation controller with selectable watering restrictions
US4165532A (en) Automatic irrigation sprinkler system controller
US4922407A (en) Modular electronic timer switch system
US6388952B2 (en) Programmable time switch
US6490505B1 (en) Irrigation timer with multiplexing watering mode
US20020117384A1 (en) Motivational apparatus for controlling use of electronic devices and method of use
US20050267641A1 (en) Modular and expandable irrigation controller
EP0338071A1 (en) Irrigation controller
US20070097793A1 (en) Electronic timer
US20090008472A1 (en) Control Devices For Irrigation Systems And Methods For Programming
US4951204A (en) Irrigation controller having means for watering after failure in primary and back-up power supplies
US6310547B1 (en) Alarm system with programmable device control
Coates et al. Design of a system for individual microsprinkler control
JPS62123390A (en) Timer
CA2000119A1 (en) Query/response user programming of complex sequences
US20110198943A1 (en) Programmable electronic timer
US4943917A (en) Irrigation controller having multiple cancel modes invoked by depressing single key
Savić et al. Proposal of solution for automated irrigation system

Legal Events

Date Code Title Description
FZDE Dead