Method and system for displaying vehicle data parameters using an operating condition indicator
By receiving vehicle data parameters associated with PID, using a display and time-based indicator to display vehicle data parameters, the inefficiency of data display and analysis in vehicle maintenance is solved, real-time monitoring is achieved and maintenance efficiency is improved.
Patent Information
- Application Number
- CN202011221330.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2014-11-03
- Filing Date
- 2015-11-03
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2036-01-22
AI Technical Summary
In the prior art, effective methods and systems are lacking in vehicle maintenance to display and analyze vehicle data parameters, especially real-time monitoring and indicator display in case of vehicle operation, resulting in inefficient maintenance.
By receiving multiple vehicle data parameters associated with parameter identifiers (PIDs), displaying graphic windows and time-based indicators using a display, combining cursor locators and time periods, dynamic display and analysis of vehicle data parameters are realized, supporting the movement and drag-and-drop operations of the cursor, and enhancing the visualization and interactivity of the data.
Real-time monitoring and analysis of vehicle data parameters is realized, maintenance efficiency is improved, and understanding and response capabilities of vehicle operation are enhanced.
Smart Images

Figure CN112328147B_ABST
Abstract
Description
[0001] This application is a divisional application of a Chinese patent application with the invention title "Method and System for Displaying Vehicle Data Parameters with an Operating Condition Indicator", an application date of November 3, 2015, and an application number of 201580059134.3.
[0002] Cross - reference to related applications
[0003] This application claims the priority of U.S. Patent Application No. 14 / 531,562, filed on November 3, 2014, the entire content of which is incorporated herein by reference. Background of the invention
[0004] Most vehicles are repaired at least once during their service life. In many cases, the vehicle is repaired at a facility staffed with a professional technician (e.g., a mechanic). The mechanic can use any of a variety of hand tools to provide repair (e.g., fix) any one of a variety of mechanical components on the vehicle. The mechanic can also use an electronic diagnostic device to repair (e.g., diagnose) any one of a variety of electrical components on the vehicle. The mechanic can also use hand tools to repair electrical components and use an electronic diagnostic device to repair mechanical components on the vehicle. Summary of the invention
[0005] Several exemplary embodiments are described herein. In one aspect, an exemplary embodiment may take the form of a method, comprising: receiving, by a device, a plurality of vehicle data parameters (VDPs) associated with a first parameter identifier (PID) and a plurality of VDPs associated with a second PID; storing, in a computer-readable medium, the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID; displaying, by a display of the device, a first VDP graphical window, the first VDP graphical window including a first VDP graph that depicts at least a portion of the VDPs associated with the first PID; displaying, by the display of the device, a second VDP graphical window, the second VDP graphical window including a second VDP graph that depicts at least a portion of the VDPs associated with the second PID; and displaying, by the display of the device, a time-based indicator that corresponds to the time at which the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID are received, the time-based indicator including a cursor locator and a plurality of time periods, a first time period providing an indication of the amount of time represented by the VDP values displayed within the first and second VDP graphical windows, a second time period providing an indication of the amount of time represented by the data values of the VDPs captured prior to the data values of the VDPs currently displayed in the first and second VDP graphical windows, and the cursor locator being configured for cursor locator movement, the cursor locator movement causing a consistent movement of at least one cursor within each of the first and second VDP graphs; determining, by the device, an occurrence of movement of the cursor locator in a first or second direction; and in response to determining the occurrence of the cursor locator movement, moving the at least one cursor within each VDP graph consistently in the first direction or the second direction.
[0006] In another aspect, an exemplary embodiment may take the form of a system, including: a device configured to receive a plurality of vehicle data parameters (VDPs) associated with a first parameter identifier (PID) and a plurality of VDPs associated with a second PID; a display configured to display a first VDP graphical window, a second VDP graphical window, and a time-based indicator, the first VDP graphical window including a first VDP graph showing at least a portion of the VDPs associated with the first PID, the second VDP graphical window including a second VDP graph showing at least a portion of the VDPs associated with the second PID, the time-based indicator corresponding to the time of receipt of the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID, the time-based indicator including a cursor locator and a plurality of time periods, a first time period providing an indication of the amount of time represented by the VDP values displayed within the first and second VDP graphical windows, and a second time period providing an indication of the amount of time represented by the data values of the VDPs captured prior to the data values of the VDPs currently displayed in the first and second VDP graphical windows, and the cursor locator being configured for cursor locator movement, the cursor locator movement causing a consistent movement of at least one cursor within each of the first and second VDP graphs; an input device configured to receive pinch and spread inputs or squeeze inputs; a processor; and a computer-readable medium storing the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID, and computer-readable program instructions executable by the processor to determine the occurrence of movement of the cursor locator in a first or second direction and, in response to determining the occurrence of cursor locator movement, to consistently move the at least one cursor within each VDP graph in the first direction or the second direction.
[0007] In another aspect, an exemplary embodiment may take the form of a computer-readable medium storing program instructions that, when executed by a processor, cause a set of functions to be performed, the set of functions including: receiving, by a device, a plurality of vehicle data parameters (VDPs) associated with a first parameter identifier (PID) and a plurality of VDPs associated with a second PID; storing, in the computer-readable medium, the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID; displaying, by a display of the device, a first VDP graphical window that includes a first VDP graph that depicts at least a portion of the VDPs associated with the first PID; displaying, by the display of the device, a second VDP graphical window that includes a second VDP graph that depicts at least a portion of the VDPs associated with the second PID; displaying, by the display of the device, a time-based indicator that corresponds to the time at which the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID are received, the time-based indicator including a cursor locator and a plurality of time periods, a first time period providing an indication of the amount of time represented by the VDP values displayed within the first and second VDP graphical windows, and a second time period providing an indication of the amount of time represented by the data values of the VDPs captured prior to the data values of the VDPs currently displayed in the first and second VDP graphical windows, and the cursor locator being configured for cursor locator movement that causes a consistent movement of at least one cursor within each of the first and second VDP graphs; determining, by the device, the occurrence of movement of the cursor locator in a first or second direction; and in response to determining the occurrence of cursor locator movement, consistently moving the at least one cursor within each VDP graph in the first direction or the second direction.
[0008] In another aspect, an exemplary embodiment may take the form of a method that includes: (i) receiving, by a device, a selection of a vehicle operating condition detectable by the device, (ii) receiving, by the device, vehicle data parameters, (iii) determining, by the device, a first instance of a particular vehicle data parameter from the vehicle data parameters that indicates the occurrence of the vehicle operating condition, (iv) displaying, by the device, a graphical representation of at least a portion of the vehicle data parameters received by the device, and (v) displaying, by the device, a first indicator corresponding to the first instance of the particular vehicle data parameter that indicates the occurrence of the vehicle operating condition.
[0009] In another aspect, an exemplary embodiment may take the form of a system including: a processor, a computer-readable medium storing computer-readable program instructions executable by the processor, a display, and a user interface input element, wherein execution of the program instructions causes the processor to (i) receive a selection of a detectable vehicle operating condition, (ii) receive vehicle data parameters, and (iii) determine, from the vehicle data parameters, a first instance of a particular vehicle data parameter indicative of the occurrence of the vehicle operating condition, wherein the display shows a graphical representation of at least a portion of the received vehicle data parameters, and wherein the display shows a first indicator corresponding to the first instance of the particular vehicle data parameter indicative of the occurrence of the vehicle operating condition.
[0010] In another aspect, an exemplary embodiment may take the form of a computer-readable medium storing program instructions that, when executed by a processor, cause a set of functions to be performed, the set of functions including: (i) receiving, by the processor, a selection of a vehicle operating condition detectable by the processor, (ii) receiving, by the processor, vehicle data parameters, (iii) determining, by the processor, from the vehicle data parameters, a first instance of a particular vehicle data parameter indicative of the occurrence of the vehicle operating condition, (iv) displaying, by a display, a graphical representation of at least a portion of the vehicle data parameters received by the processor, and (v) displaying, by the display, a first indicator corresponding to the first instance of the particular vehicle data parameter indicative of the occurrence of the vehicle operating condition.
[0011] In another aspect, an exemplary embodiment may take the form of a method including: (i) receiving, by a device, a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) displaying, by a display of the device, at a first display location of the display, a first graphical representation showing at least a portion of the vehicle data parameters associated with the first VDP identifier, (iii) displaying, by the display of the device, at a second display location of the display, a second graphical representation showing at least a portion of the vehicle data parameters associated with the second VDP identifier, and (iv) receiving, by the device: a drag-and-drop input to at least a portion of the second display location where the second graphical representation is displayed for the first graphical representation displayed at the first display location, and responsive thereto, changing the graphical representations displayed at the first and second display locations, wherein changing the graphical representations displayed at the first and second display locations includes switching the second display location to display the first graphical representation instead of the second graphical representation.
[0012] In another aspect, an exemplary embodiment may take the form of a system, comprising: a processor, a computer-readable medium storing computer-readable program instructions executable by the processor, and a display, wherein execution of the program instructions causes (i) the processor to receive a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) the display to display a first graphical representation at a first display position of the display, the first graphical representation showing at least a portion of the vehicle data parameters associated with the first VDP identifier, (iii) the display to display a second graphical representation at a second display position of the display, the second graphical representation showing at least a portion of the vehicle data parameters associated with the second VDP identifier, and (iv) the processor to receive: a drag-and-drop input to at least a portion of the second display position where the second graphical representation is displayed for the first graphical representation displayed at the first display position, and in response, change the graphical representations displayed at the first display position and the second display position, and wherein changing the graphical representations displayed at the first display position and the second display position includes switching the second display position to display the first graphical representation instead of the second graphical representation.
[0013] In another aspect, an exemplary embodiment may take the form of a computer-readable medium storing program instructions that, when executed by a processor, cause a set of functions to be performed, the set of functions including: (i) the processor receiving a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) the display displaying a first graphical representation at a first display position of the display, the first graphical representation showing at least a portion of the vehicle data parameters associated with the first VDP identifier, (iii) the display displaying a second graphical representation at a second display position of the display, the second graphical representation showing at least a portion of the vehicle data parameters associated with the second VDP identifier, and (iv) the processor receiving: a drag-and-drop input to at least a portion of the second display position where the second graphical representation is displayed for the first graphical representation displayed at the first display position, and in response, changing the graphical representations displayed at the first display position and the second display position, wherein changing the graphical representations displayed at the first display position and the second display position includes switching the second display position to display the first graphical representation instead of the second graphical representation.
[0014] In another aspect, an exemplary embodiment may take the form of a method that includes: (i) receiving, by a device, a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) displaying, by a display of the device, a first VDP graph that shows at least a portion of the vehicle data parameters associated with the first VDP identifier, (iii) displaying, by the display of the device, a second VDP graph that shows at least a portion of the vehicle data parameters associated with the second VDP identifier, and (iv) receiving, by the device, a pinch and expand input for the first VDP graph and responsively increasing the size of the first VDP graph.
[0015] In another aspect, an exemplary embodiment may take the form of a system that includes: (i) a device configured to receive a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) a display configured to display a first VDP graph and a second VDP graph, the first VDP graph showing at least a portion of the vehicle data parameters associated with the first VDP identifier and the second VDP graph showing at least a portion of the vehicle data parameters associated with the second VDP identifier, (iii) an input device configured to receive a pinch and expand input for the first VDP graph, (iv) a processor, and (v) a computer-readable medium storing computer-readable program instructions executable by the processor to increase the size of the first VDP graph in response to receiving the pinch and expand input for the first VDP graph.
[0016] In another aspect, an exemplary embodiment may take the form of a computer-readable medium storing program instructions that, when executed by a processor, cause a set of functions to be performed, the set of functions including: (i) receiving, by a device, a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) displaying, by a display of the device, a first VDP graph that shows at least a portion of the vehicle data parameters associated with the first VDP identifier, (iii) displaying, by the display of the device, a second VDP graph that shows at least a portion of the vehicle data parameters associated with the second VDP identifier, and (iv) receiving, by the device, a pinch and expand input for the first VDP graph and responsively increasing the size of the first VDP graph.
[0017] In another aspect, an exemplary embodiment may take the form of a method, comprising: (i) displaying, by a display of a device, within the display, a plurality of vehicle data parameter (VDP) graphs, wherein each VDP graph includes at least one cursor; (ii) displaying, by the display, within the display, a cursor locator, wherein the cursor locator is configured for cursor locator movement that causes a consistent movement of at least one cursor in each VDP graph; (iii) determining, by the device, the occurrence of cursor locator movement; and (iv) in response to determining the occurrence of cursor locator movement, consistently moving, by the device, at least one cursor in each VDP graph.
[0018] In another aspect, an exemplary embodiment may take the form of a system, comprising: a display, a processor, and a computer-readable medium storing computer-readable program instructions, wherein the display is configured to display, within the display, a plurality of vehicle data parameter (VDP) graphs, wherein each VDP graph includes at least one cursor, wherein the display is configured to display a cursor locator that is configured for cursor locator movement that causes a consistent movement of at least one cursor in each VDP graph, and wherein the program instructions are executable by the processor to determine the occurrence of cursor locator movement and, in response to determining the occurrence of cursor locator movement, consistently move the at least one cursor in each VDP graph.
[0019] In another aspect, an exemplary embodiment may take the form of a computer-readable medium storing program instructions that, when executed by a processor, cause a set of functions to be performed, the set of functions comprising: (i) displaying, by a display of a device, within the display, a plurality of vehicle data parameter (VDP) graphs, wherein each VDP graph includes at least one cursor; (ii) displaying, by the display, within the display, a cursor locator, wherein the cursor locator is configured for cursor locator movement that causes a consistent movement of at least one cursor in each VDP graph; (iii) determining, by the device, the occurrence of cursor locator movement; and (iv) in response to determining the occurrence of cursor locator movement, consistently moving, by the device, at least one cursor in each VDP graph.
[0020] These and other aspects and advantages will become apparent to those of ordinary skill in the art by reading the following detailed description with reference to the appropriate drawings. Further, it should be understood that the embodiments described in this summary and elsewhere are merely exemplary and do not necessarily limit the scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Exemplary embodiments are described herein with reference to the drawings.
[0022] Figure 1 is a block diagram of a system according to an exemplary embodiment.
[0023] Figure 2 is a block diagram of a vehicle service tool (VST) according to an exemplary embodiment.
[0024] Figure 3 is a diagram of an example VST with a display according to an exemplary embodiment.
[0025] Figure 4 is another diagram of an example VST with a display according to an exemplary embodiment.
[0026] Figure 5 is a flowchart depicting a set of functions that may be performed according to one or more exemplary embodiments.
[0027] Figure 6 is a flowchart depicting another set of functions that may be performed according to one or more exemplary embodiments.
[0028] Figure 7 is a flowchart depicting another set of functions that may be performed according to one or more exemplary embodiments.
[0029] Figure 8 is a flowchart depicting another set of functions that may be performed according to one or more exemplary embodiments.
[0030] Figure 9 is a flowchart depicting another set of functions that may be performed according to one or more exemplary embodiments.
[0031] Figure 10 is a diagram depicting a display rendering of an example of a VST display.
[0032] Figure 11 is a diagram depicting a display rendering of another example of a VST display.
[0033] Figure 12 is a diagram depicting a display rendering of another example of a VST display.
[0034] Figure 13 is a diagram showing multiple views of an example VST with a display according to an example embodiment.
[0035] Figure 14 is a diagram showing another view of an example VST with a display according to an exemplary embodiment.
[0036] Figures 15 to 21 is a diagram depicting an additional example display rendering of a VST display. DETAILED DESCRIPTION
[0037] I. INTRODUCTION
[0038] The specification describes several exemplary embodiments, including but not limited to exemplary embodiments related to displaying a graphical window of vehicle data parameters, displaying a graph of vehicle data parameters, and displaying at least one of vehicle data parameters. As an example, vehicle data parameters can be obtained from a vehicle in the form of a vehicle data message (e.g., a serial data message). As another example, an input element can be used to obtain vehicle data parameters from a vehicle in the form of an electrical signal. The VDPs graphically or otherwise displayed by an exemplary vehicle service tool can include VDPs obtained via vehicle data messages, input elements, or others.
[0039] In this specification, the articles "a", "an", or "the" are used to introduce elements of example embodiments. The intention of using these articles is to have one or more of the elements. The intention of using the conjunction "or" in a list of at least two items described is to indicate any of the listed items or any combination of the listed items. The use of ordinals such as "first", "second", "third", etc. is to distinguish the respective elements rather than to indicate a particular order of these elements.
[0040] The diagrams, flowcharts, and other data shown in the figures are provided only as examples and are not intended to be limiting. Many of the elements shown in the figures or described herein are functional elements that can be implemented as discrete or distributed components or combined with other components and implemented in any suitable combination and location. Those skilled in the art will understand that other arrangements and elements (e.g., machines, interfaces, functions, commands, or function groupings) can be used. Additionally, the various functions described as being performed by one or more elements can be performed by a processor executing computer-readable program instructions (CRPI) or by any combination of hardware, firmware, or software. Further, the same reference numerals used in the same or different figures represent the same elements as other elements referenced by the same reference numerals, but are not limited to these and other elements so labeled.
[0041] II. Exemplary Systems
[0042] Figure 1 is a block diagram of a system 100 according to an exemplary embodiment described herein. The system 100 includes a vehicle 102 having an electronic control unit (ECU) 106 and a data link connector (DLC) 108. The ECU 106 and the DLC 108 can be communicatively connected to each other via a vehicle communication link 110.
[0043] A vehicle, such as vehicle 102, can include an automobile, a motorcycle, a light truck, a medium truck, a heavy truck, a semi - tractor, an agricultural machine, or some other device that can be driven or otherwise guided along a path (e.g., paved or otherwise) on land, in water, in air, or in outer space. The vehicle can include or use any suitable voltage or current source, such as a battery, an alternator, a fuel cell, etc., providing any suitable current or voltage, such as about 12 volts, about 42 volts, etc. The vehicle can include or use any desired system or engine. These systems or engines can include items that use fossil fuels (e.g., gasoline, natural gas, propane, etc.), electricity (e.g., generated by a battery, a magneto, a fuel cell, a solar cell, etc.), wind power, and mixtures or combinations thereof.
[0044] The vehicle communication link 110 can include one or more conductors (wired or otherwise) or can be wireless. As an example, the vehicle communication link 110 can include one or two conductors that carry vehicle data messages according to the vehicle data message (VDM) protocol. The VDM protocol can include, but is not limited to, the Society of Automotive Engineers (SAE) J1850 (PWM or VPW) VDM protocol, the International Organization for Standardization (ISO) 15764 - 4 Controller Area Network (CAN) VDM protocol, the ISO 9141 - 2 K - Line VDM protocol, or the ISO 14230 - 4 KWP2000 K - Line VDM protocol. As another example, the vehicle communication link 110 can include a vehicle serial data bus.
[0045] The DLC 108 can include an On - Board Diagnostic (OBD) II connector. The OBD II connector can include a socket for holding up to 16 connector terminals, but the DLC 108 is not limited to this. The DLC 108 can include conductor terminals that are connected to conductors in the vehicle 102. For example, the DLC 108 can include connector terminals that are connected to conductors that are respectively connected to the positive and negative terminals of the vehicle battery. The DLC 108 can include one or more conductor terminals that are connected to the conductor of the vehicle communication link 110 such that the DLC 108 is communicatively connected to the ECU 106.
[0046] The ECU 106 can control various aspects of vehicle operation or components within the vehicle 102. For example, the ECU 106 can include a powertrain ECU, an engine ECU, a Supplemental Inflatable Restraint System (i.e., airbag system) ECU, an entertainment system ECU, or other ECUs. The ECU 106 can receive inputs (e.g., sensor inputs), control output devices (e.g., solenoids), generate vehicle data messages (VDMs) (e.g., VDMs based on received inputs or controlled outputs), and set Diagnostic Trouble Codes (DTCs) for active or historical error or fault conditions detected within the vehicle 102.
[0047] Two or more ECUs, such as ECU 106 and a second ECU in vehicle 102, can send VDMs to each other and receive VDMs from another ECU. Transmission of VDMs can occur over vehicle communication link 110. In this way, VDMs can be sent to DLC 108. A VDM can include any one or more of the following data, such as but not limited to: (i) an ECU identifier, (ii) a parameter identifier (PID), (iii) a mode identifier identifying a current data mode, a freeze frame data mode, a vehicle information mode, a DTC mode, or some other mode, and (iv) a parameter value. As an example, a VDM indicating the engine revolutions per minute (RPM) of an engine within vehicle 102 can include the hexadecimal data “41 0C 0F A0”, where “41” represents a response to a mode 01 request, “0C” is the PID indicating engine RPM, and “0F A0” is the parameter value representing RPM (1 / 4 RPM per bit). In this case, the hexadecimal value “0F A0” equals 4,000. At 1 / 4 RPM per bit, the engine RPM represented by the example VDM is 1,000 RPM.
[0048] System 100 includes a vehicle service tool (VST) 104. VST 104 can be communicatively connected to vehicle 102 (e.g., to DLC 108 within vehicle 102) by way of communication link 112. VST 104 can operate using power supplied to it from the vehicle battery through DLC 108, but VST 104 is not limited thereto. For example, VST 104 can include its own power source, such as a battery, or VST 104 can receive power for its operation from a power source other than vehicle 102 or an internal battery (such as alternating current available at a wall outlet).
[0049] Communication link 112 can include one or more conductors (wired or otherwise) or can be wireless. Communication link 112 can include a wire harness having one or more conductors and a mating connector attached to VST 104 and a connector within the wire harness for the wire, but communication link 112 is not limited thereto. The wire harness and mating connector can be configured like a DB-25 connector, but is not limited to this.
[0050] As an example of wirelessly transmitting data according to a communication link such as communication link 112 or any other communication means described herein, such wireless communication of data may be implemented according to a wireless communication protocol (e.g., a wireless communication standard). As an example, the wireless communication protocol may be the Institute of Electrical and Electronics Engineers (IEEE) 802.15.1 standard for wireless personal area networks (PANs) or the Bluetooth version 4.1 standard developed by the Bluetooth Special Interest Group (SIG) of Kirkland, Washington. As another example, the wireless communication protocol may be the IEEE 802.11 standard for wireless LANs, which is sometimes referred to as the Wi-Fi standard. As another example, the wireless communication protocol may be a cellular phone standard such as a standard developed by the Third Generation Partnership Project (3GPP) for 3G or 4G cellular phone communication. Other examples of wireless communication protocols are possible.
[0051] Next, Figure 2 is a block diagram of a vehicle service tool (VST) 200 according to an example embodiment described herein. The VST 200 may operate within the system 100 to replace or supplement the VST 104, but is not limited thereto. The VST 104 may be arranged like the VST 200. The VST 104 may include the VST 200 or any one or more components thereof. One or more components of the VST 200 may be arranged as a device or a system. The device or system may include one or more components of the VST 200. The VST 300 is shown in Figure 3 The VST 200 may include any one or more components of the VST 300, but is not limited thereto.
[0052] The VST 200 includes a processor 202, a data storage device 204, a DLC connector 206, a user interface 208, a communication link transceiver 210, an orientation detector 212, and an input section 214, where two or more of them may be communicatively coupled or linked together via a system bus, a network, or other connection mechanism 216.
[0053] A processor such as the processor 202 or any other processor discussed in this specification may include one or more general-purpose processors (e.g., a single-core microprocessor or a multi-core microprocessor) or one or more dedicated processors (e.g., a digital signal processor). Additionally or alternatively, the processor may include an application-specific integrated circuit (ASIC). The processor 202 may be configured to execute computer-readable program instructions (CRPI) such as Figure 2 the CRPI 218 shown.
[0054] A data storage device, such as data storage device 204 or any other data storage device discussed in this specification, may include a computer-readable medium. The computer-readable medium may include a non-transitory computer-readable medium readable by a processor. The computer-readable medium may include volatile or non-volatile storage components, such as optical, magnetic, organic, or other memory or disk storage, which may be integrated with the processor in whole or in part, or may be separate from the processor. The computer-readable medium may include, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM), or any other device capable of providing data or executable instructions accessible by a processor, such as processor 202.
[0055] Additionally or alternatively, the computer-readable medium may include a transitory computer-readable medium. The transitory computer-readable medium may include, but is not limited to, communication media such as digital or analog communication media (e.g., fiber optic cable, waveguide, wired communication link, or wireless communication link).
[0056] The computer-readable medium may be referred to by other terms, such as but not limited to "computer-readable storage medium", "data storage device", "storage device", or "memory". Data storage device 204 may be referred to as a "computer-readable data storage device" and a "computer-readable medium".
[0057] The DLC connector 206 can communicatively connect the VST 200 to the vehicle 102. This communication connection allows the VST 200 to send messages (e.g., VDM requests) to the vehicle 102 and receive messages (e.g., VDM) from the vehicle 102. In one aspect, the communication connection can be made using the wired conductors of the communication link 112. For example, the DLC connector 206 can include a connector having terminals that can be connected to terminals within the DLC 108 through one or more conductors. As an example, the DLC connector 206 can include an OBD II connector compliant with SAE J1962 specifications, such as the connector 16M available from Delphi Automotive LLP of Troy, Michigan, part number 12110252. In another aspect, a wireless connection of the communication link 112 can be used to implement the communication connection between the VST 200 and the vehicle 102. For example, the DLC connector 206 can include a wireless transceiver to send the VDM to a version of the DLC 108 configured for wireless communication of the VDM and receive the VDM from a version of the DLC 108 configured for wireless communication of the VDM. The DLC connector 206 can transfer the VDM it receives to one or more of the processor 202, the data storage device 204, the user interface 208, and the communication link transceiver 210 through the connection mechanism 216.
[0058] The user interface 208 can include user input elements configured to enable a user of the VST 200 to input data for use by the processor 202 or another element of the VST 200. As an example, the user input element can include a touch screen display. As another example, the user input element can include a user input section having one or more input keys (e.g., Figure 3 the user input section 304 shown). As another example, the user input element can include a pointing device such as a computer mouse, a keyboard (e.g., QWERTY keyboard), a display pointer (e.g., Figure 3 the display pointer 322 shown) or a microphone for receiving voice input.
[0059] The user interface 208 may include user output elements configured to output (e.g., present) data to a user of the VST 200. As an example, the user output elements may include a display device (or more simply, a "display") for visual presentation of data, such as a VDP graphics window or any element of the display presentation described herein, but not limited thereto. As another example, the user output elements may include audio speakers to audibly present data to a user of the VST 200. For example, the audible data may include sounds (e.g., sound waves of a constant frequency) to alert the user of various warnings and prompts associated with using the VST 200. As another example, the audible data may include text-to-speech content of at least a portion of the data displayed by the display.
[0060] The communication link transceiver 210 may include one or more transceivers. In one aspect, the one or more transceivers may include a wireless transceiver and one or more antennas to perform wireless communication according to a wireless communication protocol. In another aspect, the one or more transceivers may include a wired transceiver to perform communication over a wired communication link according to a communication protocol such as, but not limited to, the Transmission Control Protocol / Internet Protocol (TCP / IP) or the IEEE 802.3 Ethernet communication protocol for a LAN or otherwise. The communication link transceiver 210 may establish a communication connection with a device that is detached (e.g., remote) from the VST 200 and the vehicle 102, but not limited thereto.
[0061] The orientation detector 212 may detect a change in the orientation that the VST 200 or its components may assume or be positioned in. As an example, the orientation of the display 302 ( Figure 3 as shown) may be referred to as a landscape orientation (e.g., the width of the image displayed by the display 302 is greater than the height) or a portrait orientation (e.g., the height of the image displayed by the display 302 is greater than the width). The orientation detector 212 may include one or more accelerometers or multi-axis gyroscopes, but not limited thereto. The processor 202 may execute program instructions of the CRPI 218 to determine the current orientation of the VST components or a change in the orientation of the VST components. The processor 202 may execute additional program instructions in response to determining a change in the orientation of the VST components, resulting in one or more changes in the VST operation. Examples of these changes are discussed elsewhere herein.
[0062] The input section 214 may include input leads and an input signal processing element that converts an input signal obtained by the input leads into input data. The input leads may include one or more input leads, and each input lead may receive an input signal from an input signal acquisition point (ISAP). The input signal acquisition point may include any of various locations capable of acquiring an input signal. In vehicle 102, the ISAP may include locations on the vehicle where a voltage signal, a current signal, a pneumatic pressure signal, an air temperature signal, an oil pressure signal, an oil temperature signal, or some other input signal may be acquired.
[0063] As an example, the input leads may include, but are not limited to, a conductor and one or more conductor ends selected from the following: (i) alligator clips (e.g., MTA85 alligator clips sold by Snap-on Incorporated of Kenosha, Wisconsin, USA), (ii) spring hooks, such as MTA80 spring hooks sold by Snap-on Incorporated, (iii) test probes, such as MTA20 test probes sold by Snap-on Incorporated, or (iv) back probes, such as MTTL7005 back probes sold by Snap-on Incorporated.
[0064] The input section 214 may include an input signal processing element, such as an analog-to-digital converter (ADC) that converts an input signal received via one or more input leads into input data that can be displayed on the display 302. Each of those input signals may include, but is not limited to, an analog electrical signal. The digital output of the ADC may be transmitted via a connection mechanism 216 to another element of the VST 200 (e.g., the processor 202, the data storage device 204, or the user interface 208).
[0065] The data storage device 204 may store various data. For example, the data storage device 204 may store CRPI 218, display orientation 220, graphic configuration 222, vehicle data parameters 224, and vehicle operating conditions 226, but the data storage device 204 is not limited thereto.
[0066] The display orientation 220 may include data regarding various orientations in which the display of the VST 200 (e.g., Figure 3 the illustrated display 302) may be placed or positioned. The display orientation 220 may track changes in the orientation of the display 302. The display orientation 220 may include data indicating the current orientation of the display 302. As an example, the orientation of the display may be referred to as a landscape orientation (e.g., the width of the displayed image is greater than the height) or a portrait orientation (e.g., the height of the displayed image is greater than the width).
[0067] The display orientation 220 may also include data regarding the characteristics or settings of the display 302. These display characteristics or settings may include, but are not limited to, any one or more of the screen display resolution, pixel density, and physical size (e.g., width and length) of the display 302. The processor 202 may determine how many VDP graphic windows will be displayed for a given display characteristic or setting. For example, the processor 202 may determine that the width of the display 302 embodied in a smart phone is below a threshold width such that only one VDP graphic window is displayed when the smart phone is switched to a landscape orientation. The width threshold may be set such that the width of a typical tablet device is greater than the width threshold. In such a case, the processor 202 may determine to switch the typical tablet device to a landscape orientation and display multiple VDP graphic windows within the display 302.
[0068] The graphic configuration 222 may include data regarding a plurality of VDP graphic configurations that can be displayed by the display 302. Each VDP graphic configuration may indicate how many VDP graphic windows will be displayed simultaneously by the display 302, the size of each VDP graphic window to be displayed by the display 302, and the location within the display 302 where each VDP graphic window is to be displayed. The VDP graphic configuration may include metadata indicating the display orientation associated with the VDP graphic configuration and a corresponding alternative VDP graphic configuration associated with an alternative display orientation, or the VDP graphic configuration may otherwise indicate the display orientation associated with the VDP graphic configuration and a corresponding alternative VDP graphic configuration associated with an alternative display orientation.
[0069] The VDP 224 may include the value of the VDP (i.e., the VDP value) and metadata regarding the VDP value. As an example, the metadata regarding the VDP value may include a vehicle parameter identifier (i.e., vehicle PID), a maximum VDP value for the associated VDP value, and a minimum VDP value for the associated VDP value. As another example, the metadata regarding the VDP may include a time or sequence identifier for each respective VDP value such that the user interface 208 may display a VDP graph of the VDP values in the order in which the VDP values occur (e.g., are generated or received). A time or sequence identifier for one or more VDP values may be implied by the order in which the VDP values are stored in the data storage device 204. For example, VDP values stored as consecutive data bits or bytes may indicate the order in which the VDP values occur. As another example, the metadata regarding the VDP may include data indicating the unit associated with the VDP value (e.g., volts, percentage, or count). As another example, the VDP may include voltage measurements, amperage measurements, capacitance measurements, inductance measurements, and resistance measurements. One or more of these measurements may be performed by the ECU 106 or the input section 214, but are not limited thereto.
[0070] A Vehicle Operating Condition (VOC) 226 can include data that can be displayed by a display such as display 302. Each vehicle operating condition represented by the data of the VOC 226 can include a VOC that can be detected by the VST or the processor 202. As an example, the data of the detectable VOC can include a PID and one or more threshold values of data parameters associated with the PID. For example, the PID "0A" can represent fuel pressure, and the VOC can include this PID and a low threshold, such as 120 kPa gauge pressure, and a high threshold, such as 510 kPa gauge pressure. The processor 202 can receive a VDM including the PID "0A" and a parameter value indicating an operating condition regarding the fuel pressure provided by a fuel pump in the vehicle 102. The processor 202 can compare the received parameter value with one or two thresholds associated with the PID "0A" to determine whether the vehicle 102 has presented a low fuel pressure or high fuel pressure operating condition (e.g., has violated a VDP threshold associated with low or high fuel pressure).
[0071] Generally, the CRPI 218 or any other CRPI described herein includes program instructions executable by a processor. Additionally, generally, the CRPI can include various structures, modules, or routines, but is not limited thereto. Further, generally, the CRPI can be written in a computer programming language such as C++, but is not limited thereto.
[0072] In particular, the CRPI 218 can include program instructions executable by the processor 202 to implement any one or more functions described herein or represented by the drawings that are at least partially performed by the VST or its components. The CRPI 218 can be executed to perform any function described herein or shown or represented in any figure as if performed by the VST or its components.
[0073] As an example, CRPI 218 can include program instructions executable to store VDPs (e.g., PIDs and VDP data values) received by VST 200. In a first aspect, the storage of VDPs can include storing the VDPs in a first-in-first-out (FIFO) manner. The FIFO method can be used to store VDPs within VDP 224 without violating a VDP threshold associated with the VDP. In a second aspect, the storage of VDPs can include storing: the number of VDPs received prior to the occurrence of a detected vehicle operating condition (VOC), the VDPs received for detecting the occurrence of the VOC, and the number of VDPs received after the VOC is detected. Collectively, these VDPs can be referred to as a set of VOC-violating VDPs. The number of VDPs received after the VOC is detected can include at least one of: (i) VDPs received while the VOC is still present, and (ii) VDPs received when the VOC is no longer present. VDP 224 can store the set of VOC-violating VDPs even after those VDPs that are not part of the set of VOC-violating VDPs are deleted or overwritten using the FIFO method.
[0074] As an example, VDP 224 can have the capacity to store VDPs associated with eight different PIDs received during a one-hour period at a given VDP reception rate. The time capacity may not be one hour if the stored VDPs are associated with a different number of PIDs or are received at a different VDP reception rate. The capacity for storing VDPs can depend on the storage size of data storage device 204. The capacity for storing VDPs can be specified in units other than time. As an example, a set of VOC-violating VDPs can use ten percent of the capacity of VDP 224. This percentage can be set to a different percentage value using user interface 208.
[0075] As another example, CRPI 218 can include program instructions executable to display the VDPs stored within VDP 224. The VDPs can be displayed according to one of the display renderings described herein, but are not required to be displayed in this manner.
[0076] Next, Figure 3 is a diagram of an exemplary vehicle service tool 300 according to an exemplary embodiment. VST 104 and VST 200 can include any one or more of the features described or depicted for VST 300, but VST 104 and VST 200 are not limited thereto. VST 300 can operate within system 100 in place of VST 104 or VST 200, or in addition to VST 104 or VST 200, but VST 300 is not limited thereto.
[0077] The VST 300 includes a display 302, a user input section 304, and a housing 306. The display 302 and the user input section 304 can be part of a user interface such as the user interface 208. As an example, the display 302 can include a touch screen display, such as the MODIS available from Snap-on Incorporated of Kenosha, Wisconsin. TM A color touch screen used on a hyper-integrated diagnostic system (reference number EEMS328W). As another example, the display 302 can include a backlit color liquid crystal display (LCD) with a resistive touch screen or panel. As another example, the display 302 can include a plasma display or a light emitting diode (LED) display. As another example, the display 302 can include a display such as those used as part of a tablet device (e.g., a tablet device from Apple Inc. or a SAMSUNG GALAXY TAB tablet device from Samsung Electronics Co., Ltd.). As another example, the display 302 can include a display such as those used on a smart phone (e.g., an Apple Inc. smart phone from Cupertino, California or a GALAXY smart phone from Samsung Electronics Co., Ltd. of Maetan-Dong, Yeongtong-Gu, Suwon-Si, Gyeonggi-Do, Korea). Other examples of the display 302 are possible.
[0078] The display 302 can have a generally rectangular shape, such as a rectangle with square corners or a generally rectangular shape with rounded corners, but the display 302 is not limited thereto. As Figure 3 shown, the display has dimensions 308 and 310. The dimensions 308 and 310 are perpendicular to each other. When the VST 300 is positioned as Figure 3 shown, the dimension 308 can be referred to as the "display width" (or more simply, "width"), and the dimension 310 can be referred to as the "display height" (or more simply, "height").
[0079] As Figure 3 shown, the dimension 308 is larger (e.g., longer) than the dimension 310. In the case where the display 302 is positioned such that the dimension 308 is horizontal and the dimension 310 is vertical (e.g., Figure 3In the situation shown, the display 302 can be considered to be in a landscape mode (which can be referred to as a "landscape orientation"). When the display 302 is positioned such that dimension 308 is vertical and dimension 310 is horizontal, the display 302 can be considered to be in a portrait mode (which can be referred to as a "portrait orientation").
[0080] The user input section 304 can include one or more input selectors. For example, the user input section 304 can include input keys 312, 314, 316, 318, and 320. These user input keys can be arranged in any of various configurations. For example, the input key 312 can represent an up selection, the input key 314 can represent a right selection, the input key 316 can represent a down selection, the input key 318 can represent a left selection, and the input key 320 can represent an input selection. Pressing one of the input keys 312, 314, 316, and 318 can cause the display pointer 322 to move in the direction represented by the pressed input key. Pressing the input key 320 can select the displayed data element pointed to by the display pointer 322.
[0081] The user input section 304 can be used to select a vehicle operation condition from the VOC 226. The user input section 304 can be used to select a default threshold associated with the PID of the selected VOC. The user input section 304 can also be used to set a user-selected threshold associated with the PID of the selected VOC that is different from the default threshold. In this regard, the threshold associated with the PID of the selected VOC is user-configurable.
[0082] The processor 202 can execute the program instructions of the CRPI 218 to cause the display 302 to display one or more vehicle data parameter graphical windows. Figure 3 VDP graphical windows 324, 326, 328, 330, 332, and 334 are shown. The display 302 can display VDP graphical windows of different sizes. Regarding Figure 3 the VDP graphical windows shown, the VDP graphical windows 324, 326, 328, and 330 can be referred to as small VDP graphical windows, and the VDP graphical windows 332 and 334 can be referred to as large VDP graphical windows. The VDP graphical windows shown in the figure have a generally rectangular shape. The area of the display 302 covered by the large VDP graphical window is greater than the area of the display 302 covered by the small VDP graphical window. The VDP graphical window is not limited to graphically displaying the VDP. For example, the VDP graphical window can display the VDP value as a numerical value. Other examples are also possible.
[0083] The VDP graphic window may include various components. As shown in VDP graphic window 334, the VDP graphic window may include a VDP line graph 348 and VDP graphic text 350. The VDP graphic text 350 may include the name of the VDP represented by the VDP line graph 348, a unit identifier (e.g., volts, percentage, or count) identifying the unit of the VDP line graph 348, a minimum value, and a maximum value. The minimum and maximum values may be limited to the minimum and maximum values of the VDP line graph 348 currently displayed within the VDP graphic window, but are not limited thereto. For example, when the VDP associated with the minimum and maximum values is displayed by the display 302, the data storage device 204 may store the minimum and maximum values of one or more VDPs and use those stored minimum and maximum values to populate the VDP graphic text 350.
[0084] The processor 202 may execute the program instructions of the CRPI 218 to cause the display 302 to display one or more scroll bars. As Figure 3 shown, the display 302 displays scroll bars 336 and 338. The scroll bar 336 may be used to scroll through a set of VDP graphic windows on the first side of the display 302, and the scroll bar 338 may be used to scroll through a set of VDP graphic windows on the second side of the display 302. As an example, the set of VDP graphic windows on the first side of the display may include small VDP graphic windows 324, 326, 328, 330, and at least one other small VDP graphic window. As an example, the set of VDP graphic windows on the second side of the display 302 may include large VDP graphic windows 332, 334, and at least one other large VDP graphic window.
[0085] The housing 306 may provide support or protection for at least a portion of any component of the VST 300, which may include any one or more components of any other VST discussed herein (e.g., VST 200). The housing 306 may include handles 340, 342, 344, and 346, but is not limited thereto. The housing 306 may include one or more port openings (not shown) for connecting a communication link (e.g., communication link 112) to the VST 300.
[0086] The VST 300 may include a front portion, a rear portion opposite the front portion, a top, a bottom opposite the top, a left side, and a right side opposite the left side. For illustrative purposes, the data visually presented by the display 302 is presented in front of the VST 300. Accordingly, the handle 340 is located on the left side of the VST 300, the handle 342 is located on the right side of the VST 300, the handle 344 is located on the top of the VST 300, and the handle 346 is located on the bottom of the VST 300. The VST 300 may be reoriented (e.g., by rotating the VST 300) such that the top, bottom, left side, right side, front portion, and rear portion are in different positions, as Figure 3 shown.
[0087] One or more of the top, bottom, left side, or right side of the VST 300 may be straight or straight between the corners of the portion forming the top, bottom, left side, or right side. The input keys 312, 314, 316, 318, and 320 are shown as being located in front of the VST 300. One or more input keys of the user input section 304 may be located on the top, bottom, left side, right side, or rear portion of the VST 300, but are not limited thereto. One or more input keys of the input section 304 may be part of a touch screen display of the display 304.
[0088] Next, Figure 4 is a diagram showing example axes that may be defined for the VST 300. As Figure 4 shown, the example axes include an "X axis" 350, a "Y axis" 360, and a "Z axis" 370. The orientation detector 212 may determine a signal or provide a signal to the processor 202 to determine movement about one or more axes. As an example, the movement may be a movement 355 about the axis 350, a movement 365 about the axis 360, and a movement 375 about the axis 370.
[0089] The movement 355 may include tilting the VST 300 forward or backward. The movement 355 may be referred to as "pitch". The movement 365 may include twisting the VST 300 from side to side (e.g., from left to right or from right to left). The movement 365 may be referred to as "roll". The movement 375 may include rotating the top of the VST 300 toward the bottom of the VST 300. The movement 375 may be referred to as "yaw". The movement 375 may cause the display orientation of the VST 300 to change from a landscape orientation to a portrait orientation, or from a portrait orientation to a landscape orientation.
[0090] Next, Figure 13FIG. is a diagram showing multiple views of a VST 300 with a display 302 according to an exemplary embodiment. As described above, the display 302 may include a touch screen display. Various inputs can be entered by using the touch screen of the display 302. For example, the touch screen input may include "selection input" of elements such as a VDP graphics window displayed by the display 302. As another example, the touch screen input may include "pinch input" or "pinch and zoom" input.
[0091] Figure 13 A top view of the display 302 in shows an example of a pinch input 380. The pinch input 380 may include or occur by the following operations: placing a first finger (e.g., a finger or a thumb) at a position 381 on the display 302, and placing a second finger at a position 382 on the display 302, moving the first finger and the second finger towards each other (e.g., in opposite directions 385 and 386), stopping the movement of the first finger and the second finger at a position 383 on the display 302 and a position 384 on the display 302 respectively, and moving the fingers away from the display 302. The pinch input 380 may occur in a single VDP window graphic, but is not limited thereto. The position 381, the position 382, the position 383, and the position 384 are not limited to Figure 13 the positions shown. Therefore, the directions 385 and 386 are not limited to Figure 13 the directions shown.
[0092] Figure 13 A bottom view of the display 302 in shows an example of a pinch and expand input 390. The pinch and expand input 390 may include or occur by the following operations: placing a first finger at a position 393 on the display 302, and placing a second finger at a position 394 on the display 302, moving the first finger and the second finger away from each other (e.g., opposite directions 395 and 396), stopping the movement of the first finger and the second finger at positions 391 and 392 respectively, and moving the fingers away from the touch screen display 302. The pinch and expand input may occur in a single VDP window graphic, but is not limited thereto. The position 391, the position 392, the position 393, and the position 394 are not limited to Figure 13 the positions shown. Therefore, the directions 395 and 396 are not limited to Figure 13 the directions shown.
[0093] The processor 202 may receive selection input, pinch input, and pinch and zoom input from the display 302 or the user interface 208. The processor 202 may execute the program instructions of the CRPI 218 in response to receiving any of these inputs to perform several functions described herein.
[0094] Next,Figure 14 FIG. is another view of a VST 300 having a display 302 according to an exemplary embodiment. Specifically, Figure 14 depicts the execution of a drag-and-drop input by using a display pointer 322. The drag-and-drop input can be performed on any of a variety of elements. Figure 14 Shows a drag-and-drop input performed on a VDP graphics window 324. The display pointer 322 can be used to select the VDP graphics window 324. The movement of the display pointer 322 with the VDP graphics window 324 can cause the VDP graphics 324 to move to another location on the display 302. The other location can include at least one other VDP graphics window.
[0095] If the VDP graphics window to be dragged is dragged onto multiple VDP graphics windows, the processor 202 can use any of a plurality of rules to determine which VDP graphics window to place the dragged VDP graphics window on. The first example rule is to place the dragged VDP graphics window on the last VDP graphics window on which the VDP graphics window was dragged. The second example rule is to place the dragged VDP graphics window on the VDP graphics window covered by the largest portion of the dragged VDP graphics window. For example, if 51% of the dragged VDP graphics window covers the VDP graphics window 334, the dragged VDP graphics window is placed on the VDP graphics window 334.
[0096] The processor 202 can receive a drag-and-drop input from the display 302 or the user interface 208. In response to receiving the drag-and-drop input, the processor 202 can execute the program instructions of the CRPI 218. A drag-and-drop input can occur using a selection input on a touch screen display.
[0097] Next, Figure 21 depicts the execution of another drag-and-drop input that can be performed by the VST 200 or 300. Figure 21 Shows display presentations 101, 103, 105, and 107 that can be provided by a display such as the display 302 before, during, or after a drag-and-drop input. For Figure 21 the drag-and-drop input shown, the display 302 is positioned in a landscape orientation, but the drag-and-drop input can also be performed in a similar manner when the display 302 is positioned in a portrait orientation.
[0098] Before the drag-and-drop input, the DP 101 displayed by the display 302 includes large VDP graphic windows 113, 115A, small VDP graphic windows 117, 119, 121 and 123, and small VDP graphic window scroll bars 109 and large VDP graphic window scroll bars 111. The scroll bar 109 can be used to scroll through a set of small VDP graphic windows (some of which are not shown in DP 101 and 103). The scroll bar 111 can be used to scroll through a set of large VDP graphic windows ( Figure 21 not shown).
[0099] The drag-and-drop input can be initiated by long-pressing a VDP graphic window. As an example, the long-press can be performed by using a finger located on the VDP graphic window to be selected, the display pointer 322, an input key of the input section 304, or otherwise touching the touch screen of the display 302. The long-press can allow the selected VDP graphic window to be repositioned with respect to the display 302. DP103 shows that the VDP graphic window 115A is selected for drag-and-drop input and is subsequently moved upward and to the left from its previous position in the large VDP graphic window 115A.
[0100] Before the drag-and-drop input is completed, the size of the selected VDP graphic window can be changed (in other words, the VDP graphic window can be resized). DP 105 shows that the large VDP graphic window 115A has been reduced to the small VDP graphic window 115B. The graphic content within the VDP graphic windows 115A and 115B can be the same, but does not have to be. For example, the amount of time represented by the graphic in the small VDP graphic window can be less than the amount of time represented by the graphic in the large VDP graphic window. The PIDs of the graphics with respect to the VDP graphic windows 115A and 115B are preferably the same, but are not required to be.
[0101] As an example, the size of the large VDP graphics window 115A can be changed after the large VDP graphics window 115A enters a region covered by another VDP graphics window or covers a predetermined portion of another VDP graphics window. As the size of the large VDP graphics window 115A changes to the small VDP graphics window 115B, one or more of the displayed VDP graphics windows of the resized VDP graphics window can be repositioned. Repositioning one of these VDP graphics windows can include removing the VDP graphics window from the display 302. DP 105 and 107 show that the small VDP graphics windows 117, 119, and 121 have been moved downward, and the small VDP graphics window 123 is repositioned by removing it from the display. The selector 127 of the scroll bar 109 can be moved to move the small VDP graphics window so that the display 302 can display the small VDP graphics window 123 again (i.e., change from a virtual graphics window to a displayed graphics window) or move further away from being displayed again by the display 302.
[0102] As another example, the selected VDP graphics window can be a small VDP graphics window that is resized to a large VDP graphics window and repositioned at the display position specified for the large VDP graphics window. According to this example, another large VDP graphics window can be repositioned upward or downward from the VDP graphics window displayed by the display 302.
[0103] Figure 21 The large VDP graphics window position 125 that displays the large VDP graphics window 115A before the drag-and-drop input is shown. After the drag-and-drop input that removes the VDP graphics window from this position, the window graphics position (e.g., the large VDP graphics window position 125) may still have no VDP graphics window. In one aspect, the user can manually select another PID such that the display 302 displays the VDP map of that PID at the VDP graphics window position 125 after the drag-and-drop input. Alternatively, the processor 202 can automatically select the VDP map of another PID after the drag-and-drop input to display at the graphics window position 125.
[0104] III. Example Operations
[0105] Next, Figure 5is a flowchart depicting a set of functions 500 (or more simply "the set 500") that can be performed in accordance with one or more exemplary embodiments described herein. The set 500 includes functions shown in boxes labeled with even numbers 502 through 508 (inclusive). The following description of the set 500 includes references to elements shown in other figures in this application, but the functions of the set 500 are not limited to being performed by the referenced elements. One or more of the functions shown in the set 500 can be used to perform various methods. Any of these methods can be performed with other functions, such as one or more of the other functions described herein.
[0106] Box 502 includes determining that the display 302 is operating in a first display orientation. The processor 202 can execute program instructions of the CRPI 218 to make the determination of box 502, and can execute the same or other program instructions to make the determination of box 506 discussed below or cause a display such as the display 302 to perform the display functions of boxes 504 and 508 discussed below. The first display orientation is associated with a display of VDP graphics using a first VDP graphics configuration.
[0107] Each of boxes 502, 504, 506, and 508 relates to at least one of a first display orientation and a second display orientation. As an example, the first display orientation can include or can be the portrait orientation of the display 302, and the second display orientation can include or can be the landscape orientation of the display 302. As another example, the first display orientation can include or can be the landscape orientation of the display 302, and the second display orientation can include or can be the portrait orientation of the display 302.
[0108] Next, box 504 includes displaying a first set of multiple VDP graphics using the first VDP graphics configuration while the display 302 is in the first display orientation. The display of the display 302 or the user interface 208 can perform the display of box 504 and the display of box 508 discussed below. Figure 11 and Figure 12 shows examples of multiple sets of multiple VDP graphics. The first set of multiple VDP graphics can be configured like one of those example sets of multiple VDP graphics, but is not limited thereto.
[0109] Next, block 506 includes determining that the display changes from operating in a first display orientation to operating in a second display orientation that is different from the first display orientation. The processor 202 can determine the display orientation change by receiving one or more signals from the orientation detector 212. The one or more signals can include a message indicating that the display 302 is operating in the second display orientation. In this way, the orientation detector 212 determines the display orientation change and notifies the processor 202 of the display orientation change. The second display orientation can be associated with the display 302 that uses a second VDP graphics configuration to display at least one VDP graphic, which is different from the way of displaying at least one VDP graphic using the first VDP graphics configuration.
[0110] As an example, determining that the display 302 changes orientation from a first display orientation to a second display orientation can include determining the yaw motion of the VST 200 starting from the time when the top and bottom of the display 302 are in a horizontal or vertical position. The plurality of degrees of yaw motion can be an order of magnitude within a range of degrees, such as but not limited to 40 degrees to 50 degrees, 40 degrees to 90 degrees, 40 degrees to 140 degrees, or 40 degrees to 130 degrees.
[0111] The processor 202 or the display 302 can perform or cause to be performed various functions in response to the determination of block 506. For example, in response to determining that the display 302 changes from operating in a first display orientation to operating in a second display orientation, the display 302 can change from displaying a first VDP graphic in a first large VDP graphic window of at least one large VDP graphic window using a first VDP graphics configuration to displaying the first VDP graphic in a first small VDP graphic window of at least two small VDP graphic windows using a second VDP graphics configuration, and the display 302 can change from displaying a second VDP graphic in a first small VDP graphic window of at least two small VDP graphic windows using a first VDP graphics configuration to displaying the second VDP graphic in a first large VDP graphic window of at least one large VDP graphic window using a second VDP graphics configuration. As another example, in response to the determination of block 506, the display 302 can change to display the VDP graphic window of either the first or second display orientation according to any display rendering described herein.
[0112] Next, the frame 508 includes displaying at least one VDP graphic using a second VDP graphic configuration when the display operates in a second display orientation. In one aspect, displaying at least one VDP graphic using a second VDP graphic configuration may include displaying a second set of multiple VDP graphics. In another aspect, displaying at least one VDP graphic using a second VDP graphic configuration when the display 302 operates in a second display orientation may include displaying a single VDP graphic that covers a display area covered by a first set of multiple VDP graphics using a first VDP graphic configuration when the display 302 is in a first display orientation. Each of the multiple VDP graphics may be located within a separate and corresponding VDP graphic window such that displaying at least one graphic using a second VDP graphic configuration includes displaying multiple VDP graphic windows. The second set of multiple VDP graphics may be configured like Figure 11 and Figure 12 one of the example sets of multiple VDP graphics shown, but is not limited thereto.
[0113] Various examples relate to vehicle data parameters discussed in the set 500. For example, the vehicle data parameters represented by the first set of multiple VDP graphics may be the same as the vehicle data parameters represented by the second set of multiple VDP graphics. As another example, at least one vehicle data parameter represented by the first set of multiple VDP graphics is not among the vehicle data parameters represented by the second set of multiple VDP graphics. As another example, each VDP graphic of the first set of multiple VDP graphics is associated with a different PID with respect to the PID associated with other VDP graphics of the first set of multiple VDP graphics.
[0114] Various examples relate to the graphic configurations discussed in the set 500. For example, the first VDP graphic configuration may include at least one large VDP graphic window and at least two small VDP graphic windows. As another example, the first VDP graphic configuration may include at least one large VDP graphic window of the first VDP graphic configuration located to the left or right of at least two small VDP graphic windows of the first VDP graphic configuration. As another example, the second VDP graphic configuration may include at least one large VDP graphic window and at least two small VDP graphic windows. As another example, the second VDP graphic configuration may include at least one large VDP graphic window of the second VDP graphic configuration located above or below at least two small VDP graphic windows of the second VDP graphic configuration.
[0115] Additional functions are now described that may be performed alone or in conjunction with one or more other functions of the set of functions described herein. The description of these additional functions includes references to elements shown in the drawings, but the additional functions are not limited to being performed by the referenced elements. Some of these additional functions include multiple additional functions.
[0116] Additional functions include receiving, by the processor 202, an input to scroll (i.e., a scroll input) a portion of the display 302 that displays at least two small VDP graphics windows of the VDP graphics configuration, and in response to the processor 202 receiving the input to scroll, scrolling, by the display 302, the portion of the display that displays at least two small VDP graphics windows of the VDP graphics configuration. As an example, the scroll input may be input by or into the scroll bar 338. As another example, the at least two small VDP graphics windows may include, but are not limited to, the VDP graphics windows 324, 326, 328, and 330.
[0117] According to the above additional function, scrolling the portion of the display 302 that displays at least two small VDP graphics windows of the VDP graphics configuration may include: displaying at least one small VDP graphic that was not displayed in any of the at least two small VDP graphics windows of the first VDP graphics configuration at the start of the scroll, and removing at least one small VDP graphic that was displayed in one of the at least two small VDP graphics windows of the VDP graphics configuration at the start of the scroll. The VDP graphics that are not displayed but can be displayed in response to the scroll input may be referred to as virtual VDP graphics or VDP graphics at virtual display positions.
[0118] Another additional function includes receiving, by the processor 202, an input to scroll a portion of at least one large VDP graphics window of the VDP graphics configuration displayed on the display 302, and in response to the processor 202 receiving the input to scroll, scrolling, by the display 302, the portion of the display that displays at least one large VDP graphics window of the VDP graphics configuration. As an example, the scroll input may be input by or into the scroll bar 336. As another example, the at least one large VDP graphics window may include, but is not limited to, one of the VDP graphics windows 332 and 334.
[0119] According to the above function, scrolling the portion of the display 302 that displays at least one large VDP graphics window of the VDP graphics configuration may include displaying at least one large VDP graphic that was not displayed in any of the at least one large VDP graphics windows of the first VDP graphics configuration at the start of the scroll, and removing at least one large VDP graphic that was displayed in one of the at least one large VDP graphics windows of the VDP graphics configuration at the start of the scroll. In other words, a large VDP graphics window at a virtual display position may be displayed in response to the scroll input, and the large VDP graphics window at the display position may be removed from the display and repositioned at the virtual display position.
[0120] Next, Figure 6is a flowchart depicting a set of functions 600 (or simply "set 600") that can be performed in accordance with one or more exemplary embodiments described herein. Set 600 includes functions shown in boxes labeled with even numbers 602 to 610 (inclusive). The following description of set 600 includes references to elements shown in other figures in this application, but the functions of set 600 are not limited to being performed by the referenced elements. One or more of the functions shown in set 600 can be used to perform various methods. Any of these methods can be performed with other functions such as one or more of the other functions described herein.
[0121] Box 602 includes receiving a selection of a vehicle operating condition detectable by a device. The receiving function of box 602 can be performed by a VST such as VST 200, VST 300, or other devices. In particular, the receiving function of box 602 can be performed by user interface 208 or processor 202.
[0122] As an example, selecting a vehicle operating condition can include selecting a PID from a displayed list of PIDs that can be requested from ECU 106. Processor 202 can refer to VOC 226 to determine which PIDs can be requested from vehicle 102 or ECU 106. Receiving the VOC can include processor 202 selecting at least one default threshold (e.g., an upper limit default threshold or a lower limit default threshold) associated with the selected PID. Receiving the VOC can include processor 202 receiving user-configured input from user interface 208 for the threshold associated with the selected PID.
[0123] As another example, selecting a vehicle operating condition can include selecting a DTC that can be set to active by vehicle 102 from a displayed list of DTCs, or by reading DTCs set to active by ECU 106. Processor 202 can refer to VOC226 to determine one or more vehicle PIDs associated with the selected PID or DTC, and accordingly request from vehicle 102 the VDP identified by the determined vehicle PIDs.
[0124] As another example, selecting a vehicle operating condition can include selecting a VDP to be measured or otherwise captured by input section 214. Other examples of receiving the VOC are possible.
[0125] Next, block 604 includes receiving vehicle data parameters by the device. As an example, one or more VDPs may be received by the DLC connector 206 and provided to the processor 202 or the data storage device 204 for storage in the VDP 224. The one or more VDPs may be sent by the ECU 106 to the DLC 108 via the vehicle communication link 110 and to the DLC connector 206 via the communication link 112 in response to a request for the VDPs identified by the vehicle PID determined with respect to block 602. The VDPs received at the DLC connector 206 may include the PIDs associated with the VDPs. As another example, one or more of the VDPs may be received by the input section 214 and provided to the processor 202 or the data storage device 204 for storage within the VDP 224.
[0126] Next, block 606 includes determining a first instance of a particular vehicle data parameter indicative of a vehicle operating condition. The determining function of block 606 may be performed by a VST such as the VST 200, the VST 300, or some other device. In particular, the determining function of block 606 may be performed by the processor 202. The processor 202 may determine the first instance of the VDP from the VDPs received in block 604. As an example, determining the first instance of a particular VDP or any other VDP indicative of a VOC may include the processor 202 determining that the VDP has violated a threshold associated with the VDP. For example, the processor 202 may determine that the VDP has a parameter greater than an upper threshold, a parameter less than a lower threshold, or is a value between the upper and lower thresholds after one or more instances where the previous VDP value was greater than the upper threshold or below the lower threshold.
[0127] Next, block 608 includes displaying a graphical representation of at least a portion of the vehicle data parameters received by the device. The display 302 may display the graphical representation. The graphical representation may include a VDP graph within a VDP graph window, such as but not limited to any of the VDP graph windows described herein. In response to selecting a graphical view option from the display 302, the graphical representation may be displayed.
[0128] Next, block 610 includes displaying a first indicator corresponding to the first instance of a particular vehicle data parameter indicative of the occurrence of a vehicle operating condition. The display 302 may display the first indicator and one or more other indicators respectively corresponding to one or more other instances of the VDP indicative of the occurrence of a VOC. For example, the display 302 may also display a second indicator corresponding to a second instance of a particular VDP indicative of the occurrence of a VOC. Displaying the second indicator may include displaying the second indicator near the time-based indicator 921 (shown in Figure 9 and other figures) to indicate the second moment from among the respective moments corresponding to the device or VST that received the second instance of the particular VDP.
[0129] Another additional feature includes the display by the device (e.g., VST 200 or 300) of a time-based indicator 921 corresponding to each time at which the device receives vehicle data parameters. As Figure 10 shown, the display 302 may display the time-based indicator 921. The display of the first indicator discussed with respect to block 610 may include displaying a VOC indicator (e.g., Figure 9 any one of the VOC indicators 926, 927, 928, 929, 930, and 931 shown in) proximate to the time-based indicator 921 to indicate, from among the respective moments, the moment corresponding to the device that received the first instance of a particular vehicle data parameter and relative to the current moment at which the device 300 is receiving the VDP.
[0130] Another additional feature includes the receipt by the device (e.g., VST 200 or 300) of a selection of a first indicator (e.g., a first VOC indicator) and the display by the device (e.g., by the display 302) in response to receipt of the selection of the first indicator of a graphical representation of at least a portion of the received VDP that includes the first instance of the VDP referenced in block 610.
[0131] Another additional feature includes the display by the device or VST 200 or 300 of a representation of a first indicator proximate to at least one of an upper threshold indicator 935 and a lower threshold indicator 936. Exemplary indicator representations 938 and 940 are shown in Figure 10 .
[0132] Next, Figure 7 is a flowchart depicting a set of functions 700 (or more simply "set 700") that may be performed in accordance with one or more example embodiments described herein. Set 700 includes the functions shown in blocks labeled with even numbers 702 through 708 (inclusive). The following description of set 700 includes references to elements shown in other figures in this application, but the functions of set 700 are not limited to being performed by the referenced elements. Various methods may be performed using one or more of the functions shown in set 700. Any of these methods may be performed using other functions, such as one or more of the other functions described herein.
[0133] Block 702 includes receiving a plurality of VDPs associated with a first VDP identifier and a plurality of VDPs associated with a second VDP identifier. Receiving the plurality of VDPs may be performed by one or more of the processor 202, the DLC connector 206, and the input section 214.
[0134] Next, block 704 includes displaying, at a first display portion of the display 302, a first graphical representation showing at least a portion of the VDP associated with the first VDP identifier. As an example, the first graphical representation can be configured as a dynamic graphical configuration, where displaying the first graphical representation changes which portion of a plurality of vehicle data parameters associated with the first VDP is shown. In one aspect, the first graphical representation can be configured as a dynamic graphical representation when the device is receiving a drag-and-drop input. In another aspect, the first graphical representation can be configured as a static graphical configuration, where the portion of the plurality of vehicle data parameters shown via the first graphical representation does not change.
[0135] Next, block 706 includes displaying, at a second display portion of the display 302, a second graphical representation showing at least a portion of the VDP associated with the second VDP identifier. In one aspect, a portion of one of the first display location and the second display location overlaps a portion of the other. In another aspect, no portion of the first display location overlaps a portion of the second display location. The area of the first display location can be equal to the area of the second display location, and the first display location and the second display location can have the same shape. Alternatively, the areas of the first display location and the second display location can be different, or the first location and the second location can have different shapes.
[0136] Next, block 708 includes receiving: a drag-and-drop input of the first graphical representation onto at least a portion of the second display portion, and responsively changing the graphical representations displayed at the first display portion and the second display portion. Examples of drag-and-drop inputs are shown and described with reference to Figure 14 and Figure 21 illustrated and described.
[0137] As an example, changing the graphical representations can include switching the first display location to display the second graphical representation instead of the first graphical representation.
[0138] As another example, changing the graphical representations can include: reducing the size of the first graphical representation to place the first graphical representation within the second display location, and increasing the size of the second graphical representation to fill the first display location with the second graphical representation. Such a change can occur according to an example where the area of the first display location is greater than the area of the second display location.
[0139] As another example, changing the graphical representations can include reducing the size of the second graphical representation to place the second graphical representation within the first display location, and increasing the size of the first graphical representation to fill the second display location with the first graphical representation. Such a change can occur according to an example where the area of the second display location is greater than the area of the first display location.
[0140] Another additional feature includes storing, by the data storage device 204, multiple VDP display groups, where each VDP display group indicates a VDP identifier associated with vehicle data parameters to be displayed at a corresponding display position of the display 302 when a VDP display including another VDP identifier is at a specific display position of the display 302.
[0141] Another additional feature includes: when vehicle data parameters including a first VDP identifier are displayed at a second display position, the processor 202 refers to one of the VDP display groups to determine the VDP identifier associated with the VDP to be displayed at the first display position. When vehicle data parameters including a first VDP identifier are displayed at the second display position, the VDP identifier associated with the VDP to be displayed at the first display position includes a second VDP identifier or a third VDP identifier.
[0142] Another additional feature includes receiving, by the VST 200 or its components, multiple vehicle data parameters associated with a third VDP identifier. Changing the graphical representation displayed at the first display position and the second display position may include switching the first display position to display a third graphical representation showing at least a portion of the vehicle data parameters associated with the third VDP identifier instead of the first graphical representation. When the VST 200 or its components are receiving a drag-and-drop input, the vehicle data parameters associated with the third VDP identifier may not be displayed.
[0143] Next, Figure 8 is a flowchart depicting a set of functions 800 (or more simply "set 800") that may be performed in accordance with one or more example embodiments described herein. Set 800 includes functions shown in boxes labeled with even numbers 802 through 808 (inclusive). The following description of set 800 includes references to elements shown in other figures in this application, but the functions of set 800 are not limited to being performed by the referenced elements. One or more of the functions shown in set 800 may be used to perform various methods. Any of these methods may be performed with other functions such as one or more of the other functions described herein.
[0144] The frame 802 includes receiving a plurality of vehicle data parameters associated with a first VDP identifier and a plurality of vehicle data parameters associated with a second VDP identifier. The VDPs received at the frame 802 can be received by the VST 200 or the VST 300. In particular, the VDPs received at the frame 802 can be received by the DLC connector 206 or the input section 214. The VDPs received at the frame 802 can be stored in the VDP 224. One or more of the first and second VDP identifiers can include a PID from a vehicle data message. As an example, the first VDP identifier can include a PID of a parameter indicating engine RPM, and the second VDP identifier can include a PID of a parameter indicating engine oil pressure measurement. Other examples of the first VDP identifier and the second VDP identifier are also possible.
[0145] Next, the frame 804 includes displaying a first VDP graph showing at least a portion of the vehicle data parameters associated with the first VDP identifier. Displaying the first VDP graph can include displaying a VDP graph window and anything shown or described herein, such as being displayed within the VDP graph window or as part of the VDP graph window. The first VDP graph can include a line graph. The area under the line graph can be shaded or unshaded. Displaying the first VDP graph can include displaying the VDP graph as part of any display presentation described herein, where at least two VDP graphs are displayed.
[0146] Next, the frame 806 includes displaying a second VDP graph showing at least a portion of the vehicle data parameters associated with the second VDP identifier. Displaying the second VDP graph can include displaying a VDP graph window and anything shown or described herein, such as being displayed within the VDP graph window or as part of the VDP graph window. The second VDP graph can include a line graph. Displaying the second VDP graph can include displaying the VDP graph as part of any display presentation described herein, where at least two VDP graphs are displayed.
[0147] Next, the frame 808 includes receiving a pinch and expand input for the first VDP graph and responsively increasing the size of the first VDP graph. As an example, receiving the pinch and expand input can include the processor 202 determining that two fingers are placed at corresponding positions in the first VDP graph on the display 302 and moving from those positions to two other positions. As another example, receiving the pinch and expand input can include the processor 202 determining a first finger at a position within the first VDP graph on the display 302 and a second finger at any other position on the display 302, and the two fingers moving from these positions to two other positions. Another example of the pinch and expand input is described with respect to Figure 13 the top view.
[0148] The processor 202 and the display 302 can perform various actions as part of increasing the size of the first VDP graphic. Examples of these various actions are now described. For example, increasing the size of the first VDP graphic can include displaying the same amount of VDP as was displayed by the first VDP graphic before the pinch and expand input was received.
[0149] As another example, increasing the size of the first VDP graphic can include repositioning the first VDP graphic in response to receiving a pinch and expand input. For example, the first VDP graphic (before the pinch and expand input was received) can include a line graph within a small VDP graphic window among a plurality of small VDP graphic windows displayed on the left side of the display 302. Repositioning the first VDP graphic can include positioning the first VDP graphic on the right side of the display as a VDP graphic within a large VDP graphic window. Repositioning the first VDP graphic in this manner can include repositioning and resizing the VDP graphic within another large VDP graphic window to the position where the first VDP graphic was displayed as a small VDP graphic within the small VDP graphic window.
[0150] As another example, increasing the size of the first VDP graphic can include using the entire display area of the display 302 to display the first VDP graphic. Displaying the first VDP graphic can include displaying a VDP graphic window that contains the VDP graphic. Figure 10 An example of using the entire display area of the display 302 (dedicated to displaying the VDP graphic window) to display the VDP line graph 932 and the VDP graphic within the VDP graphic window 944 is shown.
[0151] As another example, increasing the size of the first VDP graphic can include displaying different amounts of vehicle data parameters associated with the first VDP identifier and using different time scales to display the different amounts of vehicle data parameters associated with the first VDP identifier. The different amounts can be less than or greater than the amount of vehicle data parameters displayed by the first VDP graphic before the pinch and expand input was received. The different time scales can be shorter or longer than the time scale used to display the vehicle data parameters of the first VDP graphic before the pinch and expand input was received.
[0152] As another example, another action performed in response to receiving a pinch and expand input may include changing a second VDP graphic. As an example, changing the second VDP graphic may include reducing the size of the second VDP graphic. Reducing the size of the second VDP graphic may include removing the second VDP graphic so that it is not displayed within the display area of the display (e.g., positioning the second VDP graphic at a virtual VDP graphic location). In this regard, a third VDP graphic may be displayed in the VDP graphic window, in which the first VDP graphic window is displayed before and simultaneously with at least a portion of the pinch and expand input being received.
[0153] As another example, changing the second VDP graphic may include repositioning the second VDP graphic. Repositioning the second VDP graphic may include repositioning the second VDP graphic to another visible portion of the display 302. Alternatively, repositioning the second VDP graphic may include repositioning the second VDP graphic to a virtual location on the display 302. A VDP graphic located at a virtual location on the display may be repositioned within the visible portion of the display 302 by using a scroll bar or by selecting from a list view of the VDPs. Figure 21 The display presentations 105 and 107 in show an example of a VDP graphic 123 located at a virtual location on the display 302.
[0154] Next, Figure 9 is a flowchart depicting a set of functions 900 (or more simply "the set 900") that may be performed in accordance with one or more example embodiments described herein. The set 900 includes functions shown in boxes labeled with even numbers 902 through 908, inclusive. The following description of the set 900 includes references to elements shown in other figures in this application, but the functions of the set 900 are not limited to being performed by the referenced elements. One or more of the functions shown in the set 900 may be used to perform various methods. Any of these methods may utilize other functions, such as one or more other functions described in this specification, to be performed.
[0155] Box 902 includes displaying a plurality of VDP graphics within a display (e.g., display 302). Each VDP graphic may include at least one cursor 933. Figure 11 Shows an example display presentation 450 having a plurality of VDP graphic windows 961, 963, 965, 967, 969, and 971 displayed by the display 302. These VDP graphic windows respectively show VDP line graphs 962, 964, 996, 968, 970, and 972.
[0156] Next, block 904 includes displaying a cursor locator within the display 302. The cursor locator can be configured for cursor locator movement that results in a consistent movement of a cursor 933 in each VDP line graph. Figure 11 The cursor locator 925 is shown in this and other figures.
[0157] Next, block 906 includes determining the occurrence of cursor locator movement. The processor 202 can determine that the cursor locator 925 moves in a first direction (e.g., moves to the right when the cursor locator 925 is positioned as shown in Figure 11 or Figure 12 ), or moves in a second direction (e.g., moves to the left when the cursor locator 925 is positioned as shown in Figure 11 or Figure 12 ). Figure 20 It is shown that the cursor locator has moved to the first end 595 of the time period 923 and each VDP graph window displays the VDP line graph from one side to the other. The movement of the cursor locator 925 to the second end of the time period 923 can cause the cursor of each line graph to move to the Figure 20 left side of each VDP graph window as shown.
[0158] Next, block 908 includes causing at least one cursor to move consistently in each VDP graph in response to determining the occurrence of cursor locator movement. For example, Figure 20 the cursor 933 in each VDP graph window as shown in Figure 20 can move consistently to the left or right. The time represented from the left side of each VDP graph window in
[0159] IV. Example Display Rendering
[0160] Next, Figure 10920 is a diagram depicting an exemplary display presentation (DP) 920 that may be provided by a display such as display 302. DP 920 is arranged in a landscape orientation and includes a VDP graphics window 944. VDP graphics window 944 includes a VDP line graph 932, VDP graphic text 937, VDP threshold indicators 935, 936, vehicle operating condition indicators 926, 927, 928, 929, 930 and 931, and a time-based indicator 921. DP 920 includes a view selector 943 for selecting different views for a set of VDPs, at least one of which may include the currently displayed VDP. In addition to the graphical view, other views may include, but are not limited to, a numeric view and a list view. VDP line graph 932 is an example of a line graph in which the area below the line graph is not shaded.
[0161] VDP graphic text 937 indicates that the selected VOC threshold value belongs to the throttle position sensor (TPS) position, and the units are expressed as a percentage. Alternatively, VDP graphic text 937 may include graphic text of any other VDP associated with or available from vehicle 102.
[0162] VDP threshold indicator 935 may indicate an upper VDP threshold associated with the TPS position percentage. VDP threshold indicator 936 may indicate a lower VDP threshold associated with the TPS position percentage. VDP threshold indicators 935 and 936 may include indicators such as horizontal lines extending across at least a portion of VDP graphical window 944. VDP threshold indicators 935 and 936 may include VOC indicators having unique characteristics to distinguish them from each other. Figure 10 As shown, the VOC indicator of the VDP threshold indicator 935 includes a dark flag icon 940, and the VOC indicator of the VDP threshold indicator 936 includes a light flag icon 938. The VDP graph window 944 includes an upper threshold indicator 942, which indicates the numerical value of the upper threshold of the VDP displayed in the VDP graph window 944. The VDP graph window 944 includes a lower threshold indicator 939, which indicates the numerical value of the lower threshold of the VDP displayed in the VDP graph window 944.
[0163] The time-based indicator 921 may include a cursor locator 925 and time periods 922, 923, and 924. The cursor locator 925 may correspond to a cursor 933 in the VDP graphics window 944. Figure 11 , Figure 12 and Figures 15 - 20 Other examples of a time-based indicator 921 , a cursor locator 925 , and a cursor 933 are shown. The VDP graphics window 944 includes a numeric VDP value 941 that indicates the value of the VDP at the cursor 933 .
[0164] Time period 922 provides an indication of the time or percentage amount of frames or data values of the VDP captured prior to the frames or data values of the VDP currently being displayed in the VDP graphics window 944 relative to time periods 923 and 924. Time period 923 provides an indication of the amount of time or percentage represented by the VDP values displayed within the VDP graphics window 944 relative to time periods 922 and 924. Time period 924 provides an indication of the amount of time or percentage that the VST can receive additional frames or data values of the VDP prior to the previous instance of the received VDP being overwritten or otherwise deleted for storage of additional frames or data values of the VDP.
[0165] The VDP line graph 932 can be magnified or shrunk within the VDP graphics window 944. As an example, the cursor locator 925 can be moved in a first direction (e.g., to the right) to magnify the VDP line graph 932 and moved in a second direction (e.g., to the left) to shrink the VDP line graph 932. As another example, the cursor 933 or cursor bar 934 can be moved in the first and second directions to magnify and shrink the VDP line graph 932, respectively. As an example, magnifying the VDP line graph can include reducing the time horizontally represented within the VDP graphics window 944, and shrinking on the VDP line graph can include increasing the time horizontally represented within the VDP graphics window 944. Alternatively, repositioning the cursor 933 or cursor bar 934 can include representing the current value of the VDP at another location within the VDP graphics window 944.
[0166] Next, Figure 11FIG. depicting an example display rendering 960 that may be provided by a display such as display 302. DP 960 is in portrait orientation. DP 960 includes VDP graphics windows 961, 963, 965, 967, 969, and 971. These VDP graphics windows are examples of a set of multiple VDP graphics windows and respectively include VDP graphic texts 975, 976, 977, 978, 979, and 980. These same VDP graphics windows also respectively include VDP graphics 962, 964, 966, 968, 970, and 972. The VDP graphics of these VDP graphics windows are examples of a set of multiple VDP graphics. The VDP graphic texts 975, 976, 977, 978, 979, and 980 may include text identifying different PIDs for each VDP graphics window. The VDP graphic text associated with the PID may include a unit indicator for the data value of the VDP and at least one of a minimum data value and a maximum data value. The minimum data value and the maximum data value may respectively represent a low VDP threshold and a high VDP threshold, but are not limited thereto. For example, the minimum data value and the maximum data value may indicate the minimum data value and the maximum data value of the VDP currently displayed in the VDP graphics window including the VDP graphic text or associated with the VDP graphic text.
[0167] DP 960 includes a text view selector 973 and a graphic view selector 974. When the display 302 is displaying the VDP graphics window in the graphic view as shown in Figure 11 When the display 302 is displaying the VDP graphics window in the graphic view as shown, the text view selector 973 may be selected by the display pointer 322 or otherwise cause the display 302 to start displaying the VDP shown in one or more of the VDP graphics windows 961, 963, 965, 967, 969, and 971, or the data represented in text format therein (e.g., a list view as shown in Figure 16 When the display 302 is displaying the VDP in text format, the graphic view selector 974 may be selected by the display pointer 322 or otherwise cause the display to start displaying the VDP graphics windows 961, 963, 965, 967, 969, and 971.
[0168] DP 960 includes a time-based indicator 921, time periods 922, 923, and 924, a cursor locator 925, and a cursor 933 in each of the VDP graphics windows 961, 963, 965, 967, 969, and 971. The cursor locator 925 may be moved in either direction along the time-based indicator 921 such that the cursor 933 moves consistently within each of the VDP graphics windows 961, 963, 965, 967, 969, and 971.
[0169] Next, Figure 12FIG. depicts an example display presentation 980 that may be provided by a display such as display 302. DP980 is in a landscape orientation. DP 980 includes VDP graphics windows 961, 963, 965, 967, 969, and 971. These VDP graphics windows respectively include VDP graphic texts 975, 976, 977, 978, 979, and 980. These same VDP graphics windows also respectively include VDP graphics 962, 964, 966, 968, 970, and 972. DP 980 also includes a VDP graphics window 981 that is only partially displayed.
[0170] DP 980 includes a text view selector 973 and a graphics view selector 974. When the display 302 is displaying the VDP graphics window in the graphics view as shown, the text view selector 973 can be selected by the display pointer 322, otherwise, causing the display 302 to start displaying the VDPs shown in one or more of the VDP graphics windows 961, 963, 965, 967, 969, 971, and 981 in text format. Figure 12 When the display 302 is displaying the VDP graphics window in the graphics view as shown, the text view selector 973 can be selected by the display pointer 322, otherwise, causing the display 302 to start displaying the VDPs shown in one or more of the VDP graphics windows 961, 963, 965, 967, 969, 971, and 981 in text format.
[0171] DP 980 may include one or more scroll bars, such as scroll bars 336 or 338, to allow the user to scroll DP980 to bring another VDP graphics window that is not currently displayed or is only partially displayed by DP 980, such as the VDP graphics window 981, fully into DP 980. As another VDP graphics window is brought into DP 980, the currently displayed VDP graphics window may leave DP 980. Figure 11 The shown DP 960 may also include one or more scroll bars to provide a scrolling function similar to the scrolling function available for DP980. For the clarity of these figures, Figure 11 and Figure 12 the scroll bars are not shown in
[0172] The orientation detector 212 can detect the VST 200 changing from a landscape orientation to a portrait orientation while the display 302 is displaying DP 980, and correspondingly cause the display 302 to start displaying the VDP graphics according to DP 960. Similarly, the orientation detector 212 can detect the VST 200 changing from a landscape orientation to a portrait orientation while the display 302 is displaying DP 960, and correspondingly cause the display 302 to start displaying the VDP graphics according to DP 980.
[0173] Next, Figure 15FIG. is a diagram depicting exemplary display presentations 160 and 161 that may be provided by a display such as display 302. The display 302 that displays display presentations 160 and 161 may include a display within a smart phone, but is not limited thereto. For example, the VST 300 may include or be configured as a smart phone. The display 302 is in a landscape orientation for DP 160 and in a portrait orientation for DP 161. DP 160 includes a line graph 162 of data values received for VDP identified by VDP graphic text 165. DP 161 includes a line graph 162 of data values received for VDP identified by VDP graphic text 165 and a line graph 163 of data values received for VDP identified by VDP graphic text 166.
[0174] The orientation detector 212 may detect a change from a landscape orientation to a portrait orientation while the VST 300 is presented by the display 302 for DP 160, and in response cause the display 302 to display DP 161. The processor 202 may determine one or more VDP graphs to be displayed in the portrait orientation and the VDP graph 162 to be displayed in the portrait orientation.
[0175] The orientation detector 212 may detect a change from a portrait orientation to a landscape orientation while the VST 300 is presented by the display 302 for DP 161, and in response cause the display 302 to display DP 161. The processor 202 may determine that the VDP graphic 162 is the only VDP graphic to be displayed in response to becoming the landscape orientation.
[0176] DP 160 and DP 161 each include a time-based indicator 921 and a cursor locator 925 for selecting a VDP value of the received VDP on which a cursor 933 is located. Movement of the cursor locator 925 for a display presentation having multiple VDP graphic cursors 933 and multiple VDP graphic windows may cause a consistent movement of at least one cursor 933 within each of the multiple VDP graphic windows.
[0177] DP 160 includes a VDP selector 167. DP 161 includes a VDP selector 168. The VDP selector can be used to select different VDPs to be displayed within the display 302.
[0178] Next, Figure 16 FIG. is a diagram depicting exemplary display presentations 750 and 760 that may be provided by a display such as display 302. The display 302 that displays display presentations 750 and 760 may include a display within a smart phone, but is not limited thereto. The display 302 is in a landscape orientation for DP 750 and in a portrait orientation for DP 760. DP 750 includes two columns 751 and 752 of VDPs in a list view. DP 760 includes a single column 761 of VDPs in a list view.
[0179] The orientation detector 212 can detect the lateral orientation change of the VST 300 to the longitudinal orientation while the VST 300 is presented by the display 302 from the DP 750, and correspondingly cause the display 302 to display the DP 760. The processor 202 can determine which VDPs displayed in the DP 750 will be displayed in the DP 760 and which VDPs will not be displayed in the DP 760.
[0180] The orientation detector 212 can detect the longitudinal orientation change of the VST 300 to the lateral orientation while the VST 300 is presented by the display 302 from the DP 760, and correspondingly cause the display 302 to display the DP 750. The processor 202 can determine which VDPs not displayed in the DP 760 will be displayed in the DP 750.
[0181] The DP 750 and DP 760 include a DP selector 753 to select different VDP displays for presentation. By selecting the list view from the DP selector 753 in other types of views, any one of the DP 750 and DP 760 can be input from another type of view (such as a graphical view or a digital view). In the list view of the DP 750 and DP 760, another type of view can be selected to change the display from the list view to other types of views.
[0182] Each of the DP 750 and DP 760 includes a time-based indicator 921 and a frame or data value indicator 757. As an example, the frame or data value indicator 757 indicates 3,834 out of 5,000 frames or data values. In some cases, the VST 300 may have received the same number of data values for each VDP identified in the list view of the VDPs. According to these cases, the cursor locator 925 can be moved to select a different frame or data value out of the 5,000 frames or data values. In other cases, the VST 300 can receive different numbers of data values for two or more VDPs identified in the list view of the VDPs. According to these other cases, the cursor locator 925 can be moved to select a different frame or different value of the received frames or data values of the specified VDP. The data values of other VDPs can be changed to other data values relative to the time when the different frames or data values are received.
[0183] As Figure 16As shown, the list view of the VDP may include multiple VDP text identifiers (e.g., VDP text identifier 754) and multiple VDP values (e.g., VDP value 755). In column 752, a VOC indicator 756 is displayed for a VDP whose data value for the VDP violates a VDP threshold (e.g., is greater than an upper threshold or lower than a lower threshold). The processor 202 may detect a drag-and-drop input of a VDP displayed in the list view and move the VDP from its initial position when the drag-and-drop input is initiated to a position including the position to which the VDP is dragged by the drag-and-drop input.
[0184] DP 750 and DP 760 may include at least one scroll bar for inputting a scroll input, which causes virtual VDP values that are not currently displayed in DP 750 or DP 760 to be displayed and causes one or more currently displayed VDP values to be repositioned to virtual VDP values that are not currently displayed in DP 750 or DP 760.
[0185] The processor 202 may execute program instructions of the CRPI 218 to provide a VDP threshold selection display for the display 302. The selection display may include a selection of a VDP. The selection display may include a selection of at least one VDP threshold associated with the selected VDP, or the VDP threshold may be default selected when the VDP is selected. The selection display may include a selection of a VOC indicator for the VDP or the VDP threshold, or the VOC indicator selection may be default selected when the VDP or the VDP threshold is selected.
[0186] Figure 16 VOC indicators 780, 781, 782, and 782 are shown as examples of VOC indicators that may be displayed on the display 302. As Figure 16 shown in this and other figures, each VOC indicator may include a flag and a flagpole icon, but the VOC indicator is not limited thereto. In addition, the display 302 may display VOC indicators having different colors or shadings to indicate various characteristics regarding the VDP threshold or VOC.
[0187] In one aspect, the VOC indicator 780 includes a bordered flag (e.g., a white flag bordered in red), and the VOC indicator 781 includes a solid flag (e.g., a red flag). A bordered flag may be displayed to indicate that the VDP threshold is armed, but the VDP value received for the VDP has not violated the VDP threshold. A solid flag may be displayed to indicate that the VDP value received for the VDP has violated the associated VDP threshold that has been armed.
[0188] In addition, the display 302 may display text associated with the VDP (e.g., PID) near the VOC indicator. The display 302 may display the associated text in various ways to further indicate whether the VDP threshold has been violated. For example, when the VDP threshold is armed but not yet violated, the text associated with the VDP may be blue, and when the armed VDP threshold has been violated, the associated text may be red. In response to detecting that the VDP threshold is being violated, the processor 202 may cause the associated text to change color.
[0189] In another aspect, the VOC indicator 783 (e.g., a white flag) may indicate that the VDP high threshold has been violated, while the VOC indicator 782 (e.g., a gray shaded flag) may indicate that the VDP low threshold has been violated. In yet another aspect, if the VDP threshold has been set and armed for multiple VDPs, then the VOC indicator for each VDP may be associated with a corresponding color or corresponding shading to distinguish the VOC indicators for each of the multiple VDPs.
[0190] Next, Figure 17 is a diagram depicting an example display presentation 520 that may be provided by a display such as display 302. The DP 520 includes a VDP graphic window 530 that includes a VDP line graph 521 of the VDP identified by VDP graphic text 522. The VDP graphic window 530 includes a time-based indicator 921, a cursor locator 925, and a cursor 933. The VDP graphic window 530 includes a digital VDP value 525 that indicates the value of the VDP at the cursor 933. The VDP graphic window includes a minimum and maximum value 523 that may indicate the minimum and maximum values of the VDP shown in the VDP line graph 521 or the minimum and maximum values of the VDP stored in the VDP 224 identified by the VDP graphic text 522.
[0191] The VDP graphics window 530 includes a threshold armed status icon 524. When the threshold of the VDP indicated by the VDP graphics text 522 is not armed, the threshold armed status icon 524 may include an empty flag icon (e.g., the VOC indicator 780). When the threshold is not armed, the processor 202 may not compare the received data value of the VDP with the VDP threshold. The VDP graphics window 530 includes a lower threshold indicator 528 that indicates the numerical value of the lower threshold of the VDP displayed in the VDP graphics window 530. The VDP graphics window 530 includes an upper threshold indicator 526 that indicates the numerical value of the upper threshold of the VDP displayed in the VDP graphics window 530. The VDP graphics window 530 includes a VOC indicator 527 associated with the upper threshold of the VDP and a VOC indicator 529 associated with the lower threshold of the VDP. Any other VDP graphics window described herein may include one or more elements contained within the DP 520.
[0192] Next, Figure 18 FIG. is a diagram depicting an example display rendering 550 that may be provided by a display such as the display 302. The DP 550 includes VDP graphics windows 530, 551, 552, 553, 554, and 555. The VDP graphics windows 530, 551, 553, 554, and 555 include VDP line graphs for the VDP identified by the VDP graphics text in each of those VDP graphics windows. The VDP graphics window 530 includes a VDP line graph 521, an upper threshold indicator 559, and a lower threshold indicator 560, VDP graphics text 558 that identifies the PID of the VDP data value displayed by the VDP line graph 521, and a threshold armed status icon 524. In the DP 550, the threshold armed status icon 557 may include a solid (i.e., non-empty) flag of a first icon color (e.g., blue) to indicate that the VDP threshold associated with the VDP represented by the VDP line graph 521 is armed but not violated.
[0193] The VDP graphics window 552 includes a numerical value 556 of the VDP value of the VDP identified by the VDP graphics text in the VDP graphics window 552. When the VDP threshold associated with the VDP represented by the VDP line graph 521 is armed but not violated, the numerical value 556 may be the same color as the text of the VDP graphics text 558. The DP 550 includes a time-based indicator 921 and a cursor locator 925. Any one or more other VDP graphics windows described herein may include one or more elements contained within the DP 550.
[0194] Next, Figure 19A diagram depicting a display rendering 570 of an example that can be provided by a display such as display 302. DP 570 includes VDP graphic windows 530, 551, 552, 553, 554, and 555. Similarly Figure 18 , the VDP graphic windows 530, 551, 553, 554, and 555 include VDP line graphs for the VDP identified by VDP graphic text in each of these VDP graphic windows. The VDP graphic window 530 includes a VDP line graph 521, an upper threshold indicator 559, and a lower threshold indicator 560, VDP graphic text 558, and a threshold armed status icon 557. In DP 570, the threshold armed status icon 557 can include a solid (i.e., non-empty) symbol of a second icon color (e.g., red) to indicate that the VDP threshold associated with the VDP represented by the VDP line graph 521 is armed and has been violated at the VDP value 572 of the VDP line graph 521.
[0195] The value and color of the numerical value 556 within the VDP graphic window 552 can change as the cursor locator 925 is repositioned. For example, when the VDP threshold associated with the icon is not violated, the color of the numerical value 556 can be the same as the first color of the threshold armed status icon 557, and can be the same as the second color of the threshold armed status icon 557 when the VDP threshold associated with the icon is violated. In one aspect, if the cursor locator 925 is located at a position representing the time when the VDP threshold was initially violated, the color of the numerical value 556 can be the second color. In another aspect, if the cursor locator 925 is located at a position representing any moment when the VDP threshold is still violated, the color of the numerical value can be the second color. The VDP graphic text in the VDP graphic window can be the same as the color of the numerical value 556. DP 570 includes a time-based indicator 921 and a cursor locator 925.
[0196] When the VDP threshold is violated, a VOC indicator 573 can be displayed near the time-based indicator 921. When the VOC indicator 573 is displayed near the time period 923, the VDP value 572 and the VOC indicator bar 571 are displayed within the VDP graphic window 530. The VOC indicator bar 571 is also displayed within the VDP graphic windows 551, 553, 554, and 555 to indicate the positions of those VDP graphic windows having a time corresponding to when the VDP threshold was violated at the VDP value 572. Any one or more of the other VDP graphic windows described herein can include one or more elements included within DP 570.
[0197] Next, Figure 20FIG. is a diagram depicting an example display rendering 585 that may be provided by a display such as display 302. DP 585 includes VDP graphics windows 586, 587, 588, 589, 590, and 591, time-based indicators 921, time periods 922, 923, and 924, and a cursor locator 925. Figure 20 Represents a situation where the cursor locator 925 is located at the first end 595 of the time period 923. With the cursor locator at the first end 595, the line graph within the VDP graphics window 586 extends fully from the first end 592 to the second end 593 of the VDP graphics window 586. As the cursor locator 925 moves from the first end 595 to the second end 594 of the time period 923, the amount of the VDP graphics window covered by the line graph decreases. Movement of the cursor locator 925 can cause Figure 20 the consistent movement of the other VDP line graphs shown. Any one or more of the other VDP graphics windows described herein may include one or more elements contained within DP 585.
[0198] V. EXAMPLE COMPUTER-READABLE MEDIUM
[0199] As described above, the data storage device 204 includes CRPI 218. Thus, a computer-readable medium can store program instructions that, when executed by a computing device (e.g., processor 202), cause multiple sets of functions to be performed. For the purposes of this specification, these sets of functions are referred to herein as "Group X example functions", where X represents an ordinal number such as first, second, etc.
[0200] As an example, the first set of example functions may include: (i) determining by the processor that the display is operating in a first display orientation, where the first display orientation is associated with a display that displays vehicle data parameter (VDP) graphics using a first VDP graphics configuration, (ii) displaying, by the display using the first VDP graphics configuration, a first set of multiple VDP graphics when the display is in the first display orientation, (iii) determining by the processor that the display changes from operating in the first display orientation to operating in a second display orientation different from the first display orientation, where the second display orientation is associated with a display that displays at least one VDP graphics using a second VDP graphics configuration different from the first VDP graphics configuration, and (iv) displaying, by the display using the second VDP graphics configuration, at least one VDP graphics while the display is operating in the second display orientation.
[0201] As another example, a second set of example functions can include: (i) receiving, by the device, a selection of a vehicle operating condition detectable by the device, (ii) receiving, by the device, vehicle data parameters, (iii) determining, by the device, a first instance of a specific vehicle data parameter from the vehicle data parameters that indicates the occurrence of the vehicle operating condition, (iv) displaying, by the device, a graphical representation of at least a portion of the vehicle data parameters received by the device, and (v) displaying, by the device, a first indicator corresponding to the first instance of the specific vehicle data parameter that indicates the occurrence of the vehicle operating condition.
[0202] As another example, a third set of example functions can include: (i) receiving, by the device, a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) displaying, by a display of the device, a first graphical representation at a first display position of the display, the first graphical representation showing at least a portion of the vehicle data parameters associated with the first VDP identifier, (iii) displaying, by a display of the device, a second graphical representation at a second display position of the display, the second graphical representation showing at least a portion of the vehicle data parameters associated with the second VDP identifier, and (iv) receiving, by the device, a drag-and-drop input onto at least a portion of the second display position where the second graphical representation is displayed for the first graphical representation displayed at the first display position, and responsive thereto changing the graphical representations displayed at the first display position and the second display position, wherein changing the graphical representations displayed at the first display position and the second display position includes switching the second display position to display the first graphical representation instead of the second graphical representation.
[0203] As another example, a fourth set of example functions can include: (i) receiving, by the device, a plurality of vehicle data parameters associated with a first vehicle data parameter (VDP) identifier and a plurality of vehicle data parameters associated with a second VDP identifier, (ii) displaying, by a display of the device, a first VDP graphic that shows at least a portion of the vehicle data parameters associated with the first VDP identifier, (iii) displaying, by a display of the device, a second VDP graphic that shows at least a portion of the vehicle data parameters associated with the second VDP identifier, and (iv) receiving, by the device, a pinch-and-expand input for the first VDP graphic and responsive thereto increasing the size of the first VDP graphic.
[0204] As another example, the fifth set of exemplary functions may include: (i) displaying, by a display of a device, within the display, a plurality of vehicle data parameter (VDP) graphics, where each VDP graphic includes at least one cursor, (ii) displaying, by the display, within the display, a cursor locator, where the cursor locator is configured for cursor locator movement that causes consistent movement of at least one cursor in each VDP graphic, (iii) determining, by the device, the occurrence of cursor locator movement, and (iv) in response to determining the occurrence of cursor locator movement, moving, by the device, at least one cursor consistently in each VDP graphic.
[0205] As another example, this set of exemplary functions may include one or more functions of at least one other function of the first, second, third, fourth, or fifth set of exemplary function groups listed above and any function described in this specification as being performed by a VST or any component of a VST.
[0206] VI. Conclusion
[0207] Exemplary embodiments have been described above. Those skilled in the art will understand that changes and modifications can be made to the described embodiments without departing from the true scope and spirit of the invention as defined by the claims. For example, although many exemplary embodiments have been described with respect to vehicles and vehicle repair tools, those skilled in the art will understand that the vehicles mentioned herein can be replaced by certain other repairable devices, such as but not limited to medical devices, electrical appliances (such as refrigerators or washing machines), or televisions. In such cases, the vehicle repair tools described herein can be more simply referred to as "repair tools".
Claims
1. A method, comprising: Receive, by a device, a plurality of vehicle data parameters (VDPs) associated with a first parameter identifier (PID) and a plurality of VDPs associated with a second PID; Store, in a computer-readable medium, the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID; Display, by a display of the device, a first VDP graphical window, the first VDP graphical window including a first VDP graph that depicts at least a portion of the VDPs associated with the first PID; Display, by the display of the device, a second VDP graphical window, the second VDP graphical window including a second VDP graph that depicts at least a portion of the VDPs associated with the second PID; And Display, by the display of the device, a time-based indicator corresponding to a time at which the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID are received, the time-based indicator including a cursor locator and a plurality of time periods, a first time period providing an indication of an amount of time represented by VDP values displayed within the first and second VDP graphical windows, a second time period providing an indication of an amount of time represented by data values of the VDPs captured prior to data values of the VDPs currently displayed in the first and second VDP graphical windows, and the cursor locator being configured for cursor locator movement that causes a consistent movement of at least one cursor within each of the first and second VDP graphs; Determine, by the device, an occurrence of movement of the cursor locator in a first or second direction; And In response to determining the occurrence of the cursor locator movement, consistently move the at least one cursor within each VDP graph in the first direction or the second direction.
2. The method according to claim 1 further comprises: Receive, by the device, a pinch and expand input to the first VDP graph or a squeeze input to the second VDP graph, and responsively increase a size of the first VDP graph and decrease a size of the second VDP graph, wherein increasing the size of the first VDP graph includes displaying the same number of VDPs as the number of VDPs displayed by the first VDP graph prior to receiving the pinch and expand input.
3. The method according to claim 2, wherein, Increasing the size of the first VDP graph includes displaying a different number of VDPs associated with the first PID and using a different time scale to display fewer VDPs associated with the first PID.
4. The method according to claim 1, further comprising: Receive, by the device, a pinch and expand input to the first VDP graph or a squeeze input to the second VDP graph, and responsively increase the size of the first VDP graph and decrease the size of the second VDP graph; And Reposition, by the device, the first VDP graph in response to receiving the pinch and expand input.
5. The method according to claim 2, Among them, Increasing the size of the first VDP graphic includes using the entire display area of the display to display the first VDP graphic, and wherein, reducing the size of the second VDP graphic includes removing the display of the second VDP graphic from within the display area of the display.
6. The method according to claim 2 further comprises: Relocating the second VDP graphic from a first display position of the display to a second display position of the display.
7. The method according to claim 2, further comprising: Displaying at least a portion of a plurality of VDPs associated with a third PID instead of any VDPs associated with the second PID.
8. The method according to claim 1, further comprising: Storing first metadata regarding the plurality of VDPs associated with the first PID and second metadata regarding the plurality of VDPs associated with the second PID, wherein, the first metadata includes the first PID and the maximum and minimum VDP values of the plurality of VDPs associated with the first PID, and the second metadata includes the second PID and the maximum and minimum VDP values of the plurality of VDPs associated with the second PID.
9. A system, comprising: A device configured to receive a plurality of vehicle data parameters VDPs associated with a first parameter identifier PID and a plurality of VDPs associated with a second PID; A display configured to display a first VDP graphic window, a second VDP graphic window, and a time-based indicator, the first VDP graphic window including a first VDP graphic showing at least a portion of the VDPs associated with the first PID, the second VDP graphic window including a second VDP graphic showing at least a portion of the VDPs associated with the second PID, the time-based indicator corresponding to the time of receiving the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID, the time-based indicator including a cursor locator and a plurality of time periods, a first time period providing an indication of the amount of time represented by the VDP values displayed within the first and second VDP graphic windows, and a second time period providing an indication of the amount of time represented by the data values of the VDPs captured prior to the data values of the VDPs currently displayed in the first and second VDP graphic windows, and the cursor locator being configured for cursor locator movement, the cursor locator movement causing a consistent movement of at least one cursor within each of the first and second VDP graphics; An input device configured to receive pinch and expand inputs or squeeze inputs; A processor; and A computer-readable medium storing the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID, and computer-readable program instructions executable by the processor to determine the occurrence of movement of the cursor locator in a first or second direction and, in response to determining the occurrence of cursor locator movement, consistently move the at least one cursor within each VDP graphic in the first or second direction.
10. The system according to claim 9, wherein, The device for receiving the plurality of VDPs includes at least one of a data link connector and an input portion for receiving input signals from a vehicle.
11. The system according to claim 9, wherein, The computer-readable medium also stores computer-readable program instructions that can be executed by the processor to increase the size of the first VDP graphic or decrease the size of the second VDP graphic in response to receiving the pinch and expand input of the first VDP graphic or the squeeze input of the second VDP graphic, wherein decreasing the size of the second VDP graphic includes repositioning the second VDP graphic to a virtual VDP graphic position that is invisible within the display.
12. The system according to claim 9, wherein, The computer-readable medium also stores computer-readable program instructions that can be executed by the processor to increase the size of the first VDP graphic or decrease the size of the second VDP graphic in response to receiving the pinch and expand input of the first VDP graphic or the squeeze input of the second VDP graphic, wherein increasing the size of the first VDP graphic includes displaying the same number of VDPs as the number of VDPs displayed by the first VDP graphic before receiving the pinch and expand input.
13. The system according to claim 9, wherein, The computer-readable medium also stores computer-readable program instructions that can be executed by the processor to increase the size of the first VDP graphic or decrease the size of the second VDP graphic in response to receiving the pinch and expand input of the first VDP graphic or the squeeze input of the second VDP graphic, wherein increasing the size of the first VDP graphic includes displaying a different number of VDPs associated with the first PID and using a different time scale to display fewer VDPs associated with the first PID.
14. The system according to claim 9, wherein, The computer-readable medium also stores computer-readable program instructions that can be executed by the processor to increase the size of the first VDP graphic or decrease the size of the second VDP graphic in response to receiving the pinch and expand input of the first VDP graphic or the squeeze input of the second VDP graphic, wherein increasing the size of the first VDP graphic includes using the entire display area of the display to display the first VDP graphic, and wherein decreasing the size of the second VDP graphic includes removing the display of the second VDP graphic from within the display area of the display.
15. The system according to claim 9, wherein, The computer-readable medium also stores first metadata regarding the plurality of VDPs associated with the first PID and second metadata regarding the plurality of VDPs associated with the second PID, wherein, the first metadata includes the first PID and the maximum and minimum VDP values of the plurality of VDPs associated with the first PID, and the second metadata includes the second PID and the maximum and minimum VDP values of the plurality of VDPs associated with the second PID.
16. A computer-readable medium storing program instructions that, when executed by a processor, cause a set of functions to be performed, the set of functions including: Receiving, by the device, a plurality of vehicle data parameters (VDPs) associated with a first parameter identifier (PID) and a plurality of VDPs associated with a second PID; Storing, in the computer-readable medium, the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID; Displaying, by a display of the device, a first VDP graphical window that includes a first VDP graph that depicts at least a portion of the VDPs associated with the first PID; Displaying, by the display of the device, a second VDP graphical window that includes a second VDP graph that depicts at least a portion of the VDPs associated with the second PID; Displaying, by the display of the device, a time-based indicator that corresponds to the time at which the plurality of VDPs associated with the first PID and the plurality of VDPs associated with the second PID are received, the time-based indicator including a cursor locator and a plurality of time periods, a first time period providing an indication of the amount of time represented by the VDP values displayed within the first and second VDP graphical windows, and a second time period providing an indication of the amount of time represented by the data values of the VDPs captured prior to the data values of the VDPs currently displayed in the first and second VDP graphical windows, and the cursor locator being configured for cursor locator movement that causes a consistent movement of at least one cursor within each of the first and second VDP graphs; Determining, by the device, the occurrence of movement of the cursor locator in a first or second direction; And In response to determining the occurrence of cursor locator movement, consistently moving the at least one cursor within each VDP graph in the first direction or the second direction.
17. The computer-readable medium according to claim 16, wherein, The set of functions further includes: receiving, by the device, a pinch and expand input of the first VDP graph and, in response, increasing the size of the first VDP graph, or receiving a squeeze input of the second VDP graph and, in response, decreasing the size of the second VDP graph, wherein increasing the size of the first VDP graph includes using the entire display area of the display to display the first VDP graph, and wherein decreasing the size of the second VDP graph includes removing the display of the second VDP graph from within the display area of the display.
18. The computer-readable medium according to claim 16, wherein The set of functions further includes: receiving, by the device, a pinch and expand input of the first VDP graph and, in response, increasing the size of the first VDP graph, or receiving a squeeze input of the second VDP graph and, in response, decreasing the size of the second VDP graph, Wherein, reducing the size of the second VDP pattern includes repositioning the second VDP pattern to a virtual VDP pattern position that is invisible within the display.
19. The computer-readable medium according to claim 17, wherein The set of functions further includes: displaying at least a portion of a plurality of VDPs associated with a third PID instead of displaying any VDPs associated with the second PID.
20. The computer-readable medium according to claim 16, wherein, The set of functions further includes: storing, in a computer-readable medium, first metadata regarding the plurality of VDPs associated with the first PID and second metadata regarding the plurality of VDPs associated with the second PID, wherein, the first metadata includes the first PID and the maximum and minimum VDP values of the plurality of VDPs associated with the first PID, and the second metadata includes the second PID and the maximum and minimum VDP values of the plurality of VDPs associated with the second PID.
Citation Information
Patent Citations
Multipoint pinch gesture control of search results
CN103858084A
Graphical user interface with vehicle scanned function
US20140277908A1