Touchscreen control panel with sliding touch control

Abstract: Touchscreen control panal apparatus that highlights a control key to which the operator slides touch and actuates the associated control function upon touch release from the highlighted key. Highlighting is deleted from a key when operator slides touch therefrom without releasing touch. Parameter values are adjusted by touching a control key associated therewith and thereafter sliding touch anywhere on the touchscreen to effect parameter value change.

Description: The invention relates to graphically generated control panels utilizing a touchscreen overlay on the display monitor. Touchscreen control panels are known in the art that utilize a touchscreen overlay on the raster cathode ray tube (CRT) monitor. The system software displays graphic symbology on the monitor representing the front panel controls for the system. The operator interfaces with the system by touching the screen in the area of a control. Actuation of the control is performed by the system software detecting the touch and entering an appropriate control routine corresponding thereto. Prior art touch panels require a large touch area for each control to prevent operator error such as inadvertant actuation of an undesired control function. In the prior art, the system software either displays the control over a larger than desired area or utilizes a larger than desired touch sensitive area associated with the control. These requirements severely limit the density of displayed controls on the graphically generated control panel. It is desirable to utilize the touchscreen control technology in implementing the control panel of, for example, a radar system with collision avoidance functionality utilizing a raster scanned display on a CRT monitor. The software generated touch panel control provides the operator interface for controlling the radar and collision avoidance display. It is a desideratum to minimize the number of front panel mechanical controls thereby providing an unclutter easily utilized radar and collision avoidance system. Ideally, it is desirable to eliminate all mechanical controls and to provide the operator control interface by the touch panel technology. By placing all of the radar and collision avoidance controls on the raster display, the relatively high density of controls required exacerbated the problem of operator control error. In addition to the above described limitations of prior art touchscreen control panels, adjustment controls such as potentiometers with, for example, thumbwheel actuation were not conveniently incorporated in such software generated control panels. The above described disadvantages of the prior art are obviated by an apparatus as defined in claim 1, whereby the operator slides the control touch over the touchscreen with no control actuation and with visual feedback highlighting the control currently touched. The operator releases touch from the highlighted control to effect actuation of the associated control function. If the control function is a parameter adjustment, the entire control screen is utilized for sliding touch adjustment of the parameter. Utilization of a short time delay after touch release,before exiting the parameter adjustment mode, provides a thumbwheel affect for the parameter adjustment. In connection with the present invention, attention is also drawn to patent EP-A-0 030 160, and to the article "Interactive Television for Control Systems" by S K Gregory in ADVANCES IN INSTRUMENTATION vol 35 part 2, 1980 page 112. EP-A-0 030 160 and the article "Interactive Television for Control Systems" both disclose instances where the state of a controlled function is finalised by touch removal: EP-A-0 030 160 shows the moving of a control button on a screen; the position of the button at which the finger is taken away will be the new one if confirmed by the touch of a "return" button. "Interactive Television for Control Systems" describes virtual instruments as images of real instruments on a screen; one implementation is a sliding bar potentiometer, where a new value becomes final when the operator removes his finger. In the IBM TDB vol.26 No.5, October 1983, page 2620/2621, "Touch-sensitive Overlay Selection Repeater", removal of the finger actuates the control of deletion of a duplicated display of the word being selected. Figure 1 is a schematic block diagram of a computer controlled system utilizing the touchscreen control panel of the present invention. Figure 2 is a flow chart illustrating the control flow of the interrupt routine utilized in embodying the present invention. Figure 3 is a flow chart illustrating the control flow embodying the sliding touch/actuate on release control functions. Figure 4 is a flow chart illustrating the control flow embodying the actuate on touch control functions. Figure 5 is a flow chart illustrating the control flow embodying the parameter adjustment control functions. Referring to Figure 1, a schematic block diagram of a preferred embodiment of the invention is illustrated. The system of the present invention includes a cathode ray tube (CRT) display monitor 1⊘ with a touch screen overlay 11. Preferably, the touch screen 11 is of a capacitive type that requires touch contact for touch position input data to be generated. The capacitive type touch screen does not require touch pressure for the data generation. The touch screen 11 continuously provides touch position input data in a conventional X,Y cartesian coordinate format over a bus 12. These properties of the touch screen 11 permit the operator to slide touch over the screen of the monitor 1⊘, maintaining contact without pressure, thereby providing a continuous stream of touch positions on the bus 12. A main processor 13 receives the continuous stream of touch positions via a touch screen controller 14 over a serial bus 15. It is appreciated that when no touch is effected, the X and Y touch positions provided by the touch screen 11 over the bus 12 are both zero. No transmission of touch position occurs when no touch is effected. The main processor 13 sets touch positions to zero at sample time (16 Hz interrupt) if no transmission of touch data has occurred. The operator touches are sensed by the touch screen 11 and decoded by the touch screen controller 14. The touch screen controller 14 receives the cartesian coordinate data from the touch screen 11 and converts the data to a format, such as serial RS232, suitable for transmission to the main processor 13. Thus the touch screen controller 14 presents the X,Y position data from the touch screen 11 to the main processor 13. The main processor 13 decodes the touch position and responds by issuing commands to the monitor 1⊘ via a CRT controller 16 and a bus 17, such as a VME bus. Thus the main processor 13 initializes and controls the display provided by the monitor 1⊘ via commands to the CRT controller 16. The main processor 13 includes touch screen routines 18 for providing the iterative processing required in the generation of the touch screen control panels of the system in which the invention is utilized. The main processor 13 includes a main program 19 containing the software for performing the control procedure functions actuated by operation of the touch screen control panal of the present invention. The main program 19 provides an interrupt on a path 2⊘ to the touch screen routines 18 to control the iterative execution thereof. The interrupt signal is provided every 1/16 seconds. The touch screen routines 18 utilize visual feedback 21 for highlighting controls on the control panal displayed on the monitor 1⊘ by the main processor 13 for reasons to be described. Control highlighting may be effected by the visual feedback 21 by color contrast, intensity contrast, or any other suitable highlighting technique. The main processor 13 also includes a plurality of storage locations utilized by the touch screen routines 18 in effecting the control routines of the present invention. A store X PREV 22 stores the X touch coordinate of the previous iteration. A store Y PREV 23 stores the Y touch coordinate of the previous iteration. A store X 24 and a store Y 25 store the X and Y touch coordinates, respectively, of the current iteration. As previously described, it is appreciated that when no touch is effected the current X and Y touch positions are both zero. A store ADJUST PARAMETERS 26 stores an adjust parameters flag utilized in the parameter adjustment routine. A time out timer 27 provides a time out signal utilized in the parameter adjustment routine. Three types of controls may be incorporated in a system utilizing the touch screen control panal of the present invention. These controls are function actuation on release, function actuation on touch, and parameter adjustment. Function actuation on release controls include toggle switches, mode selection controls, and page control selection. In a manner to be described, these controls are actuated by the operator touching the desired control, with visual feedback highlighting indicating that the desired control is enabled, and then releasing touch to actuate the function. The toggle switch keys return to their original state if touch slides out of the control area on the touchscreen but change if touch is released. In a raster scan radar display system such toggle switches may actuate a true motion display, a timer, a collision alarm and the like. Mode selection switches that are actuated on release may, for example, include display controls for North Up, Course Up, Heading Up and the like. The present invention may be utilized in a system where the control panals are organized into menu driven pages. The main processor 13 may display, on the monitor 1⊘, a menu page of keys which, when actuated by the touchscreen 11, display pages of control panals associated with the menu keys. In this manner large numbers of associated controls may be displayed on the monitor 1⊘ for selective actuation by the operator via the touchscreen 11. Function actuation on touch controls include momentary switches and parameter adjustment control enabling. The momentary switches actuate the control upon initial touch of the displayed key and the release of touch deactuates the key. These controls are actuated when the operator touches the touchscreen 11 within the area of the control displayed on the CRT monitor 1⊘. Generally, the actuation on touch controls are displayed over a larger touch area than the sliding touch/actuation on release controls. An example of a momentary switch control is the Heading Mark Function. Parameter adjustment controls include potentiometers, multi-selection switches, data entry controls and cursor positioning controls. A parameter adjustment control is enabled by the operator by a first touch on the control key. Successive touches cause the parameter to change value by detecting the change in touch position. Adjustment is facilitated by dedicating the entire touch panal 11 to the enabled control. In a manner to be explained, the parameter adjustment controls are automatically disabled when no touches are detected for a period of time. The main processor 13 via the CRT controller 16 provides commands to generate the desired characters and control key symbology on the monitor 1⊘. The main processor 13 commands character selection, symbology selection, color selection, and the like. The main processor 13 causes a key or control to be highlighted by commanding selected background and foreground colors. The details of the touchscreen routines 18 are illustrated in the flow charts of Figures 2-5. Referring to Figure 2, the control flow for the touch response interrupt routine is illustrated. The routine of Figure 2 is interrupt driven on a real time basis every 1/16 seconds and thus the routine is entered at a start block 3⊘ via the 16 Hz. interrupt signal 2⊘. Control flows to a block 31 representing the storage of the X and Y touch positions from the previous iteration in X PREV and Y PREV, respectively, and the new X and Y touch positions in X and Y, respectively. Thus with respect to Figure 1 the contents of the store 24 are transferred to the store 22 and the contents of the store 25 are transferred to the store 23 and the current X and Y touch coordinates provided via the touch screen controller 14 and the bus 15 are loaded into the stores 24 and 25, respectively. When the operator touches the touch screen 11, the X and Y touch positions sampled by the interrupt routine of Figure 2 become non-zero. When no touch is effected the new X and Y touch positions are both zero. Control flow enters a decision block 32 that tests the parameter adjustment flag 26 (Fig. 1) to determine if it is set to true or false. If the parameter adjustment flag is false, control flows to a decision block 33 that tests if there was a touch during the previous iteration. A touch response during the previous iteration is manifested by either X PREV or Y PREV being non-zero. If there was no touch during the previous iteration, X PREV and Y PREV will be zero and control flows via a path 34 to an End Block 35. It is appreciated that means (not shown) are included whereby control executes path 34 to the End Block 35 when there is no touch for at least two iterations. If, however, the touch screen 11 was touched during the previous iteration control flows to a block 36. The block 36 decodes the values X PREV and Y PREV to detect if a control area was touched during the previous iteration. The main program 19 determines if X PREV and Y PREV define a point within the rectangular boundary of a control. If (X PREV, Y PREV) is not within the boundary of any control no processing is performed. If, however, the touch position (X PREV, Y PREV) is within the boundary of a control key, the processing associated with the touched control is performed. Accordingly a control routine defined by X PREV, Y PREV, as detailed in Figures 3-5 is executed when a control is touched. The system includes three types of control routines: Actuate on Release, Actuate on Touch, and Parameter Adjustment. Figure 3 illustrates the control flow for the Sliding Touch/Actuate on Release controls. Figure 4 illustrates the control flow for the Actuate on Touch controls. Figure 5 illustrates the control flow for the Parameter Adjustment controls. Thus the diagrams of Figures 3-5 are generic process control flow diagrams initiated and performed when control flow enters the block 36. It is appreciated that the routines performed pursuant to the block 36 are entered via a 1/16 second old touch sample and are exited via a path 37 to the End block 35. If the control being touched is an Actuate on Release control, the routine of Figure 3 is utilized. Referring to Figure 3 control enters at a Start block 4⊘ and flows to a decision block 41 for testing the current X,Y touch position. If X and Y are both zero, the operator has released touch and control flows to an Actuate Control block 42. Pursuant to the block 42, the control procedure is actuated corresponding to the control that was touched, highlighted, and released. If, however, in the decision block 41, either X or Y is non-zero control flows to a decision block 43 to determine if the operator is maintaining touch on the same control or has slid touch out of the control boundaries. Contol (X,Y) defines the control within the boundaries of which the touch point (X,Y) resides. The decision block 43 determines whether or not the current touch position (X,Y) resides within the boundaries of the same control as the previous touch position (X PREV, Y PREV). If X and Y indicate that the operator has moved touch to another control, the visual feedback for the control out of which operator touch has slid is deleted from the display pursuant to a block 44. If however X and Y indicate that the operator touch is on the same control, visual feedback is maintained on the touched control pursuant to a block 45. It is appreciated that visual feedback highlighting is dependent on the control selected and is schematically represented by the visual feedback block 21 discussed above with respect to Figure 1. Thus the decision block 43 determines if Control (X,Y) is not the same as Control (X PREV, Y PREV). If the touch position (X,Y) is not in a control area, control returns to the Start block 4⊘ until touch slides into the area of a new control. Control flows from the blocks 42, 44, and 45 to an End block 46 whereat the routine of Figure 3 is exited. If the control being touched pursuant to the block 36 of Figure 2 is an Actuate on Touch control, the routine of Figure 4 is performed. Referring to Figure 4, control enters at a Start block 5⊘ and flows to a decision block 51 whereat the current touch position (X,Y) is tested. If the current touch position is non-zero, touch resides on the Actuate on Touch control that caused entry into the Figure 4 routine. Accordingly, visual feedback is provided for the control pursuant to a block 52 and the control is actuated pursuant to a block 53. If however, the current touch position is no longer on this control, the visual feedback is deleted with respect thereto as indicated by a block 54. Control flows from the blocks 53 and 54 to an End block 55 whereat the routine of Figure 4 is exited. If Control (X PREV, Y PREV) processed in the block 36 of Figure 2 is a Parameter Adjustment control, the Parameter Adjustment Controls routine of Figure 5 is executed. The routine of Figure 5 sets up a generic parameter adjustment routine 6⊘ of Figure 2 and sets the Adjust Parameters flag to true so that the parameter adjustment execution will be effected by the 16 Hz interrupt routine. During the parameter adjustment mode, control will repetitively flow through the general parameter adjustment routine 6⊘ of Figure 2 until the parameter adjustment timer times out. Thus it is appreciated that because the Adjust Parameter flag is set to true until parameter adjustment timeout, the Parameter Adjustment routine of Figure 5 will be executed only upon the initial touch of a parameter adjustment control. Referring to Figure 5 control flow enters the routine at a Start block 61 and then flows to a block 62 for highlighting the touched parameter adjustment control by providing visual feedback. As discussed above, visual feedback is provided by the visual feedback routine 21 in the main processor 13 of Figure 1. Control proceeds to a block 63 to set up the generic parameter adjustment routine 6⊘ of Figure 2 for execution by the 16 Hz interrupt routine. Specifically the block 63 sets up a Perform Adjust Parameter Procedure block 64 of Figure 2 as well as the parameter adjustment timer 27 of Figure 1. The block 63 passes the value to be adjusted and a routine to compute the upper and lower bounds of the value to the block 64 for processing during the subsequent 16 Hz. iterations. The block 63 also passes a timeout time associated with the value to be adjusted to the timer 27 of Figure 1. In a manner to be described, the generic parameter adjustment routine 6⊘ of Figure 2, execution every 1/16 seconds when enabled by the Adjust Parameters flag 26 of Figure 1, senses X position touch changes and adjusts the value of the parameter accordingly. With continued reference to Figure 5, after setting up for execution of the parameter adjustment routine at the block 63, control flows to a block 65 that sets up a Parameter Adjust Exit Routine block 66 of Figure 2 for execution during the 16 Hz interrupt routine. The Set Up for Execution of Parameter Adjust Exit block 65 passed a routine in accordance with the parameter to be adjusted to the block 66 of Figure 2 to be executed at parameter adjustment timeout. This exit routine deletes the visual feedback highlighting from the actuated control key for the adjusted parameter. Control then flows to a block 67 for setting the Adjust Parameters flag to true. Control exits from the Parameter Adjustment Controls routine of Figure 5 at an End block 68. With the Adjust Parameters flag set to true, the system enters the parameter adjustment mode where visual feedback of the parameter adjustment control indicates that this mode is active and all subsequent X touch position changes refer to the parameter being adjusted until the mode is exited. The Adjust Parameter Procedure changes the value of the parameter being modified by sensing changes in operator X touch position. When a parameter adjust control is enabled, touches over the entire touch screen 11 (Fig. 1) are utilized for the modification and no other controls may be activated during this mode. The operator may adjust the parameter from any position on the screen since the adjustment procedure only utilizes changes in X touch positions. X touch data is utilized to modify the parameter, where positive changes in X increase the value of the parameter and negative changes in X decrease the value of parameter. Referring again to Figure 2, upon receiving the 16 Hz interrupt, the touch position sampling procedure described above with respect to the block 31 is performed. The Adjust Parameters flag (in store 26 of the main processor 13 of Fig. 1) is tested at the decision block 32. Since the Adjust Parameters flag was set to true at the block 67 (Figure 5), control flows to the block 64 for performing the Adjust Parameter Procedure. A preferred parameter adjustment procedure may be implemented as follows: Delta = Delta + (X-X PREV) - Applied Delta *K If (X = ⊘ or X PREV = ⊘) Delta = ⊘ Applied Delta = Delta/K Parameter = Parameter + Applied Delta The factor K determines the parameter adjustment touch sensitivity by relating the change in parameter value to the magnitude of the touch position change. After performing the procedure pursuant to the block 64, control flows to a decision block 8⊘ to test if a touch is being maintained. If the operator is touching the screen, the parameter adjust timer 27 (Figure 1) is set to maximum at a block 81. If touch has been released, the block 81 is bypassed by a path 82. Control flows thereafter to a block 83 whereat the timer 27 is decremented. From the block 82 control flows to a decision block 84 to determine if the timer 27 has timed out. If the timer 27 has not timed out, control flows via a path 85 to the End block 35. Thus when a parameter is being adjusted, no touch results in no change to the value of the parameter and permits the parameter adjustment timeout timer to decrement by not resetting the timer to maximum. When the timer 27 times out, control flows to the block 66 whereat the Parameter Adjust Exit Routine is performed. The exit routine deletes the parameter adjust control visual feedback and sets the Adjust Parameters flag to false at a block 86. After setting the flag to false, control flows to the End block 35. Thus it is appreciated that the parameter adjustment mode is exited with touch reverting to normal operation upon release of touch after the time delay effected by the timer 27 has timed out. The logic implemented by the blocks 8⊘-84 and the timer 27 provides a thumb wheel affect to the parameter adjustment procedure. The parameter adjustment mode may be entered either by the Actuate on Touch or the Sliding Touch/Actuate on Release procedures described above. While the parameter adjustment mode is enabled, the actuated control process is performed at the real time rate of 16 Hz via the 16 Hz interrupt routine of Figure 2. The parameter adjustment procedure facilitates entering data into the system by the operator. The touch panal apparatus of the present invention provides advantages over previous touch panal controls since the operator selects a control in a crowded control area by sliding touch to the control until receiving visual feedback assurance of proper control selection. The operator then actuates the control function by releasing touch. The two principle advantages of the sliding touch process of the present invention are: 1) a considerable reduction in accidental acutation of a control, and 2)a significant enhancement in control density since the controls may be displayed over significantly smaller areas because of the sliding touch, visual feedback, and actuation upon release process. It is appreciated from the foregoing that the invention renders touchscreen front panals more desirable for use as a device control than prior art arrangements. The present invention provides greater versatility than prior art configurations because the software controls the appearance of the front panal layout. The invention is less expensive since the number of mechanical switches required is reduced to a minimum. While the invention has been described in its preferred embodiment, it is to be understood that the words which have been used are words of description rather than limitation and that changes may be made within the purview of the appended claims.

Claims: Touchscreen control panel apparatus comprising display means (10), touchscreen means (11, 14) including a touchscreen overlay (11) on said display means, said touchscreen means providing touch coordinate signals in accordance with operator touch on said touchscreen overlay and a touchscreen release signal in the absence of an operator touch, key generation means (13, 16) for displaying a plurality of control keys on said display means, highlighting means (13, 18, 21) for highlighting a control key being touched, highlight deletion means (13, 44) for deleting said highlighting with respect to a control key from which operator touch has slid, and control actuation means (13, 19) for actuating a control function associated with a highlighted control key in response to said touch release signal. The apparatus of claim 1 wherein said touchscreen overlay (11) comprises a capacitive touchscreen. The apparatus of claim 1 further including sliding touch detecting means (13, 43) for detecting when operator touch has slid from a first control key to a second control key. The apparatus of claim 3 including further control actuation means (13, 53) for actuating a control function associated with a highlighted control key in response to operator touch thereon. The apparatus of claim 4 further including iterative means comprising means for storing (24, 25) said touch coordinate signals for a current iteration, means for storing (22, 23) said touch coordinate signals from an iteration prior to said current iteration, and routine determining means for determining, in the absence of said touch release signal, if a touched control key controls an actuate on release function or an actuate on touch function. The apparatus of claim 5 further including parameter adjustment means and wherein said routine determining means includes means for determining if a touched control key controls an adjustable parameter. The apparatus of claim 6 wherein said parameter adjustment means comprises parameter value adjustment means for adjusting the value of a parameter in accordance with changes in said touch coordinate signals, and parameter adjustment actuating means for actuating said parameter value adjustment means when said routine determining means detects a touched key associated with said parameter. The apparatus of claim 7 wherein said parameter adjustment means includes an adjust parameters flag set in response to said routine determining means detecting a touched key associated with said adjustable parameter, said parameter value adjustment means being actuated when said adjust parameters flag is set. The apparatus of claim 7 wherein said parameter adjustment means includes timer means decremented in response to said touch release signal for controlling deactuation of said parameter value adjustment means when said timer times out. The apparatus of claim 7 wherein said touch coordinate signals comprise first and second coordinate signals and said parameter value adjustment means comprises means for adjusting the value of said parameter in accordance with changes in said first coordinate signal only.

Inventors: CORBETT JAMES D, CORNETT JOHNNY A, CORBETT, JAMES D., CORNETT, JOHNNY A.
Applicants: SPERRY MARINE INC, SPERRY MARINE INC.
Application year: 1988
Main classification: G06K11
IPC codes: G06F3