Context sensitive toolbar

Abstract
An oscilloscope apparatus, comprising a display for displaying a plurality of objects, a toolbar displayed on the display, and a user interface for selecting an object. The display displays one or more functions on the toolbar corresponding to the selected object.
Description


BACKGROUND OF THE INVENTION

[0001] The present invention relates generally to a method and apparatus for processing waveform data acquired by an oscilloscope using a streaming architecture.


[0002] A Digital Oscilloscope is a complex instrument for measuring electrical signals. It is composed of many electronic hardware modules and many software modules that cooperate together in capturing, processing, displaying and storing information that characterizes the signals of interest to an operator. There are several groups of requirements that need to be addressed when creating instruments that are easy to set up and use, despite the inherent complexity of the task.



SUMMARY OF THE INVENTION

[0003] Modern digital oscilloscopes display many types of informational objects on the screen. Some of the types of information include “raw” acquisition waveforms, processed waveforms, cursors which also display numerical information corresponding to the waveforms, automated measurements on the waveforms, and axis labels and/or descriptors to indicated the scales of the waveforms. Typically, a DSO has separate menus which allow the user to configure a channel, setup a math function, turn on cursors or measurements, etc.


[0004] The purpose of the invention is to allow the user to perform common operations on major system objects in the simplest manner possible. According to the invention, the user selects an object he is currently interested in and the system displays the most common processing or display functions on a toolbar that are associated with the type of selected object. When the user selects an item from the toolbar, the system automatically defines the object as source for the selected object, thus simplifying setup of the selected operation. For example, if the user selects a channel the toolbar may include items such as (but not limited too): turn off channel, setup this channel, define a zoom of this channel, define a math trace that uses this channel as the source, and define measurements on this channel. Thus, the general system toolbar is not inundated with selections for each possible selectable function, and upon selection of an object on the oscilloscope, the user can easily determine all possible functions available for use with the selected object.


[0005] Still other objects and advantages of the invention will in part be obvious and will in part be apparent from the specification and the drawings.


[0006] The invention accordingly comprises the several steps and the relation of one or more of such steps with respect to each of the others, and the apparatus embodying features of construction, combinations of elements and arrangement of parts that are adapted to effect such steps, all as exemplified in the following detailed disclosure, and the scope of the invention will be indicated in the claims.







BRIEF DESCRIPTION OF THE DRAWINGS

[0007] For a more complete understanding of the invention, reference is made to the following description and accompanying drawings, in which:


[0008]
FIG. 1 is a graphical depiction of a conceptualization of the operation of an oscilloscope constructed in accordance with the invention;


[0009]
FIG. 2 shows an instrument screen using the present invention;


[0010]
FIG. 3 shows an instrument screen using the present invention;


[0011]
FIG. 4 shows an instrument screen using the present invention;


[0012]
FIG. 5 shows an alternate embodiment of the present invention;


[0013]
FIG. 6 is a flowchart of the operation of the present invention; and


[0014]
FIG. 7 is an additional flowchart of the operation of the present invention.







DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] The preferred embodiments of the apparatus and method according to the present invention will be described with reference to the accompanying drawings. These preferred embodiments are applicable to conventional as well as an improved modular oscilloscope design, as will be described below.


[0016] In accordance with the invention, an improved oscilloscope design is provided that is completely “modular”, whereby the elements composing the oscilloscope software are completely specified in terms of interface, and are sufficiently independent in construction that they can be installed and removed at run-time, (e.g. without stopping the process which can be considered the oscilloscope application software). This is in contrast to existing products that include software that must be wholly replaced (in it's entirety) in order to change any small attribute of the software. This inventive approach offers commercial advantage because is shortens the overall logistics of releasing new software features, fundamental to the product or fundamental to a particular application of the product. As such, a special feature can be added after a customer has taken delivery and has the instrument (oscilloscope) in operation, after the fact, without the requirement to return or for that matter even stop using the instrument. This is of value to both the customer and the manufacturer.


[0017] Further, the modular design permits “unit testing” to further advance the quality of the overall product by permitting each individual component of the software to be tested in a standard “test harness”. Each component is provided with a standardized interface especially conceived to permit isolated testing. This forward looking, quality conscious aspect of the design assures final deployments of the product(s) are not hampered by the inability to localize faulty components. While these inventive oscilloscopes ease the implementation of the present invention, the present invention may be applied to any oscilloscope.


[0018]
FIG. 1 depicts a conceptualized notion of how the oscilloscope constructed in accordance with the invention operates. The flow of data is shown from left to right and control sequences provided by a user, either automated or manual, are shown from top down. As is shown in FIG. 1, a plurality of analog acquisition signals C1 are acquired by the oscilloscope of the invention. These acquisition signals are that are in turn controlled by an acquisition control module 112 acquired in accordance with various provided probes and other acquisition hardware 110. Various acquisition control processes are applied to the acquired waveforms in accordance with various control variables 120 provided by the user via a user interface 115.


[0019] Thereafter, various results data are provided to, and thereafter output from a preprocessing system 121, and are in turn acted upon in various post processing functions 130 employing user defined control variables, resulting in processed data (Results data) 135. The post-processed data is then exported and/or imported at 140 as necessary for further processing by the system 145. After processing has been completed, the various processed data is converted for display at 150 on a display device 155.


[0020] In accordance with the inventive graphical representation of the processing web of FIG. 1, a Processing Web Editor (PWEditor) is a tool provided in accordance with the invention for presenting the graphical representation of the configuration of a Processing Web (Web) to a user, enabling the web to be reconfigured, and enabling the properties of the various elements in the web to be viewed and modified by the user. Thus, instead of the fixed and constrained processing web shown in FIG. 1, a processing web for a more advanced oscilloscope may be constructed in accordance with the invention. This more advanced processing web may be edited in accordance with the PWEditor and may be configured in any manner desired by a user to generate any desired results, as will be described below. The Processing Web defines the flow of data from the input of a DSO through various stages of processing to the display device, as noted above.


[0021] As noted above, modern digital measurement instruments and oscilloscopes (DSO) display many types of informational objects on the screen. Some of the types of information include “raw” acquisition waveforms, processed waveforms, cursors which also display numerical information corresponding to the waveforms, automated measurements on the waveforms, and axis labels and/or descriptors to indicated the scales of the waveforms. Typically, a DSO has separate menus which allow the user to configure a channel, setup a math function, turn on cursors or measurements, etc.


[0022] The invention can be used during normal oscilloscope operations, or in accordance with design of the processing web, through the PWEditor described above. The invention is also applicable to standard oscilloscopes that do not employ such a processing web. Traditionally, digital storage oscilloscopes (DSOs) capture an electrical signal (waveform) and allow the user to view a trace of the captured signal in a time (x-axis) versus amplitude (y-axis) display. In addition to displaying the signal's trace, DSOs can perform mathematical processing on the captured waveform. This processing can be used to transform the entire waveform or to determine certain properties (features, parameters, measurements) of the captured signal. These properties are traditionally displayed as individual values associated with a particular signal trace on the DSO's screen. Typically, the processing is controlled and/or pre-selected using various display menus.


[0023] When analyzing a single feature of a particular captured signal (e.g. the rising edge of a signal), the ability to display processed values is a valuable tool. DSOs are now capable of performing numerous complex processing operations.


[0024] The purpose of the invention is to allow the user to perform common operations on the major system objects in the simplest manner possible. According to the invention, the user selects an object and system displays on a toolbar the most common functions that are associated with, and therefore may be implemented with, the selected object. When the user selects an item from this context sensitive toolbar, the system automatically defines the object as the source for the selected object, thus simplifying setup of the selected operation. For example, if the user selects a channel, a context sensitive toolbar associated with a channel selection is displayed, and may include items such as (but not limited too): turn off channel, setup this channel, define a zoom of this channel, define a math trace that uses this channel as the source, and define measurements on this channel. The selection of other objects from the oscilloscope display results in the display of other context sensitive toolbars related to the selected objects. While a toolbar is described, this toolbar refers to any portion of a display, predefined and reserved, or as an overlay pop-up feature that provides additional controls, functionality or other information that is accessible by a user.


[0025]
FIG. 2 shows an instrument screen employing the present invention. As is shown on screen 220 in FIG. 2, a menu bar 222, includes a toolbar 224 that has a standard set of icons such as an Analysis icon 226 and a Custom DSO icon 228. The toolbar 224 also has an area 230 for context sensitive icons that are determined by the last item (e.g trace, parameter, grid, etc) selected. In this case shown in FIG. 2, no item is selected. After the user selects a channel, such as channel 1 via pointing device such as a touch screen, mouse, or the instrument front panel or remote control, the context sensitive area 230 of the toolbar shows the specific operations or functions 236 the user can choose from to operate on the signal associated with channel C1, as shown in FIG. 3. For example, selecting an average icon will display a trace, which is the average of trace C1.


[0026] In FIG. 4, a user has selected a Mean (C1) measurement. Toolbar 224, in area 230, therefore includes specific operations available for measurements 238 associated with operation Mean (C1). For example, if a histogram button 240 is selected, a histogram of the mean of the signal on channel C1 is automatically displayed.


[0027] An alternate embodiment of the invention is shown in FIG. 5. In this embodiment, a toolbar 530 pops up on screen 520 when the user selects an object. This embodiment has the advantage of not requiring a reserved area of toolbar 224 for context sensitive toolbar 530. The disadvantage of this embodiment is that toolbar 530 may cover part of the user's data. Toolbar 530 is removed when the user selects another object, or scrolls elsewhere on screen 520 and therefore is only available when desired.


[0028]
FIG. 6 shows a flowchart of the operation when a user selects an object on the screen. In step S610, the user selects an object on the screen. In step S620, a determination is made whether the user has selected a channel or not. If the user has selected a channel, then in step S630 a context sensitive toolbar including functionality associated with the selected channel is displayed. If the user did not select a channel at step S620, control passes to step S640 where a determination is made whether the user has selected a math trace. If it is determined that the user has selected a math trace, then in step S650, a context sensitive toolbar including functionality associated with the selected math trace is displayed. If the user has not selected a math trace at step S640, then at step S660 a determination is made whether the user has selected a memory trace. If it is determined that the user has selected a memory trace, then in step S665 a context sensitive toolbar including functionality associated with the selected memory trace is displayed. If it is determined that the user has not selected a memory trace, then in step S670, it is determined whether the user has selected a measurement. If the user has selected a measurement, then in step S675, a context sensitive toolbar including functionality associated with the selected measurement is displayed. If not, then in step S680, it is determined whether a context sensitive toolbar associated with the selected item exists. If such a toolbar exists, then in step S690 the appropriate context sensitive toolbar for the selected item is displayed. If it is determined that such a context sensitive toolbar does not exist, then in step S695 no additional toolbar is displayed.


[0029]
FIG. 7 is a flowchart that shows how the invention reduces the number of steps needed to perform common operations. Note that in this example, a setup dialog is presented to the user, but this is not required for all operations from the toolbar. In this flowchart, the operation of selecting a “Measure” object from a context sensitive toolbar associated with a selected channel 1 receiving an input waveform is described after selecting channel x, and displaying a context sensitive toolbar including functionality associated with the selection of a channel. In step S710, the user selects Measure on the channel context sensitive toolbar. In step S715, the user is presented with a dialog to select a measurement or measurements. In step S720, the user selects a parameter and in step S725, the measurement is assigned to the next available parameter. In step S730, channel x is defined as the source for the measurement, and in step S735 the measurement feature is implemented. In step S740 a determination is made as to whether there are more measurements to define. If yes, then control returns to step S720. If there are no more measurements to define, then in step S750, the dialog is closed.


[0030] A further enhancement would be to have the scope “learn” what types of operation a particular user performs on each object type and dynamically add these features. Therefore, if a user selects a particular object, and then a further function (from a full menu of functions available on the oscilloscope, or other convenient location) to operate on that object, that function is added to the context sensitive toolbar associated with the selected object. Upon selection of a similar object in the future, the previously selected functionality is provided on a context sensitive toolbar, as described above. Thus, functions actually used by the user populate the various context sensitive toolbars associated with various objects. Of course, if a function is provided on a context sensitive toolbar and is not used b a user, this function may be removed from the toolbar in a similar fashion. Because in many labs, an oscilloscope is shared by more that one user, this feature may not be desirable and if included, the user is able override the feature.


[0031] While all provision of a context sensitive toolbar has been determined by a selected object, such toolbar provisions are not so limited. Certain functionality may also be provided based upon a value of a particular object. For example, if all values of a particular trace are very low, a zoom function may be provided, while if all of the values are so large as to not fit on a display, a zoom out function may be provided. As a further example, if a user selects a histogram object, in addition to displaying various context sensitive toolbar information associated with a histogram, if it is determined that the values in the histogram are extremely low, a functionality to change the bin width might be provided. While only as an example, any such value-based functionality in a context sensitive toolbar may be provided.


[0032] It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained and, because certain changes may be made in carrying out the above method and in the constructions set forth without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.


[0033] It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.


Claims
  • 1. An oscilloscope apparatus, comprising: a display for displaying a plurality of objects; a toolbar displayed on said display; and a user interface for selecting an object, said display displaying one or more functions on said toolbar corresponding to the selected object.
  • 2. The oscilloscope apparatus according to claim 1, wherein the object is a waveform.
  • 3. The oscilloscope apparatus according to claim 1, wherein the object is a measurement.
  • 4. The oscilloscope apparatus according to claim 1, wherein the object is a cursor value.
  • 5. The oscilloscope apparatus according to claim 4, wherein the function is change types.
  • 6. The oscilloscope apparatus according to claim 4, wherein the function is turn off.
  • 7. The oscilloscope apparatus according to claim 1, wherein the object is a parameter.
  • 8. The oscilloscope apparatus according to claim 7, wherein the function is trend.
  • 9. The oscilloscope apparatus according to claim 7, wherein the function is set up.
  • 10. The oscilloscope apparatus according to claim 7, wherein the function is histogram.
  • 11. The oscilloscope apparatus according to claim 1, wherein the object is a channel.
  • 12. The oscilloscope apparatus according to claim 11, wherein the function is setup channel.
  • 13. The oscilloscope apparatus according to claim 11, wherein the function is define zoom.
  • 14. The oscilloscope apparatus according to claim 11, wherein the function is define math trace.
  • 15. The oscilloscope apparatus according to claim 11, wherein the function is define measurements.
  • 16. The oscilloscope apparatus according to claim 1, wherein the object is a trace.
  • 17. The oscilloscope apparatus according to claim 1, wherein the object is a grid.
  • 18. An oscilloscope apparatus, comprising: a display for displaying a plurality of objects; a toolbar displayed on said display; a user interface for selecting an object displayed on said display; and a pop-up context sensitive toolbar displayed on said display, said context sensitive toolbar displaying one or more functions on said toolbar corresponding to said selected object.
  • 19. The apparatus of claim 18, wherein said functions displayed on said context sensitive toolbar are predetermined.
  • 20. The apparatus of claim 18, wherein said functions displayed on said context sensitive toolbar are determined based upon prior use of a particular function in conjunction with said selected object.
  • 21. The apparatus of claim 20, wherein a function is displayed on said context sensitive toolbar if it has been previously used with said selected object.
  • 22. The apparatus of claim 20, wherein a function is removed from said context sensitive toolbar if it has not previously been used with selected object.
  • 23. The apparatus of claim 18, wherein said functions displayed on said context sensitive toolbar are determined based upon one or more values of said selected object.
  • 24. A method for viewing a waveform on an oscilloscope, comprising the steps of: displaying a plurality of objects; displaying a toolbar; selecting an object displayed on said display; and displaying one or more functions on said toolbar corresponding to the selected object.
  • 25. The apparatus of claim 24, wherein said functions displayed on said context sensitive toolbar are predetermined.
  • 26. The apparatus of claim 24, wherein said functions displayed on said context sensitive toolbar are determined based upon prior use of a particular function in conjunction with said selected object.
  • 27. The apparatus of claim 24, wherein said functions displayed on said context sensitive toolbar are determined based upon one or more values of said selected object.
  • 28. A method for viewing a waveform on an oscilloscope, comprising the steps of: displaying a plurality of objects; displaying a toolbar; selecting an object displayed on said display; and displaying a pop-up context sensitive toolbar, said context sensitive toolbar displaying one or more functions on said toolbar corresponding to said selected object.
  • 29. An oscilloscope apparatus, comprising: an acquisition unit for acquiring a waveform; a processor for processing said waveform to obtain a plurality of measurements; a renderer for displaying said waveform and a plurality of objects respectively and showing the plurality of measurements on a display; a toolbar displayed on said display; and a user interface for selecting an object displayed on said display, said renderer displaying one or more functions on said toolbar corresponding to the selected object.