GB2193586A - Rotary knob driven computer input system - Google Patents

Rotary knob driven computer input system Download PDF

Info

Publication number
GB2193586A
GB2193586A GB08703598A GB8703598A GB2193586A GB 2193586 A GB2193586 A GB 2193586A GB 08703598 A GB08703598 A GB 08703598A GB 8703598 A GB8703598 A GB 8703598A GB 2193586 A GB2193586 A GB 2193586A
Authority
GB
United Kingdom
Prior art keywords
knob
data
signal
interrupt
value
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.)
Withdrawn
Application number
GB08703598A
Other versions
GB8703598D0 (en
Inventor
Brian David Diehm
Lester Laverne Larson
James Carl Stanley
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.)
Tektronix Inc
Original Assignee
Tektronix 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
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of GB8703598D0 publication Critical patent/GB8703598D0/en
Publication of GB2193586A publication Critical patent/GB2193586A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0362Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

A rotation detection circuit monitors the rotation of a rotary control knob and generates a direction signal indicating the direction of rotation and an interrupt signal whenever the control knob is rotated through a predetermined angle. The interrupt signal is applied to an interrupt input of a microprocessor and causes the microprocessor to read the direction signal and to increment or decrement stored interim displacement data representing the angular displacement of the control knob according to the state of the direction signal. The interim displacement data is used to modify a net displacement data signal Do corresponding to the net angular displacement of the knob. Interruption thus occurs only when the knob is moved. The system is part of a measurement arrangement (Fig. 1). <IMAGE>

Description

SPECIFICATION Rotary knob driven computer input system Background of the Invention The present invention relates in general to devices for providing input data to a computer and more particularly to an input device driven by a rotary knob.
Many electronic measurement instruments include microprocessor systems for improving signal measurement functions. In certain of these instruments key switches are used to set measurement conditions, to control data display scrolling operations, or to enter alphanumeric data.
Sometimes one or more keys (e.g., increment and decrement keys) are used to alter parameter settings or data values or to control a scrolling operation. Each depression of the key then causes a predetermined next data value, parameter setting, or data line on a scrollable list to be displayed. Usually when a key is held down successive changes in data or parameter values or in scrollable list position will occur at a predetermined fixed rate of progression. Often this causes "overshoot" in which the data value, the parameter setting or the list scrolling progresses farther than intended. The user is then obliged to initiate the adjustment process again and to progress more slowly to the desired point.Typically a progression rate chosen is either too slow to move conveniently through a large number of setting values or a long scrollable list, or too fast to properly examine each data value' or list line. As control systems, these instruments are generally quite complex, underscoring the need for simpler systems capable of performing data entry and parameter setting operations. In U. S. Patent No. 4,561,049 entitled "Control 8ystem Employing a Rotary Knob", issued December 24, 1985, a system is described which is responsive to actuation of a manualiy operable rotary knob for controlling display scrolling, the setting of measurement conditions, and the entering of alphanumeric data. The rotary knob is used to position or actuate a mechanical switch which generates a two-bit Gray code in accordance with the rotation of the knob.This Gray code is applied to a conditioning circuit which generates a direction signal and a clock signal for a counter, the direction signal representing the direction of rotation of the knob and the frequency of the clock signal representing the knob rotation rate. The count maintained by the counter is incremented or decremented on each occurrence of the clock signal according to the state of the direction signal such that the count represents the net rotation of the knob. The content of the counter is periodically read and reset by a microprocessor end used as a delta value representing a change to be made to stored data. The stored data may represent a parameter value, an alphanumeric input, or a control value for display scrolling.
Since the rate at which data changes are made and therefore the rate at which new data values are generated (the repetition rate) in the previous system is proportional to the rate at which the user turns the knob a large range of values may be generated conveniently. If the user wishes to examine each entry or each display location, the knob may be turned slowly. If the user already knows what value is desired, or wishes to quickly scroll through displayed data, a faster knob rotation rate may be used.
While this system is generally effective as a data input device, the microprocessor must continuously poll the counter in order to determine when the knob position has been changed.
This polling requires a certain amount of processing time even when the knob is not being used.
Since in many applications the control knob is used only infrequently, much of the processing time of the microprqcessor is wasted monitoring the counter output. This becomes a problem in systems utilizing several such rotary knob input devices and often a dedicated microprocessor must be provided ta handle polling.
Summary of the Invention According to one aspect of the present invention, a system is provided which is responsive to actuation of a manually-operated rotary knob for controlling the value of stored data. The rotary knob is used to position or actuate a mechanical (or opto-electronic) switch which generates a two-bit Gray code in accordance with the rotation of the knob. This Gray code includes a direction signal and an interrupt signal, the direction signal representing the direction of rotation of the knob, and the frequency of the interrupt signal representing the rotation rate. The direction signal provides a data input to a latch, while the interrupt signal is applied to the clock input of the latch, such that each time the interrupt signal is generated the current state of the direction signal is latched onto a computer bus accessed by a microprocessor.The interrupt signal is applied to an interrupt input of the microprocessor which reads the latched direction bit on the bus on each occurrence of the interrupt signal and increments or decrements the stored data representing the total displacement of the control knob according to the state of the direction bit. Since the microprocessor reads the latched direction data bit on an interrupt basis only when the control knob has been moved, the microprocessor does not spend time polling an input device when the rotary control knob is inactive.
It is accordingly an object of the invention to provide input to a computer utilizing a rotary knob in a manner which minimizes computer overhead.
The subject matter of the present invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. However, both the organization and method of operation, together with further advantages and objects thereof, may best be understood by reference to the following description taken in connection with accompanying drawings wherein like reference characters refer to like elements.
Drawings FIG. 1 is a block diagram of a measurement system employing a preferred embodiment of the present invention, and FIG. 2 is a flow chart of software for the microprocessor of FIG. 1 for controlling the value of stored data according to output signals provided by the knob hardware of FIG. 1.
Detailed Description Referring to FIG. 1, there is shown a block diagram of a signal measurement system utilizing a preferred embodiment of the present invention. Switch 10 is a conventional mechanical or optoelectronic switch for generating a two-bit Gray code in accordance with the rotation of a knob (not shown). In FIG. 1 the mechanical type Gray code generation switch is shown represented by two contacts controlled by the knob so as to generate the Gray code. Gray code condition circuit 12 receives the Gray code output from switch 10 and generates a single bit direction signal indicating the direction of turn of the knob, and generates a clock signal whenever the knob is rotated through a predetermined angle in either a clockwise or counter clockwise direction.The clock output signal of the condition circuit 12 is applied to a clock input of a latch 14 which latches the direction signal onto a line of a computer bus 16. The combination of switch 10, circuit 12 and latch 14 comprises knob hardware 32. Switch 10 and circuit 12 are known and disclosed in Japanese published unexamined Patent Application No.
54-36194 and UM Application No. 57-67435.
A measurement instrument 20 such as a logic analyzer typically acquires an input signal and measures it under control of instruction signals from bus 16 and the measurement results are applied to bus 16. Bus 16 is further connected to a display controller 22, a microprocessor 24, a read only memory (ROM) 26 and a random access memory (RAM) 28. Display controller 22 controls cathode ray tube (CRT) 30 for displaying measurement results and setting values of measurement instrument 20. In the preferred embodiment of the invention, microprocessor 24 operates under control of software stored in ROM 26 and utilizes RAM 28 for temporary data storage.
The clock signal output of Gray code condition circuit 12 is also applied as an interrupt input to microprocessor 24 and whenever microprocessor 24 is interrupted by such signal it reads the direction bit latched onto bus 16 by latch 14. FIG. 2 is a signal flow diagram of software responsive to the operation of knob hardware 32. The clock signal output of knob hardware 32 calls a knob interrupt handler routine 34 which reads the state of the direction output signal latched onto bus 16 by latch 14 of FIG. 1 and increments or decrements interim displacement data 36 stored in RAM 28 of FIG. 1. The value Di of the interim displacement dicta 36, initiaily set to zero on system start up, indicates a relative angular displacement of the rotary -knob since the last time Di was set to zero.The interim displacement data 36-is incremented or decremented according to the state of the direction bit each time the interrupt input is generated, and therefore indicates an angle through which the knob has been rotated since Di was last set to zero. When as a result of knob movement the interim displacement data Di changes from zero to a positive or negative number, the knob interrupt handler routine 34 transmits a status update message to a net data update task 38 to indicate that the net angular displacement of the knob is non-zero.
After the interrupt handler 34 ends, the microprocessor 24 resumes normal operations, executing various tasks in response to messages sent to the tasks. When the microprocessor executes the net displacement update task 38 to respond to the status update message from the interrupt handler routine 34, the net displacement update task 38 transmits a "count request" message to a data read task 40. When the microprocessor 24 subsequently executes the data read task 40, in response to the count request message from task 38, the current value Di of interim displacement data 36 is acquired from RAM 28 and transmitted to the net displacement update task 38 in a "count" message, and the value Di of the interim displacement data 36 stored in RAM 28 (36) is reset to zero. The total amount of knob displacement since system start up is indicated by the value Dn of net displacement data 42 stored in RAM 28.
This value, Dn, is initially set to zero on system start up and thereafter, when the net displacement update task 38 is executed in response to a count message from data read task 40, the value of the net displacement data (Dn) 42 is adjusted by the value of the interim displacement data conveyed in the count message and an "update" message is sent to output task 44. When the output task 44 is executed in response to the update message from task 38, the net displacement data Dn (42) is acquired from memory and utilized as a parameter for controlling a function of the meesurement system such as for example controlling display scrolling, setting measurement conditions, or entering alphanumeric data.
The following is a pseudocode listing for the knob interrupt handler: Knob Interrupt Handler (1) IF Di = 0 (2) THEN DO (3) SEND status update message to Net Displacement Update task (4) END (5) READ DIR (6) IF DIR = 1 (7) THEN DO (8) ADD 1 TO Di (9) END (l0) ELSE DO (ill) SUBTRACT 1 FROM Di (12) END (13) RETURN When the knob interrupt handler routine 34 is called by the interrupt signal from the knob hardware 32, it checks the value of the interim displacement data Di in line (1). If Di is equal to zero, then in lines (2)-(4) the knob interrupt handler 34 sends the status update message to the net displacement update task 38 of tlG. 2.In line (5) the knob interrupt handler routine 34 reads the value of the direction bit DIR and in lines (6)-(9) the knob interrupt handler routine adds one to the value of Di if the direction bit is a logical one. If Di is a logical 0 then in lines (10)-(12) the knob interrupt handler routine subtracts one from the value of Di. The knob interrupt handler routine ends in line (13).
The following is a pseudocode listing for the net displacement update task 38 of FIG. 2: Net Displacement Update Task (21) Initialize: Dn = 0 (22) IF status update message pending (23) THEN DO (24) SEND count request message to Data Read Task (25) WAIT for count message from Data Read Task (26) ADD Di to Dn (27) SEND update message to Output Task (28) END (29) RELINQUISH TASK The net displacement update task 38 is executed once during system initialization and in line (21) the value of the net displacement data Dn is set to zero. Thereafter in lines (22)-(28) the net displacement update task checks to see if a status update message is pending and if a status update message is pending, the task sends a count request message to the data read task 40 of FIG. 2 and waits for a count message from the data read task.When the count message is received conveying the current value of the interim displacement data Di, the net displacement update task replaces the stored value of Dn with the sum of Di and Dn and then sends the update message to the output task 44 of FIG. 2. The task is then relinquished in line (29).
The following is a pseudocode listing for the data read task 40 of FIG. 2: Data Read Task (31) Initialize: Set Di t'O (32) IF count request message pending (33) THEN DO (34) READ Di (35) SEND count message to Net Displacement Update Task (36) SET Di n (37) END (38) RELINQUISH TASK During system startup, the data read task, starting in line (31), initializes the value of the interim displacement data Di to zero. Thereafter when the data read task is called in response to a count request message, lines (32)-(37) are executed wherein the data read task reads the value of the interim displacement data Di, sends the count message containing the value of Di to the net displacement update task, and then sets the value of Di stored in RAM 28 to zero. The task is relinquished in line (38).
Thus the rotary knob driven computer input system of the present invention enables an operator to control the value of data stored in a computer system by rotating a knob and yet does not require the computer system to continuously poll data stored in a counter or other external device in order to determine when the knob has been rotated.
While a preferred embodiment of the present invention has been shown and described, it will be apparent to those skilled in the art that many changes and modifications may be made without departing from the invention in its broader aspects. The appended claims are therefore intended to cover all such changes and modifications as fall within the true spirit and scope of the invention.

Claims (6)

1. An apparatus for adjusting stored data comprising: a rotatable knob; a rotation detection circuit, monitoring the rotation of said rotatable knob, for generating a direction signal indicating the direction of knob rotation, and for generating a clock signal whenever the knob is rotated through a predetermined angle; means for storing data; and processing means having an interrupt input for receiving the clock signal and a data input for receiving the direction signal, for adjusting the value of stored data according to the state of said direction signal on each occurrence of said clock signal.
2. An apparatus for adjusting stored data, comprising: a rotatable knob; a rotation detection circuit monitoring the rotation of said rotatable knob, for generating a direction signal indicating the direction of knob- rotation, and for generating an interrupt signal whenever the knob is rotated through a predetermined angle; means for storing interim displacement data representing a relative angular displacement of said knob; and processing means, having an interrupt input for receiving the interrupt signal and a data input for receiving the direction signal, for executing an interrupt handling routine on eqch occurrence of said interrupt signal, said interrupt handling routine modifiying the value of said interim displacement data according to the state of said direction signal.
3. The apparatus according to claim 2 wherein said means for storing also stores net displacement data and wherein said processing means is programmed to change the value of said net displacement data according to the value of said stored interim displacement data and to thereafter set the value of said interim displacement data to zero.
4. An apparatus for adjusting stored data, comprising: a rotatable knob; a rotation detection circuit monitoring the rotation of said rotatable knob for generating a direction signal indicating the direction of knob rotation and for generating an interrupt signal whenever said knob is rotated through a predetermined angle; means for storing interim displacement data and net displacement data each representing angular displacement of said knob; and processing means, having an interrupt input for receiving the interrupt signal and a data input for receiving the direction signal, for executing an interrupt handling routine on each occurrence of said interrupt signal, said interrupt handling routine adjusting the value of said interim displacement data knob according to the state of said direction signal, for executing a net displacement update task for adjusting the value of said net angular displacement data by the value of said interim displacement data, and for executing a data read task for providing said net displacement update task with said value of interim displacement data and thereafter setting the value of said interim displacement data to indicate zero angular displacement.
5. A control system connectable to a signal measurement and display instrument, comprising: a rotatable knob; a rotation detection circuit monitoring the rotation of said rotatable knob for generating a direction signal indicating the direction of knob rotation, and for generating an interrupt signal whenever the knob is rotated through a predete'rmined angle; means for storing data representing an angular displacement of said knob; and processing means, having an interrupt input for receiving the interrupt signal and a data input for receiving the direction signal, for selectively modifying said stored data according to the state of said direction signal on each occurrence of said interrupt signal, said stored data controlling operating conditions for said signal measurement and display instrument.
6. An apparatus for adjusting stored data as hereinbefore described with reference to the accompanying drawings.
GB08703598A 1986-08-04 1987-02-17 Rotary knob driven computer input system Withdrawn GB2193586A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US89296286A 1986-08-04 1986-08-04

Publications (2)

Publication Number Publication Date
GB8703598D0 GB8703598D0 (en) 1987-03-25
GB2193586A true GB2193586A (en) 1988-02-10

Family

ID=25400783

Family Applications (1)

Application Number Title Priority Date Filing Date
GB08703598A Withdrawn GB2193586A (en) 1986-08-04 1987-02-17 Rotary knob driven computer input system

Country Status (3)

Country Link
JP (1) JPS6339018A (en)
GB (1) GB2193586A (en)
NL (1) NL8700717A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0498540A2 (en) * 1991-02-06 1992-08-12 Hewlett-Packard Company Mechanical detent simulating system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1295307A (en) * 1969-04-14 1972-11-08
GB2010035A (en) * 1977-10-07 1979-06-20 Transcale Ab Control apparatus for an electronic device
EP0120683A1 (en) * 1983-03-23 1984-10-03 Tektronix, Inc. Control system employing a rotary knob
GB2157033A (en) * 1984-09-22 1985-10-16 Tippey Keith Edward Control device for computer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180614A (en) * 1983-03-30 1984-10-13 Jeol Ltd Joy stick control device
JPS61131110A (en) * 1984-11-30 1986-06-18 Fujitsu Ltd Input device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1295307A (en) * 1969-04-14 1972-11-08
GB2010035A (en) * 1977-10-07 1979-06-20 Transcale Ab Control apparatus for an electronic device
EP0120683A1 (en) * 1983-03-23 1984-10-03 Tektronix, Inc. Control system employing a rotary knob
GB2157033A (en) * 1984-09-22 1985-10-16 Tippey Keith Edward Control device for computer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0498540A2 (en) * 1991-02-06 1992-08-12 Hewlett-Packard Company Mechanical detent simulating system
EP0498540A3 (en) * 1991-02-06 1994-07-20 Hewlett Packard Co Mechanical detent simulating system

Also Published As

Publication number Publication date
NL8700717A (en) 1988-03-01
GB8703598D0 (en) 1987-03-25
JPS6339018A (en) 1988-02-19

Similar Documents

Publication Publication Date Title
EP0120683A1 (en) Control system employing a rotary knob
AU611924B2 (en) Means and method for controlling input events in multi-processing computer systems
US5714983A (en) Interactive computer system with controllable rate repetition of computer actions in response to operator inputs
CA1178684A (en) Communication multiplexer using a random access memory for storing an acknowledge response to an input/output command from a central processor
US4410957A (en) Keystroke queueing system
EP0519695A2 (en) Method and apparatus for allowing computer circuitry to function with updated versions of computer software
EP0458304A1 (en) Direct memory access transfer controller
GB2140942A (en) Sequence control method and apparatus
WO1994029788A1 (en) A method for utilizing a low resolution touch screen system in a high resolution graphics environment
GB2122387A (en) Programmable controller
EP0259815B1 (en) Display terminal in a digital data system
GB2125645A (en) Method and apparatus for controlling a set point
GB2193586A (en) Rotary knob driven computer input system
US4309598A (en) Variable rate data entry apparatus and method
EP0498453A2 (en) Programmable controller with independent display
GB2175112A (en) Sequence control method and apparatus
EP0471681B1 (en) Real-time adjustable-transform device driver for physical devices
JPH07290547A (en) Remote control method of injection molding machine, local controller and remote control device
JP3164680B2 (en) Screen display data change device
EP0381140A2 (en) Data processing apparatus
JPH07152585A (en) Priority control monitor system
EP0335373A2 (en) Hardware status switching input control system
JPH03283097A (en) Internal constant setting device
JPH10171438A (en) Image display device
JPH06175798A (en) Variable picture display control system

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)