Patentable/Patents/US-20260285342-A1
US-20260285342-A1

Method and system for vehicle service using paramter-identifier topic and test or reset procedure

PublishedSeptember 24, 2026
Assigneenot available in USPTO data we have
Technical Abstract

A method includes a computer operating in a first state in which a parameter-identifier condition indicator is not displayed. The computer determines a vehicle identifier corresponding to a vehicle. The vehicle includes a component corresponding to a component identifier and system corresponding to a system identifier, and can exhibit a symptom corresponding to a symptom identifier. The computer determines the component identifier, system identifier, and/or symptom identifier, and a corresponding PID topic. The computer switches to a second state. The method includes determining, a parameter-identifier topic corresponding to parameter-identifier(s). In the second state, the computer: receives parameter values automatically requested from the vehicle for parameter-identifiers corresponding to the parameter-identifier topic, determines a parameter-identifier condition for each of the parameter-identifier(s), and displays a descriptor of the parameter-identifier topic and a PID condition indicator corresponding to the parameter-identifier topic.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

determining, by a processor of a computing system, based on search criteria, a first parameter-identifier (PID) topic, the search criteria comprising a vehicle identifier corresponding to a vehicle connected to the computing system and at least one of the following identifiers: a component identifier corresponding to a component of the vehicle, a system identifier corresponding to a system of the vehicle, or a symptom identifier corresponding to a symptom the vehicle can exhibit, wherein the computing system includes a display, and the first PID topic corresponds to a first set of parameter-identifiers (PIDs) and a first scanner function element corresponding to a functional test, a reset procedure, or a guided component test; displaying, on the display, a first graphical user interface, the first graphical user interface comprising a descriptor of the first PID topic, a sub-container corresponding to each PID of the first set of PIDs, and a first user-selectable control corresponding to the first scanner function element; transmitting, by the processor, requests to the vehicle, each request including one or more PIDs of the first set of PIDs; receiving, by the processor, in response to the requests, parameter values for each PID of the first set of PIDS; populating, by the processor, the parameter values for each PID within the sub-container corresponding to that PID; displaying, on the display and in response to selection of the first user-selectable control, a user interface element including an expanded portion of the first graphical user interface or a second graphical user interface displayed upon or in place of the first graphical user interface; and when the first scanner function element corresponds to the functional test or the reset procedure, transmitting a message to the vehicle requesting performance of the functional test or the reset procedure in response to selection of a second user-selectable control in the user interface element, or when the first scanner function element corresponds to the guided component test, configuring a meter or oscilloscope to perform the guided component test and displaying a measurement made by the meter or oscilloscope in the user interface element in response to selection of the first user-selectable control. . A method comprising:

2

claim 1 transmitting, by the processor to a server, a request including the search criteria; and receiving, in response to the transmitting the request, a response including data for determining the first set of PIDs. . The method according to, wherein determining the first PID topic comprises:

3

claim 2 . The method according to, wherein the request and the response are both arranged according to a hypertext transfer protocol (HTTP), and the response comprises data formatted according to an extensible markup language (XML) format or a JavaScript Object Notation (JSON) format.

4

claim 2 the response includes a PID topic file, the PID topic file includes a list identifier that corresponds to a PID list stored within a non-transitory computer-readable memory readable by the processor, and the PID list includes data the processor uses to generate a vehicle data message for requesting parameter values for each respective PID of the first set of PIDs. . The method according to, wherein:

5

claim 4 the PID topic file and the PID list include a common reference that the processor uses to determine the data the processor uses to generate the vehicle data message for requesting parameter values for each respective PID of the first set of PIDs. . The method according to, wherein:

6

claim 2 the response includes a PID topic file, the PID topic file includes one or more call information elements, each call information element comprising an identifier of a source of information and/or a search term element, and receiving, by the processor, supplemental content based on the one or more call information elements; and the method further comprises: . The method according to, wherein: populating, by the processor, the supplemental content in the first graphical user interface.

7

claim 6 the respective sub-container corresponding to each PID of the first set of PIDs is located within a container, and the container includes additional sub-containers, each additional sub-container being populated with supplemental content corresponding to a respective call information element. . The method according to, wherein:

8

claim 2 the data for determining the first set of PIDs includes one or more index values corresponding to a PID list stored within a computer-readable memory readable by the processor, each index value further corresponds to a respective PID of the first set of PIDs, and the processor determines each PID of the first set of PIDs based on the one or more index values and metadata provided within the response or contained within the PID list. . The method according to, wherein:

9

claim 1 the respective sub-container corresponding to each PID of the first set of PIDs is located within a container, each sub-container includes an alpha-numeric indicator of a particular PID and a parameter value associated with the particular PID, and the descriptor of the first PID topic is displayed within the container. . The method according to, wherein:

10

claim 1 . The method according to, wherein displaying the first graphical user interface further comprises displaying a status corresponding to one or more PIDs.

11

claim 1 determining, by the processor, based on the search criteria, a second PID topic, wherein the second PID topic corresponds to a second set of PIDs different than the first set of PIDs, transmitting, by the processor, requests to the vehicle, each request including one or more of the PIDs of the second set of PIDs; and receiving, by the processor, in response to the requests, parameter values for each respective PID of the second set of PIDs; wherein the first graphical user interface further comprises a descriptor of the second PID topic and a respective sub-container corresponding to each PID of the second set of PIDs. . The method according to, further comprising:

12

claim 1 determining the first PID topic includes aggregating a first predefined PID topic corresponding to one of the component identifier, the system identifier, or the symptom identifier, and a second predefined PID topic corresponding to a different one of the component identifier, the system identifier, or the symptom identifier. . The method according to, wherein:

13

claim 12 . The method according to, wherein aggregating the first predefined PID topic and the second predefined PID topic comprises omitting a particular PID corresponding to the second predefined PID topic because the particular PID is duplicative of a PID corresponding to the first predefined PID topic.

14

claim 1 the first PID topic corresponds to a second scanner function element different than the first scanner function element, the second scanner function element corresponding to a different one of the functional test, the reset procedure, or the guided component test, the first graphical user interface comprises a third user-selectable control corresponding to the second scanner function element, displaying, on the display and in response to selection of the third user-selectable control, a second user interface element including an expanded portion of the first graphical user interface or a third graphical user interface displayed upon or in place of the first graphical user interface, and when the second scanner function element corresponds to the functional test or the reset procedure, transmitting a message to the vehicle requesting performance of the functional test or the reset procedure in response to selection of a fourth user-selectable control in the second user interface element, or when the second scanner function element corresponds to the guided component test, configuring the meter or oscilloscope to perform the guided component test and displaying a measurement made by the meter or oscilloscope in the user interface element in response to selection of the fourth user-selectable control. . The method according to, wherein:

15

claim 1 receiving, by the processor, supplemental content obtained from a memory storing the supplemental content; and populating, by the processor, the supplemental content in the graphical user interface. . The method according to, further comprising:

16

claim 15 . The method according to, wherein the processor requests the supplemental content from a server based on the search criteria.

17

claim 1 when configuring the meter or oscilloscope consists of configuring the meter, configuring the meter includes setting the meter to be in an operating state to make a measurement of voltage, current, or resistance within a particular measurement range, or a particular sample rate from among multiple sample rates, a particular vertical scale setting from among multiple vertical scale settings, a particular horizontal scale setting from among multiple horizontal scale settings, a particular trigger mode from among multiple trigger modes, or a particular trigger source from among multiple trigger sources. when configuring the meter or oscilloscope consists of configuring the oscilloscope, configuring the oscilloscope includes setting the oscilloscope to use one or more of the following: . The method according to, wherein:

18

claim 1 the PID condition indicator indicates a quantity of PIDs, and the quantity of PIDs indicates how many PIDs of the first set of PIDs are associated with a condition in which at least one of the parameter values for each PID of the first set of PIDS has breached a respective PID threshold or how many PIDs of the first set of PIDS are associated with a condition in which none of the parameter values for each PID of the first set of PIDS has breached any respective PID threshold. displaying, in the first graphical user interface, a PID condition indicator corresponding to the first PID topic, wherein: . The method according to, further comprising:

19

a processor, a display, and a computer-readable memory storing executable instructions, wherein execution of the executable instructions by the processor cause the computing system to perform functions comprising: determining, by a processor of a computing system, based on search criteria, a first parameter-identifier (PID) topic, the search criteria comprising a vehicle identifier corresponding to a vehicle connected to the computing system and at least one of the following identifiers: a component identifier corresponding to a component of the vehicle, a system identifier corresponding to a system of the vehicle, or a symptom identifier corresponding to a symptom the vehicle can exhibit, wherein the computing system includes a display, and the first PID topic corresponds to a first set of parameter-identifiers (PIDs) and a first scanner function element corresponding to a functional test, a reset procedure, or a guided component test; displaying, on the display, a first graphical user interface, the first graphical user interface comprising a descriptor of the first PID topic, a sub-container corresponding to each PID of the first set of PIDs, and a first user-selectable control corresponding to the first scanner function element; transmitting, by the processor, requests to the vehicle, each request including one or more PIDs of the first set of PIDs; receiving, by the processor, in response to the requests, parameter values for each PID of the first set of PIDS; populating, by the processor, the parameter values for each PID within the sub-container corresponding to that PID; displaying, on the display and in response to selection of the first user-selectable control, a user interface element including an expanded portion of the first graphical user interface or a second graphical user interface displayed upon or in place of the first graphical user interface; and when the first scanner function element corresponds to the functional test or the reset procedure, transmitting a message to the vehicle requesting performance of the functional test or the reset procedure in response to selection of a second user-selectable control in the user interface element, or when the first scanner function element corresponds to the guided component test, configuring a meter or oscilloscope to perform the guided component test and displaying a measurement made by the meter or oscilloscope in the user interface element in response to selection of the first user-selectable control. . A computing system comprising:

20

determining, by a processor of a computing system, based on search criteria, a first parameter-identifier (PID) topic, the search criteria comprising a vehicle identifier corresponding to a vehicle connected to the computing system and at least one of the following identifiers: a component identifier corresponding to a component of the vehicle, a system identifier corresponding to a system of the vehicle, or a symptom identifier corresponding to a symptom the vehicle can exhibit, wherein the computing system includes a display, and the first PID topic corresponds to a first set of parameter-identifiers (PIDs) and a first scanner function element corresponding to a functional test, a reset procedure, or a guided component test; displaying, on the display, a first graphical user interface, the first graphical user interface comprising a descriptor of the first PID topic, a sub-container corresponding to each PID of the first set of PIDs, and a first user-selectable control corresponding to the first scanner function element; transmitting, by the processor, requests to the vehicle, each request including one or more PIDs of the first set of PIDs; receiving, by the processor, in response to the requests, parameter values for each PID of the first set of PIDS; populating, by the processor, the parameter values for each PID within the sub-container corresponding to that PID; displaying, on the display and in response to selection of the first user-selectable control, a user interface element including an expanded portion of the first graphical user interface or a second graphical user interface displayed upon or in place of the first graphical user interface; and when the first scanner function element corresponds to the functional test or the reset procedure, transmitting a message to the vehicle requesting performance of the functional test or the reset procedure in response to selection of a second user-selectable control in the user interface element, or when the first scanner function element corresponds to the guided component test, configuring a meter or oscilloscope to perform the guided component test and displaying a measurement made by the meter or oscilloscope in the user interface element in response to selection of the first user-selectable control. . A non-transitory computer-readable memory having stored therein instructions executable by a processor to cause a computing system to perform functions comprising:

Detailed Description

Complete technical specification and implementation details from the patent document.

This application is a continuation of U.S. patent application Ser. No. 17/727,682, titled Method and System for Determining a Parameter-identifier Condition of a Parameter-identifier Topic to Service a Vehicle, filed Apr. 22, 2022, and published as U.S. Patent Application Publication No. 2023/01922112 A1 on Jun. 22, 2023. U.S. patent application Ser. No. 17/727,682 is incorporated herein by reference in its entirety.

U.S. patent application Ser. No. 17/727,682 is a continuation-in-part of U.S. patent application Ser. No. 17/557,186, titled Method and System for Testing Matched Components of Vehicle, filed Dec. 21, 2021, and published as U.S. Patent Application Publication No. 2023/0196850 A1 on Jun. 22, 2023. U.S. patent application Ser. No. 17/557,186 is incorporated herein by reference in its entirety.

U.S. patent application Ser. No. 17/727,682 is a continuation-in-part of U.S. patent application Ser. No. 17/667,997, titled Method and System for Servicing a Vehicle using a Test Set, filed Feb. 9, 2022, and published as U.S. Patent Application Publication No. 2023/0252824 on Aug. 10, 2023. U.S. patent application Ser. No. 17/667,997 is incorporated herein by reference in its entirety.

Modern vehicles include many computer-controlled electronic control units. The electronic control units (ECUs) within such a vehicle can be operable to communicate with one another as well with an off-board computing system. The off-board computing system can be used while servicing a vehicle. In some instances, the off-board computing system is operable to request and display a parameter value and a corresponding parameter-identifier (PID). The prior off-board computing systems, however, do not provide for determining and displaying parameter values for a PID topic corresponding to one or more parameter-identifiers (PIDs) and a PID condition for each of the one or more PIDs. The prior off-board computing systems also do not provide for automatically rearranging aspects of a PID topic based on the changes to PID conditions.

In a first implementation, a method is provided. The method includes determining, by a processor while a computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The computing system includes the processor and a display. The display is powered on, but does not display any PID condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit. The method also includes determining, by the processor while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. The method further includes determining, by the processor, a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the first PID topic. Still further, the method includes switching, by the processor, operation of the computing system from the first state to a second state. The computing system is operable to display a PID condition indicator on the display while operating in the second state. Further still, the method includes receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic. Furthermore, the method includes determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic. The PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore still, the method includes displaying, on the display while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic. The first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs. The first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

In a second implementation, a computing system is provided. The computing system comprises a processor, a display, and a non-transitory computer-readable memory. The non-transitory computer-readable memory contains executable instructions. Execution of the executable instructions by the processor causes the computing system to perform functions. The functions include determining, by a processor while a computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The computing system includes the processor and a display. The display is powered on, but does not display any PID condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit. The functions also include determining, by the processor while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. The functions further include determining, by the processor, a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the first PID topic. Still further, the functions include switching, by the processor, operation of the computing system from the first state to a second state. The computing system is operable to display a PID condition indicator on the display while operating in the second state. Further still, the functions include receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic. Furthermore, the functions include determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic. The PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore still, the functions include displaying, on the display while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic. The first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs. The first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

In a third implementation, a non-transitory computer-readable memory is provided. The non-transitory computer-readable memory has stored therein instructions executable by a processor to cause a computing system having a display and the processor to perform functions. The functions include determining, by the processor while a computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The display is powered on, but does not display any PID condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit. The functions also include determining, by the processor while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. The functions further include determining, by the processor, a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the first PID topic. Still further, the functions include switching, by the processor, operation of the computing system from the first state to a second state, the computing system is operable to display a PID condition indicator on the display while operating in the second state. Further still, the functions include receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic. Furthermore, the functions include determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic. The PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore, the functions include displaying, on the display while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic. The first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs. The first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

In a fourth implementation, a computing system having a processing means, a display means, and a data storage means is provided. The computing system includes means for determining, while the computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The display means is powered on, but does not display any PID condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit. The computing system includes means for determining, while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. The computing system includes means for determining a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the first PID topic. Still further, the computing system includes means for switching operation of the computing system from the first state to a second state. The computing system is operable to display a PID condition indicator on the display while operating in the second state. Further still, the computing system includes means for receiving, while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic. Furthermore, the computing system includes means for determining, while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic. The PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore, the computing system includes means for displaying, while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic. The first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs. The first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

In a fifth implementation, a method is provided. The method includes determining, by a computing system, a vehicle identifier corresponding to a vehicle operatively coupled to the computing system. The method also includes determining, by the computing system, at least one other identifier. The method further includes transmitting, by the computing system over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier. The method additionally includes receiving, by the computing system from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list. Furthermore, the method includes transmitting, by the computing system to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list. Furthermore, the method includes displaying, by the computing system on a display, a graphical user interface. The graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list.

In a sixth implementation, a computing system is provided. The computing system comprises a processor, a display, and a non-transitory computer-readable memory. The non-transitory computer-readable memory contains executable instructions. Execution of the executable instructions by the processor causes the computing system to perform functions. The functions include determining a vehicle identifier corresponding to a vehicle operatively coupled to the computing system. The functions also include determining at least one other identifier. The functions further include transmitting, over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier. The functions additionally include receiving, from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list. Furthermore, the functions include transmitting, to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list. Furthermore, the functions include displaying, on a display, a graphical user interface. The graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list.

In a seventh implementation, a non-transitory computer-readable memory is provided. The non-transitory computer-readable memory has stored therein instructions executable by a processor to cause a computing system having a display and the processor to perform functions. The functions include determining a vehicle identifier corresponding to a vehicle operatively coupled to the computing system. The functions also include determining at least one other identifier. The functions further include transmitting, over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier. The functions additionally include receiving, from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list. Furthermore, the functions include transmitting, to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list. Furthermore, the functions include displaying, on a display, a graphical user interface. The graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list.

In an eighth implementation, a computing system having display means is provided. The computing system includes means for determining a vehicle identifier corresponding to a vehicle operatively coupled to the computing system. The computing system also includes means for determining at least one other identifier. The computing system also includes means for transmitting, over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier. The computing system also includes means for receiving, from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list. Furthermore, the computing system also includes means for transmitting, to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list. Furthermore still, the computing system also includes means for displaying, on a display, a graphical user interface. The graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list.

Other implementations will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings.

All the figures are schematic and not necessarily to scale.

This description describes several example implementations, at least some of which pertain to improved methods and systems for servicing a vehicle. In particular, the description describes example implementations of improved methods and systems for operating a computing system configured for determining a parameter-identifier (PID) condition and displaying an indicator of the PID condition on a display. In these implementations, the computing system operates and/or is operable to operate in different states with respect to displaying a PID condition. In those or in other implementations, the computing system operates and/or is operable to operate to display the PID condition with respect to a particular PID topic file including one or more containers.

A container is an element of a page displayable on a display. A container is associated with content that can be displayed within an area of the page defined for the container. As an example, the content associated with a container can include one or more of a user-selectable control (USC), a graph, an icon, text, an image, a video, a PID, a PID parameter, or a PID topic descriptor. Other examples of content displayable within a container are also possible. The application drawings show at least some of those other examples.

A container can be associated with a default location within a page. In some implementations, the default location within the page to display the container is fixed. In other implementations, a location to display the container can change, such as by moving the container from one location (e.g., a default location) within the page to another location within the page, and/or by increasing or decreasing a size of the container.

A container can correspond to one or more other containers. As an example, two or more containers can be related as defined by a hierarchical relationship in which a first of the two containers is within a second of the two containers, and/or the second of the two containers includes the first container. In accordance with this example, the second container is considered to be a parent container, whereas the first container is considered to be a sub-container (and/or a child container). Although the example hierarchical relationship refers to the first container being within the second container, the hierarchical relationship does not require that displaying the first and second containers includes displaying the first container, wholly or even partly, within a boundary established for the second container. For example, in some implementations, displaying the first container can include displaying at least a portion of the first container beyond the boundary established for the second container.

A sub-container is a container that corresponds to a parent container. In at least some implementations, a container defined within a PID file as being within another container is a sub-container. The container that includes that sub-container is a parent container. A sub-container can be a parent container to one or more other sub-containers.

In at least some implementations, a container or sub-container is arranged as a display card. The containers within the user-interfaces of the example implementations can be displayed using various container properties. As an example, in at least some implementations, a container can have a boundary property. A boundary property could be non-visible, such that no visible boundary is displayed while the container having that boundary property is displayed. A different boundary property could be visible, such that a visible boundary is displayed while the container having that boundary property is displayed. As an example, a visible boundary could specify one or more of a line thickness, a color, or a drop shadow. As another example, a boundary of the container can be a fill (e.g., a filled background) or an outline. Other examples of a container property are also possible.

The computing system is also operable to automatically arrange multiple containers based on PID conditions corresponding to the multiple containers. The arrangement functions can guide a technician using the example computing systems while servicing a vehicle in various ways. For example, the PID topics can pertain to PIDs contextually relevant to a particular system, component and/or symptom suspected to be malfunctioning. As another example, automatically arranging the PID topics can indicate which PID topics are associated with the greatest number of PIDs for which PID parameter values received from a vehicle are outside of a predefined range or not an expected value.

A user-selectable control (USC) is a computing system component. A USC includes a hardware component. The hardware component can include and/or connect to control circuit. The control circuit can connect to a processor input, such as an analog or data bus input of a processor. As an example, the hardware component can include a keyboard key. The keyboard key can include an alpha-numeric character or a symbol, such as an up arrow, a down arrow, a left arrow, or a right arrow representative of a logical input that can be entered into the processor by use of the USC. The alpha-numeric character can include multiple alpha-numeric characters arranged as a word, such as ‘YES,” “NO,” or “ENTER.” As another example, the hardware component can include a touch screen display. As yet another example, the hardware component can include a microphone. As still yet another example, the hardware component of the USC can include a switch. Other examples of a hardware component for use as a USC are also possible.

A USC can correspond to a logical input mapped to the USC using computer-readable program instructions or a database entry. As an example, a particular USC can correspond to a logical input indicative of a model year of a vehicle. The particular USC can be displayed on a touch screen display when a graphical user interface including a year selection menu is displayed on a display. The particular USC can be mapped to a particular vehicle model year, such as the model year 2014. A processor can determine the particular USC has been selected and determine that selection of the particular USC means that a user has selected the model year 2014.

A USC can be operable by a user of the computing system to cause an input signal to be provided to a processor and/or to change an input signal being provided to the processor. A USC can be arranged as a virtual USC that is displayed on a touch screen display. A virtual USC is not displayable on the display when the display is powered off. Alternatively, a USC can be arranged as a tangible USC that is visible at the computing system regardless of whether the computing system is powered on. A USC can correspond to a dedicated function. For example, a USC sometimes referred to as an on/off switch can correspond to the function of toggling a power state of the computing system. Alternatively, a USC can correspond to multiple functions. Each of the multiple functions can correspond to one or more particular operating states of the computing system.

1 FIG. 10 10 12 14 16 16 12 14 16 16 16 12 14 12 14 is a block diagram of a systemin accordance with the example implementations. The systemincludes a vehicle, a computing system, and a communication link. The communication linkoperatively couples the vehicleand the computing system. In at least some implementations, the communication linkincludes a wireless communication link, such as a personal area network. Additionally, or alternatively, the communication linkcan include a wired communication link. The communication linkcan include a wiring harness that connects the vehicleand the computing systemtogether. Details regarding the vehicleand the computing systemare described below.

2 FIG. 2 FIG. 20 20 12 14 16 22 24 20 24 14 22 24 24 14 12 22 22 is a block diagram of a systemin accordance with the example implementations. The systemincludes the vehicle, the computing system, the communication link, a server, and a communication link. In the system, the communication linkoperatively couples the computing systemand the server. In at least some implementations, the communication linkincludes a wireless communication link. Additionally, or alternatively, the communication linkcan include a wired communication link.represents that the computing systemcan communicate with the vehicleand the serverusing different communication links. Details regarding the serverare described below.

3 FIG. 3 FIG. 30 30 12 14 22 26 30 26 12 14 22 26 26 12 14 22 26 26 12 14 22 is a block diagram of a systemin accordance with the example implementations. The systemincludes the vehicle, the computing system, the server, and a communication link. In the system, the communication linkoperatively couples the vehicle,, the computing system, and/or the server. The communication linkcan include a wide area network, such as the Internet. At least a portion of the communication linkcan operatively couple the vehicle,, the computing system, and/or the servertogether using a packet-switched network. In at least some implementations, the communication linkincludes a wireless communication link. Additionally, or alternatively, the communication linkcan include a wired communication link.represents that the vehicle, the computing system, and/or the servercan communicate with each other using a common communication link.

2 FIG. 3 FIG. 1 FIG. 14 22 22 24 26 22 Compared toand,represents that the computing systemcan operate without the server. In that regard, operating without the servercan be temporary, such as when the communication link,is unavailable for communicating with the server.

4 FIG. 5 FIG. 6 FIG. 7 FIG. 4 FIG. 5 FIG. 6 FIG. 7 FIG. Next,,,, andshow data that can be used by a processor, such as a processor within any device or system shown in one or more of the drawings of this disclosure. The data shown in,,, and/orcan be stored in a memory and transmitted over a communication link and/or a bus.

4 FIG. 894 895 896 895 894 896 894 14 894 894 894 22 895 14 22 In particular,shows an ordered PID list, index valuesand a subsetof PIDs. The index valuescan be applied to the ordered PID listto obtain the subsetof PIDs. The ordered PID listcan be stored within memory of the computing system. In some examples, the ordered PID listcan be a single ordered list of PIDs for all vehicle types. In other examples, the ordered PID listcan be determined and/or stored specifically for vehicles sharing certain identifying information. The ordered PID listcan be the same as a corresponding ordered list stored at the serverin order to facilitate applying a PID filter list (e.g., the index values) by the computing systemthat has been received from the server. An ordered PID list can include a different quantity of PIDs than the quantity of PIDs within the ordered lists shown in drawings. A set of index values can include a different quantity of PIDs than the quantity of PIDs within the indices shown in the drawings.

14 22 895 895 894 14 14 894 895 896 22 14 14 894 12 The computing systemcan receive (from the server) the index valuesthat make up a PID filter list. The index valuescan represent entries from the ordered PID listof PIDs stored within a memory of the computing system. The computing systemcan select PIDs from the ordered PID listthat correspond to index valuesin order to determine the subsetof PIDs to display on a display. In this manner, a minimal amount of information can be transmitted over a network connection between the serverand the computing system. The computing systemcan store information about individual PIDs as part of ordered PID list. For example, this stored information can include full PID descriptors to display on a display. The stored information can also include instructions for requesting parameter values corresponding to a PID from the vehicle.

14 22 14 22 14 14 12 In at least some implementations, an ordered list of functional tests stored on the computing systemcan be the same as a corresponding ordered list of functional tests stored at the server. A functional test filter list received by the computing systemfrom the servercan include index values that represent entries from the ordered list of functional tests. The functional test filter list can be applied by the computing systemto determine a subset of functional tests for display on a display. The ordered list of functional tests can correspond to one or more vehicle identifiers. The functional test filter list can also be based on a symptom identifier, a component identifier, and/or a system identifier that corresponds to a vehicle identified by a vehicle identifier that corresponds to the ordered list of functional tests. A functional test filter list based on a symptom identifier, a component identifier, or a system identifier can be referred to as a symptom-based functional test filter list, a component-based functional test filter list, or a system-based functional test filter list, respectively. A functional test displayed on a display can be selected to cause the computing systemto send the vehiclea VDM with a request to perform the selected functional test.

14 22 14 22 14 14 12 In at least some implementations, an ordered list of reset procedures stored on the computing systemcan be the same as a corresponding ordered list of reset procedures stored at the server. A reset procedure filter list received by the computing systemfrom the servercan include index values that represent entries from the ordered list of reset procedures. The reset procedure filter list can be applied by the computing systemto determine a subset of reset procedures for display on a display. The ordered list of reset procedures can correspond to one or more vehicle identifiers. The reset procedure filter list can also be based on a symptom identifier, a component identifier, and/or a system identifier that corresponds to a vehicle identified by a vehicle identifier that corresponds to the ordered list of reset procedures. A reset procedure filter list based on a symptom identifier, a component identifier, or a system identifier can be referred to as a symptom-based reset procedure filter list, a component-based reset procedure filter list, or a system-based reset procedure filter list, respectively. A reset procedure displayed on a display can be selected to cause the computing systemto send the vehiclea VDM with a request to perform the selected reset procedure.

14 22 14 22 14 14 14 In at least some implementations, an ordered list of component tests stored on the computing systemcan be the same as a corresponding ordered list of component tests stored at the server. A component test filter list received by the computing systemfrom the servercan include index values that represent entries from the ordered list of component tests. The component test filter list can be applied by the computing systemto determine a subset of component tests for display on a display. The ordered list of component tests can correspond to one or more vehicle identifiers. The component test filter list can also be based on a symptom identifier, a component identifier, and/or a system identifier that corresponds to a vehicle identified by a vehicle identifier that corresponds to the ordered list of component tests. A component test filter list based on a symptom identifier, a component identifier, or a system identifier can be referred to as a symptom-based component test filter list, a component-based component test filter list, or a system-based component test filter list, respectively. A component test displayed on a display can be selected to cause the computing systemto configure a test device, such as a meter or oscilloscope within the computing systemto perform the selected component test.

22 14 14 In at least some implementations, a single ordered list can include multiple types of entries, including any combination of PIDs, functional tests, reset procedures, and/or component tests. A diagnostic filter list sent by the serverto the computing systemcan then include index values for multiple types of entries. For instance, the diagnostic filter list can include index values corresponding to both PIDs and component tests. In that case, the diagnostic filter list can be applied by the computing systemto determine both a symptom-based subset of PIDs and a symptom-based subset of component tests for display on a display.

5 FIG. 897 897 897 14 22 22 14 Next,shows an ordered PID list. The PIDs within the ordered PID listcorrespond to metadata. The metadata indicates one or more PID topics corresponding to each PID in the ordered PID list. The metadata representing each PID topic is shown as one or more alphabet letters. The computing systemand the servercan include data that maps each alphabet letter within the metadata to data about each PID topic, such as, but not limited to a PID topic name, a PID topic file name, or a hierarchical position. In at least some implementation, the serverreceives one or more identifiers from the computing system, such as a vehicle identifier, a symptom identifier, a component identifier, or a system identifier to determine PID values corresponding to the received identifier(s).

897 897 The ordered PID listshows that three PIDs (i.e., PID20, PID25, and PID30) are associated with multiple different PID topics, and that the other PIDs in the ordered PID listare associated with just a single PID topic.

897 897 897 897 5 FIG. 5 FIG. 5 FIG. 5 FIG. The metadata “A” in the ordered PID listindicates that the corresponding PID is associated with a PID topic, shown inas “PID Topic A.” As another example, the metadata “B” in the ordered PID listindicates that the corresponding PID is associated with a PID topic, shown inas “PID Topic B.” As yet another example, the metadata “A” and “C” for the PID25 in the ordered PID listindicates that PID25 is associated with the PID topics, shown inas “PID Topic A” and “PID Topic C.” As still yet another example, the metadata “B”, “C”, and “E” for the PID30 in the ordered PID listindicates that PID30 is associated with the PID topics, shown inas “PID Topic B,” and “PID Topic C,” as well as “PID Topic E.”

5 FIG. 4 FIG. 5 FIG. 898 895 898 898 22 898 14 22 14 14 897 898 also shows index values. Unlike the index valuesshown in, the index valuesinclude metadata corresponding to each index value. In, the index valuesare numeric values and the corresponding metadata are alphabet letters. In at least some implementations, the servercan transmit the index valuesto the computing systemwith or without the metadata. If the serverdoes not transmit the metadata with the index values to the computing system, then the computing systemcan determine the metadata based on the ordered PID listand the index values(without metadata for this particular example).

5 FIG. 5 FIG. 898 898 898 As shown in, the index valuesinclude seventeen PIDs and each of those PIDs, including PID20, PID25, and PID30, is associated with metadata indicative of a single PID topic. The PID Topic D is a general PID Topic to include PIDs that are associated with multiple PID topics. In the implementation shown in, the PIDs associated with multiple PID topics are not applied into any PID topic associated with the PID except for the general PID topic. In other words, based on the metadata shown with the index values, no PID in the index valuesis included in more than one PID topic.

14 897 898 899 14 898 897 899 900 901 902 903 14 12 899 5 FIG. The computing systemcan filter the ordered PID listusing the index valuesto determine a subsetof PIDs arranged by PID topic. The computing systemcan use the metadata shown in the index valuesand the ordered PID listto determine how many and which PID topics are to be displayed as well as which PIDs are to be displayed with each PID topic. As shown in, the subsetincludes a PID topic,,,. The computing systemcan output a graphical user interface to display the PIDs and corresponding parameter values received from the vehiclearranged by the identified PID topics in accordance with the subset.

6 FIG. 5 FIG. 6 FIG. 5 FIG. 897 913 914 22 913 14 14 913 898 913 Next,shows the ordered PID listdiscussed above with respect to.also shows index valuesand a subsetof PIDs arranged by PID topic. The servercan provide the index valuesto the computing systemin response to receiving one or more identifiers from the computing system, such as one or more from among a vehicle identifier, a symptom identifier, a component identifier, or a system identifier. The index valuesinclude metadata. In contrast to the metadata within the index valuesshown in, the metadata in the index valuesidentifies each PID topic associated with a PID without categorizing any PID associated with more than one PID topic into a general PID topic.

914 904 905 906 907 914 899 900 904 901 905 902 906 903 907 22 14 913 14 914 907 5 FIG. 6 FIG. The subsetincludes a PID topic,,,. The subsetis identical to the subsetshown in. In other words, the PID topicand the PID topicincludes the same set of PIDs, the PID topicand the PID topicincludes the same set of PIDs, the PID topicand the PID topicincludes the same set of PIDs, and the PID topicand the PID topicincludes the same set of PIDs. For the example shown in, instead of the serverclassifying PIDs associated with more than one PID topic into a general PID topic, the computing systemperforms such classification. In other words, after receiving the index values, the computing systemdetermines the PID20, PID25, and PID30 are associated with multiple PID topics and generates the subsetwith the PID20, PID25, and PID30 within the PID topic.

7 FIG. 5 FIG. 6 FIG. 7 FIG. 7 FIG. 897 913 921 921 908 909 910 911 912 22 14 913 14 921 908 909 908 909 909 910 912 Next,shows the ordered PID listdiscussed above with respect toand the index valuesdiscussed above with respect to.also shows a subsetof PIDs arranged by PID topic. The subsetincludes a PID topic,,,,. For the example shown in, neither the servernor the computing systemclassifies PIDs associated with more than one PID topic into a general PID topic. In other words, after receiving the index values, the computing systemgenerates the subsetso that the PID20 is within the PID topic,, the PID25 is within the PID topic,, and the PID30 is within the PID topic,,.

8 FIG. 4 FIG. 922 923 922 922 12 22 922 12 923 923 924 925 926 924 922 925 922 926 922 924 925 926 12 12 Next,shows a subsetof PIDs and metadatacorresponding to the PIDs within the subsetof PIDs. In this example, the PIDs are identified using a textual descriptor other than a PID number, as shown in, for example. The subsetof PIDs is based on a symptom identifier (e.g., a diagnostic trouble code) for a vehicle, such as the vehicle. The servercan determine the subsetof PIDs from a set of all PIDs for the vehicle. Each portion of the metadatais a component name or a component concept. The metadataincludes metadata,,. The metadataincludes a component name for a first portion of PIDs within the subsetof PIDs. The metadataincludes a component name for a second portion of PIDs within the subsetof PIDs. The metadataincludes a component concept identifier for a third portion of PIDs within the subsetof PIDs. The metadata,,can correspond to respective PID topics based on a component of the vehicleor a component concept associated with a component of the vehicle.

A component concept can be based on various factors. As an example, a component concept can be defined for parameters calculated by an ECU based on multiple inputs to the ECU rather than on a single input to the ECU. For instance, a component concept “Fuel Trim” can be based, at least in part, on multiple inputs to an engine control module. Additionally, or alternatively, the component concept “Fuel Trim” can split into two component concepts known as “Long-term Fuel Trim” and “Short-term Fuel Trim.” As another example, a component concept for engine load of an internal combustion engine calculated by an ECU based on multiple inputs to the ECU can include PIDs related to some or all of the multiple inputs.

As another example, a component concept can be defined for parameter values determined by different ECUs. For instance, a component concept “Passenger Compartment Comfort” can include multiple PIDs from different ECUs regarding conditions in a passenger compartment of the vehicle, such as PIDs regarding temperature, humidity, sun load, and noise level within the passenger compartment.

14 22 923 296 922 923 26 FIG. 34 FIG. The computing systemand/or the servercan generate a GUI based on the subset of PIDs and the metadata. A GUIshown intocan be based, at least in part, on the subsetof PIDs and the metadata.

9 FIG. 9 FIG. 20 976 977 976 977 976 976 977 976 14 976 12 16 12 977 14 16 Next,shows additional details of the systemin accordance with the example implementations. For example,shows a vehicle data message (VDM)with a request and a VDMwith a response. As an example, the request of the VDMcan include a PID, and the response of the VDMincludes a parameter value corresponding to the PID within the VDM. As an example, the request of the VDMcan include a functional test or reset procedure identifier, and the response of the VDMcan include an acknowledgement of an ECU receiving and/or performing the functional test or reset procedure corresponding to the identifier contained within the VDM. The computing systemtransmits the VDMto the vehicleover the communication link. The vehicletransmits the VDMto the computing systemover the communication link.

9 FIG. 927 928 927 928 22 14 978 22 22 979 14 22 927 928 978 shows PID topic file(s)and supplemental content. The PID topic file(s)and the supplemental contentcan be stored in a memory within and/or accessible to the server. The computing systemcan transmit a requestwith identifier(s) to the server. The identifier(s) can include one or more from among a component identifier, a system identifier, a symptom identifier, or a vehicle identifier. The servercan transmit a responsewith PID topic content to the computing system. The servercan determine the PID topic content to include in the response by searching the PID topic file(s)and the supplemental contentbased on the identifier(s) contained in the request.

14 980 980 981 982 980 979 979 980 927 928 982 981 980 The computing systemcan display a GUIon a display. The GUIcan include a PID topic user interfaceand GUI elements. The GUIcan include content received via the response. As an example, the responsecan include one or more from among: the GUI, a PID topic file from the PID topic file(s), supplemental content from the supplemental content, or the GUI elements. The PID topic user interfacecan result from displaying the GUIand/or the PID topic file.

981 The PID topic user interfacecan include aspects corresponding to one or more PID topics. As an example, those aspects can include one or more from among: a PID topic descriptor, textual PID descriptors, a user-selectable control for expanding or contracting a container or sub-container including PID data, PID parameter values, or an icon that indicates whether a PID parameter value has breached a threshold corresponding to a PID associated with the PID parameter value.

982 981 982 The GUI elementscan include aspects that are included in GUIs with or without the PID topic user interface. As an example, the GUI elements can include a GUI descriptor, a vehicle identifier, a system identifier, an indicator indicative of network connectivity, or a USC to navigate between different GUI. Other examples of a GUI elementare also possible.

10 FIG. 10 FIG. 10 FIG. 12 18 12 18 27 28 32 18 34 36 38 28 14 27 14 27 14 Next,is a block diagram showing example details of the vehicleand example details of a vehicle system. As shown in, the vehicleincludes the vehicle system, an on-board diagnostics connector (OBDC), a power supply, and a vehicle communication network.also shows that the vehicle systemincludes an electronic control unit (ECU), an ECU-connected input device, and an ECU-connected output device. The power supplycan include a battery or a battery pack. The computing systemis operable to be operatively coupled to the OBDC. The computing systemis also operable to be operatively uncoupled from the OBDCsuch that the computing systemcan be operatively coupled to an OBDC in another vehicle (not shown).

36 36 38 38 32 34 18 11 FIG. 12 FIG. The ECU-connected input deviceincludes one or more input devices. As an example, the ECU-connected input deviceincludes a sensor, a relay, or a switch. The ECU-connected output deviceincludes one or more output devices. As an example, the ECU-connected output deviceincludes a pump, a motor, a solenoid, a valve, a relay, an injector, a horn, a light, a display, or an aural output device (e.g., speaker). Examples of VDM protocols used to communicate on the vehicle communication networkare listed in Section VI of this description. Examples of the ECUare shown inand, and examples of the vehicle systemare listed in Section VI of this description.

38 As another example, the ECU-connected output devicecan include a haptic feedback component of the vehicle. In at least some implementations, the haptic feedback component of the vehicle includes a component typically in contact with an occupant of the vehicle during a test drive of the vehicle, such as a steering wheel, a seat belt, a seat, a dashboard, or a pedal, such as an accelerator pedal, a clutch pedal, or a brake pedal.

11 FIG. 10 FIG. 1 FIG. 3 FIG. 40 40 42 44 46 48 50 40 50 34 40 36 38 12 40 Next,shows a vehiclein accordance with the example implementations. The vehiclecan be arranged as a motorcycle that includes a fuel injection ECU, an instrument cluster ECU, an ABS ECU, an ignition ECU, and/or an OBDC. The ECUs on the vehicleare connected to a power supply (not shown) and can be connected to the OBDCvia a vehicle network (not shown). Similar to the ECUshown in, each ECU of the vehiclecan be connected to one or more ECU-connected input deviceand one or more ECU-connected output device. The vehicleshown intocan be arranged like the vehicle.

12 FIG. 12 FIG. 12 FIG. 10 FIG. 51 14 51 51 52 53 54 55 56 57 58 59 60 61 124 52 53 54 55 34 52 53 54 55 56 62 56 62 52 53 54 55 62 Next,shows a vehicle(e.g., an automobile having an ECU and an OBDC) in accordance with the example implementations and example placement of the computing systemwithin the vehicle. In particular,shows that the vehicleincludes an ECU,,,, an OBDC, an ECU controlled input device,, an ECU controlled output device, a power supply(such as a battery), a power distribution circuit, and an internal combustion engine (ICE). The ECU,,,are shown into represent that the ECUshown incan include multiple ECUs. The ECU,,,are operatively connected to the OBDCvia the vehicle networkto allow transmission of a VDM between the OBDCand the ECU connected to the vehicle network. The ECU,,,can be arranged as one of ECU described in Section VI of this description regarding an example vehicle. The vehicle networkcan include a wired and/or wireless network.

56 51 51 51 14 56 14 62 56 14 63 14 51 14 The OBDCcan, for example, be located within a passenger compartment of the vehicle, within a powertrain compartment (such as an engine compartment) of the vehicle, or within a storage compartment within the vehiclein front of or behind the passenger compartment. The computing systemis removably attachable to the OBDC. The computing systemcan connect to vehicle networkvia the OBDC. The computing systemcan include the communication link(e.g., a harness). The computing systemis typically removed after the vehiclehas been serviced at a repair shop. In that way, the computing systemcan be used to diagnose other vehicles after those vehicles arrive at the repair shop.

61 61 61 60 52 53 54 55 60 56 60 59 60 57 58 12 FIG. The power distribution circuitcan include one or more electrical circuits. For example, the power distribution circuitcan include cable connected to a positive terminal of a battery, a cable connected to a negative terminal of a battery and/or one or more other electrical conductors.shows the power distribution circuitextending between the power supplyand the ECU,,,, between the power supplyand the OBDC, between the power supplyand the ECU controlled output device, and between the power supplyand the ECU controlled input device,.

57 58 55 55 57 58 55 The ECU controlled input device,is a device that provides a signal to the ECU. The signal represents some characteristic of a vehicle the ECUis operable to monitor. As an example, the ECU controlled input device,can include one from among: an accelerometer, a camshaft position sensor, a crankshaft position sensor, a current sensor, a fluid level sensor, a fluid pressure sensor, a fluid temperature sensor, a hall effect sensor, an infrared sensor, a knock sensor, a mass air flow sensor, an oil pressure sensor, an oxygen sensor, a photo transistor, a piezoelectric sensor, a position sensor, a pressure sensor, a rain sensor, a refrigerant sensor, a temperature sensor, a thermistor, a throttle position sensor, a tire pressure sensor, a vehicle speed sensor, a voltage sensor, a wheel speed sensor, a yaw rate sensor, or some other type of sensor. An ECU, such as the ECU, can generate a PID parameter value based on a signal received from an ECU controlled input device.

59 55 55 59 59 59 55 55 100 The ECU controlled output deviceis a device controlled by the ECU. The ECUcan control the ECU controlled output deviceusing an output signal. As an example, the ECU controlled output devicecan include one from among: a fuel injector, a motor, a pump, a relay, solenoid, a transformer, or a valve. Other examples of the ECU controlled output deviceare also possible. An ECU, such as the ECU, can generate a PID parameter value based on a signal the ECU provides to an ECU controlled input device. Moreover, an ECU, such as the ECU, can receive a vehicle data message from the computing systemrequesting the ECU to activate the ECU controlled output device.

12 51 124 A vehicle, such as the vehicle,can include matched components. Matched components can include components that perform similar functions for different portions of the vehicle. In at least some implementations, matched components correspond to different sides of a vehicle, such as left and right sides, or the front and rear sides. In at least some implementations, matched components correspond to different banks of the ICEof the vehicle.

57 58 57 124 58 124 57 58 As an example, the ECID,can be matched components (e.g., matched sensors). For instance, the ECIDcan be a sensor of a first bank of the ICE, the ECIDcan be a sensor of a second bank of the ICE, and the ECID,both output a signal corresponding to a similar vehicle characteristic, but for a different portion of the vehicle. Examples of matched sensors and other matched vehicle components are listed in Table A below.

TABLE A First matched component Second matched component Mass air flow sensor—Bank-1 Mass air flow sensor—Bank-2 Charge air pressure sensor—Bank-1 Charge air pressure sensor—Bank-2 Camshaft position sensor—Bank-1 Camshaft position sensor—Bank-2 Intake air temperature sensor—Bank-1 Intake air temperature sensor—Bank-2 Engine coolant temperature sensor—Bank-1 Engine coolant temperature sensor—Bank-2 O2 sensor (pre-converter)—Bank-1 O2 sensor (pre-converter)—Bank-2 O2 sensor (post-converter)—Bank-1 O2 sensor (post-converter)—Bank-2 Intake manifold pressure sensor—Bank-1 Intake manifold pressure sensor—Bank-2 Ambient air temperature sensor—Bank-1 Ambient air temperature sensor—Bank-2 Fuel rail pressure sensor—Bank-1 Fuel rail pressure sensor—Bank-2 Variable valve timing sensor—intake, Bank-1 Variable valve timing sensor—intake, Bank-2 Variable valve timing sensor—exhaust, Bank-1 Variable valve timing sensor—exhaust, Bank-2 Seat cooling fan—left side Seat cooling fan—right side Seat heating grid—left side Seat heating grid—right side Power window motor—left front window Power window motor—right front window

13 FIG. 13 FIG. 51 1050 1051 1052 1053 1054 1055 1050 1056 1057 1051 1058 1059 1052 1053 1054 1055 1056 1058 1050 1051 1057 1059 1050 1051 Next,shows additional details of the vehicle. In particular,shows a seat,, a power window motor,, and a window,. The seatincludes a seat cooling fanand seat heating grid. The seatincludes a seat cooling fanand seat heating grid. The power window motor,are matched components as both power window motors are configured to raise and lower a window (e.g., the windowand the window, respectively). The seat cooling fan,are matched components as both seat cooling fans are configured to cool a front seat in the vehicle (e.g., the seatand the seat, respectively). Similarly, the seat heating grid,are matched components as both seat heating grids are configured to heat a front seat in the vehicle (e.g., the seatand the seat, respectively).

1057 1059 1057 1059 1057 1059 1057 1059 Testing of some matched components can include waiting for both matched components to reach a certain state, such as a state where a temperature of the matched components is a common ambient temperature. This waiting may occur after control switches for the seat heating grid,are turned to an off state. As an example, testing of matched components such as the seat heating grid,can include measuring amounts of time it takes the seat heating grid,to change from the common ambient temperature to a maximum operating temperature after switching the control switches that turn the seat heating grid,to common on positions (e.g., low heat position or high heat positions).

14 FIG. 1 FIG. 3 FIG. 1060 14 1060 12 1060 1060 1060 1060 Next,shows a vehicleand example placement of the computing systemwithin the vehicle. The vehicleshown intocan be arranged like the vehicle. The vehicleis an electric vehicle. In at least some implementations, the vehicleincludes an ICE such that the vehicleis a hybrid vehicle.

14 FIG. 1060 1061 1060 1062 1060 1063 1060 1064 1060 1060 1065 1066 1068 1069 1073 1074 1078 1079 1080 1073 1074 1060 1067 As shown in, the vehicleincludes a motorat a left front location of the vehicle, a motorat a right front location of the vehicle, a motorat a left rear location of the vehicle, and a motorat a right rear location of the vehicle. The vehiclealso includes an inverter,, an on-board charger,, a charge port,, an ECU, an on-board diagnostic connector, and a vehicle network. As an example, the charge portcan include an AC voltage charge port and the charge portcan include a DC voltage charge port. The vehiclecan further include battery modulesincluding multiple battery modules (BM) and multiple cell monitoring units (CMU). The CMU can determine parameters regarding the battery modules, such as a battery voltage, a battery temperature, or a battery internal resistance.

15 FIG. 1075 1075 1 2 3 4 5 6 7 8 1 3 5 7 1076 2 4 6 8 1077 1075 124 51 124 51 Next,shows a cylinder block of an ICEhaving two banks and eight cylinders. For example, the ICEhas a cylinder,,,,,,,, wherein the cylinder,,,are on a bankand the cylinder,,,are on a bank. The ICEcan have a v-configuration. The ICEin the vehiclecan have a v-configuration. In other implementations, however, the ICEin the vehiclecan have a different ICE configuration, such as an inline configuration or a w-configuration, and/or a different quantity of cylinders. For example, a six-cylinder, inline configuration ICE can have two banks where three cylinders referred to as cylinders one, two, and three are part of a first bank, and three cylinders referred to as cylinders four, five, and six are part of a second bank. As an alternative, cylinders one, three, and five can be part of the first bank, and cylinders two, four, and six can be part of the second bank. Other examples of banks within an ICE are possible.

16 FIG. 16 FIG. shows a connector description in accordance with the example implementations. Further details regardingare described below.

17 FIG. 18 FIG. 19 FIG. 17 FIG. 18 FIG. 19 FIG. 1 FIG. 3 FIG. 21 FIG. 17 FIG. 19 FIG. 1100 1100 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1100 1146 1149 1149 14 100 1100 andare elevation views of an engine system.is a plan view of the engine system. As shown in those figures, the engine systemincludes an intake manifold, an air intake hose,, a mass air flow sensor,, an intake air temperature sensor,, a cooling fan, a crankshaft pulley, a crankshaft position sensor, a fuel rail,, a fuel injector,,,,,,,, a fuel rail pressure sensor,, an exhaust manifold,, an oil pan, an exhaust air temperature sensor,, a pre-converter oxygen sensor,, a catalytic converter,, a post-converter oxygen sensor,, a spark plug,,,,,,,, an engine coolant temperature sensor,, a cam shaft position sensor,, an engine control module, an on-board diagnostic connector, and a vehicle data bus. The engine systemis arranged with an ICE. The engine control moduleis an ECU.,, andalso show a computing device. The computing devicecan be arranged like the computing systemshown intoand/or the computing systemshown in. Although onlytoshow a single crankshaft position sensor, the engine systemcan include multiple crankshaft position sensors.

20 FIG. 10 FIG. 20 FIG. 12 FIG. 80 82 84 14 12 32 80 82 84 27 34 12 32 34 52 53 54 55 51 Turning to, an arrangement,,for operatively connecting the computing systemto the vehiclevia the vehicle communication networkrepresented inis shown. In the arrangement,,, the OBDCis operatively connected to the ECUwithin the vehicleusing the vehicle communication network. In, the ECUrepresents one or more ECUs, such as the ECU,,,of the vehicleshown in.

80 14 27 90 90 14 27 27 90 In the arrangement, the computing systemis directly connected to the OBDCusing a wired network. As an example, the wired networkcan be contained within a harness with multiple wires, at least one of which is operable to carry a VDM between the computing systemand the OBDC. The harness can include a connector removably attachable to the OBDC. The wired networkcan include one or more wires.

82 14 27 92 92 14 27 92 In the arrangement, the computing systemis directly connected to the OBDCusing a wireless network. The wireless networkcan include an air interface established to carry a VDM between the computing systemand the OBDC. The wireless networkand the air interface can be configured in accordance with a wireless communication standard or protocol, such as any wireless communication standard or protocol described in this description.

84 14 27 94 86 86 88 27 94 14 86 94 86 27 32 32 12 100 14 80 82 84 21 FIG. 20 FIG. In the arrangement, the computing systemis indirectly connected to the OBDCusing a wireless networkand a dongle. The dongleincludes a connectorremovably attachable to the OBDCand a wireless transceiver and a wired transceiver. The wireless networkcan include an air interface established to carry a VDM between the computing systemand the dongle. The wireless networkand the air interface can be configured in accordance with a wireless communication standard or protocol, such as any wireless communication standard or protocol described in this description. The wired transceiver of the donglecan receive a VDM transmitted to the OBDCover the vehicle communication networkfrom an ECU and can transmit a VDM onto the vehicle communication networkfor transmission to an ECU in the vehicle. A computing systemshown incan be used in place of the computing systemshown in the arrangement,,within.

21 FIG. 100 100 102 104 106 108 150 110 110 102 104 106 108 150 110 102 104 106 108 150 100 112 114 Next,is a block diagram of a computing system. The computing systemincludes a processor, a memory, a transceiver, a user interface, a signal detector, and a data bus. The data busoperatively connects the processor, the memory, the transceiver, the user interfaceand/or the signal detectorto one another. In other words, the data busprovides an operative connection between two or more of the processor, the memory, the transceiver, the user interface, and/or the signal detector. An operative connection allows the operatively connected devices to communicate with one another. In at least some implementations, the computing systemalso includes one or more from among a power supplyor a housing.

110 102 104 102 104 110 102 104 102 104 110 102 108 108 108 110 102 106 106 106 110 102 150 150 150 110 With the operative connection provided by the data bus, the processoris operable to request and receive data from the memory. In other words, the processoris operable to read data written into the memory. With the operative connection provided by the data bus, the processoris operable to provide and store data within the memory. In other words, the processoris operable to write data into the memory. With the operative connection provided by the data bus, the processoris operable to receive data input using the user interfaceand to output data to the user interfacefor outputting by the user interface. With the operative connection provided by the data bus, the processoris operable to receive data received by the transceiverand to provide the transceiverwith data that is to be transmitted by the transceiver. With the operative connection provided by the data bus, the processoris operable to receive data generated by the signal detectorand to provide the signal detectorwith data to configure the signal detector. Other examples of functionality available via the operative connection provided by the data busare also possible.

14 100 100 10 20 30 14 1 FIG. 2 FIG. 3 FIG. The computing systemshown in,andcan be arranged like the computing system. The computing systemis operational within the system,,in place of or in addition to the computing system.

102 104 A processor, such as the processoror any other processor discussed in this description, can include one or more processors. Any processor discussed in this description can thus be referred to as “at least one processor” and/or “one or more processors.” Furthermore, any processor discussed in this description can include a general-purpose processor (e.g., an INTEL® single core microprocessor or an INTEL® multicore microprocessor), and/or a special purpose processor (e.g., a digital signal processor, a graphics processor, an embedded processor, or an application specific integrated circuit (ASIC) processor). Furthermore still, any processor discussed in this description can include or be operatively connected to a memory controller that controls a flow of data going to and from a memory, such as the memory.

100 102 14 100 Any processor discussed in this description can be operable to execute computer-readable program instructions (CRPI). Any CRPI discussed in this description can, for example, include assembler instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, and/or either source code or object code written in one or any combination of two or more programming languages. As an example, a programming language can include an object-oriented programming language such as Java, Python, or C++, or a procedural programming language, such as the “C” programming language. Any processor discussed in this description can be operable to execute hard-coded functionality in addition to or as an alternative to software-coded functionality (e.g., via CRPI). In at least some implementations of the computing system, the processoris a specific processor that is programmed to perform any function(s) described in this description as being performed by the computing system,.

An embedded processor refers to a processor with a dedicated function or functions within a larger electronic, mechanical, pneumatic, and/or hydraulic device, and is contrasted with a general-purpose computer. The embedded processor can include a central processing unit chip used in a system that is not a general-purpose workstation, laptop, or desktop computer. In some implementations, the embedded processor can execute an operating system, such as a real-time operating system (RTOS). As an example, the RTOS can include the SMX® RTOS developed by Micro Digital, Inc., such that the embedded processor can include (a) an advanced RISC (reduced instruction set computer) machine (ARM) processor (e.g., an AT91SAM4E ARM processor provided by the Atmel Corporation, San Jose, California), or (b) a COLDFIRE® processor (e.g., a 52259 processor) provided by NXP Semiconductors N.V., Eindhoven, Netherlands. A general-purpose processor, a special purpose processor, and/or an embedded processor can perform analog signal processing and/or digital signal processing.

104 A memory, such as the memoryor any other memory discussed in this description, can include one or more memories. Any memory discussed in this description can thus be referred to as “at least one memory” and/or “one or more memories.” A memory can include a non-transitory memory, a transitory memory, or both a non-transitory memory and a transitory memory. A non-transitory memory, or a portion thereof, can be located within or as part of a processor (e.g., within a single integrated circuit chip). A non-transitory memory, or a portion thereof, can be separate and distinct from a processor.

A non-transitory memory can include a tangible, volatile or non-volatile, storage component, such as an optical, magnetic, organic or other memory or disc storage component. Additionally, or alternatively, a non-transitory memory can include or be operable as a random-access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a flash memory, an electrically erasable programmable read-only memory (EEPROM), or a compact disk read-only memory (CD-ROM). The RAM can include static RAM or dynamic RAM. A non-transitory memory can be operable as a removable storage device, a non-removable storage device, or a combination thereof. A removable storage and/or a non-removable storage device can include a magnetic disk device such as a flexible disk drive or a hard-disk drive (HDD), an optical disk drive such as a compact disc (CD) drive and/or a digital versatile disk (DVD) drive, a solid-state drive (SSD), or a tape drive.

16 24 26 110 A transitory memory can include, for example, CRPI provided over a communication link, such as the communication link,,, or a data bus, such as the data bus.

A “memory” can be referred to by other terms such as a “computer-readable memory,” a “computer-readable medium,” a “computer-readable storage medium,” a “data storage device,” a “memory device,” “computer-readable media,” a “computer-readable database,” “at least one computer-readable medium,” or “one or more computer-readable mediums.” Any of those alternative terms can be preceded by the prefix “transitory” if the memory is transitory or “non-transitory” if the memory is non-transitory. For a memory including multiple memories, two or more of the multiple memories can be the same type of memory or different types of memories.

106 100 22 100 22 A transceiver, such as the transceiveror any other transceiver discussed in this description, can include one or more transceivers. Each transceiver includes one or more transmitters operable to transmit data onto a data bus within the computing system (e.g., the computing systemor the server) including the transceiver. Each transceiver includes one or more receivers operable to receive data or a communication carried over a data bus within computing system (e.g., the computing systemor the server) including the transceiver. Unless stated differently, any data described as being transmitted to a device or system is considered to be received by that device or system. Similarly, unless stated differently, any data described as being received from a device or system is considered to be transmitted by that device or system directly or indirectly to the receiving device or system. For some implementations, a transceiver can include a transmitter and a receiver in a single semiconductor chip. In at least some of those implementations, the semiconductor chip can include a processor.

12 40 51 1060 14 100 14 100 14 100 For purposes of this description and with respect to a particular vehicle (e.g., the vehicle,,,), a network can be operable as a vehicle network, a non-vehicle network, or a multi-purpose network. The vehicle network is at least partly on-board the particular vehicle and has an OBDC and one or more electronic controls units interconnected to the OBDC and/or to each other. In at least some implementations, the computing system,includes a harness that operatively connects to the OBDC in the particular vehicle and allows the computing system,to be disposed outside of the particular vehicle. In those or in other implementations, the computing system,is operable to communicate with the OBDC and can be disposed within or outside of the particular vehicle. The non-vehicle network is off-board of the particular vehicle and includes one or more network nodes outside of the particular vehicle. The multi-purpose network is contained at least partly within the particular vehicle and at least partly off-board the particular vehicle. The multi-purpose network can include a vehicle network and a non-vehicle network.

In at least some of the example implementations, a transmitter, such as a transmitter within any transceiver described in this description, transmits radio signals carrying data, and a receiver, such as a receiver within any transceiver described in this description, receives radio signals carrying data. A transceiver with a radio transmitter and radio receiver can include one or more antennas and can be referred to as a “radio transceiver,” an “RF transceiver,” or a “wireless transceiver.” “RF” represents “radio frequency.”

rd A radio signal transmitted or received by a radio transceiver can be arranged in accordance with one or more wireless communication standards or protocols such as an Institute of Electrical and Electronics Engineers (IEEE®) standard, such as (i) an IEEE® 802.11 standard for wireless local area networks (wireless LAN) (which is sometimes referred to as a WI-FI® standard) (e.g., 802.11a, 802.11b, 802.11g, or 802.11n), (ii) an IEEE® 802.15 standard (e.g., 802.15.1, 802.15.3, 802.15.4 (ZIGBEE®), or 802.15.5) for wireless personal area networks (PANs), (iii) a BLUETOOTH® version 4.1 or 4.2 standard developed by the Bluetooth Special Interest Group (SIG) of Kirkland, Washington, (iv) a cellular wireless communication standard such as a long term evolution (LTE) standard, (v) a code division multiple access (CDMA) standard, (vi) an integrated digital enhanced network (IDEN) standard, (vii) a global system for mobile communications (GSM) standard, (viii) a general packet radio service (GPRS) standard, (ix) a universal mobile telecommunications system (UMTS) standard, (x) an enhanced data rates for GSM evolution (EDGE) standard, (xi) a multichannel multipoint distribution service (MMDS) standard, (xii) an International Telecommunication Union (ITU) standard, such as the ITU-T G.9959 standard referred to as the Z-Wave standard, (xiii) a 6LoWPAN standard, (xiv) a Thread networking protocol, (xv) an International Organization for Standardization (ISO/International Electrotechnical Commission (IEC) standard such as the ISO/IEC 18000-3 standard for Near Field Communication (NFC), (xvi) the Sigfox communication standard, (xvii) the Neul communication standard, (xviii) the LoRaWAN communication standard, or (xix) a 5G new radio (5G NR) communication standard by the 3Generation Partnership Project (3GPP) standards organization, such as the 5G NR, phase one or 5G NR, phase two communication standard. Other examples of the wireless communication standards or protocols are possible.

3 1 In at least some of the implementations, a transmitter, such as a transmitter within any transceiver described in this description, can be operable to transmit a signal (e.g., one or more signals or one or more electrical waves) carrying or representing data onto an electrical circuit (e.g., one or more electrical circuits). Similarly, a receiver, such as a receiver within any transceiver described in this description, can be operable to receive via an electrical circuit a signal carrying or representing data over the electrical circuit. The electrical circuit can be part of a non-vehicle network, a vehicle network, or a multi-purpose network. The signal carried over an electrical circuit can be arranged in accordance with a wired communication standard such as a Transmission Control Protocol/Internet Protocol (TCP/IP), an IEEE® 802.3 Ethernet communication standard for a LAN, a data over cable service interface specification (DOCSIS standard), such as DOCSIS., a universal serial bus (USB) specification, a vehicle data message (VDM) protocol, or some other wired communication standard or protocol. Examples of a VDM protocol are listed in Section VI of this description. An electrical circuit can include a wire, a printed circuit on a circuit board, and/or a network cable (e.g., a single wire, a twisted pair of wires, a fiber optic cable, a coaxial cable, a wiring harness, a power line, a printed circuit, a CAT5 cable, and/or CAT6 cable). The wire can be referred to as a “conductor”. Transmission of data over the conductor can occur electrically and/or optically.

106 116 118 116 118 106 106 110 In accordance with at least some implementations, the transceiverincludes a network transceiverand/or a vehicle communications transceiver. The network transceiveris operable to communicate over a non-vehicle network and/or a multi-purpose network. The vehicle communications transceiveris operable to communicate over a vehicle network and/or a multi-purpose network. The transceivercan be operable as a gateway to communicate over a multi-purpose network. The transceiveris also operable to communicate over the data bus.

116 In at least some implementations, the network transceiverincludes a modem, a network interface card, a local area network (LAN) on motherboard (LOM), and/or a chip mountable on a circuit board. As an example, the chip can include a CC3100 Wi-Fi® network processor available from Texas Instruments, Dallas, Texas, a CC256MODx Bluetooth® Host Controller Interface (HCI) module available from Texas instruments, or a different chip for communicating via Wi-Fi®, Bluetooth® or another communication protocol.

A network node that is within and/or coupled to a non-vehicle network and/or that communicates via a non-vehicle network or a multi-purpose network using a packet-switched technology can be locally configured for a next ‘hop’ in the network (e.g., a device or address where to send data to, and where to expect data from). As an example, a device (e.g., a transceiver) operable for communicating using an IEEE® 802.11 standard can be configured with a network name, a network security type, and a password. Some devices auto-negotiate this information through a discovery mechanism (e.g., a cellular phone technology).

116 116 The network transceivercan be arranged to transmit a request and/or receive a response using a transfer protocol, such a hypertext transfer protocol (i.e., HTTP), an HTTP over a secure socket link (SSL) or transport layer security (TLS) (i.e., HTTPS), a file transfer protocol (i.e., FTP), or a simple mail transfer protocol (SMTP). The network transceivercan be arranged to transmit an SMS message using a short message peer-to-peer protocol or using some other protocol.

106 106 100 100 The data transmitted by the transceivercan include a destination identifier or address of a computing system to which the data is to be transmitted. The data or communication transmitted by the transceivercan include a source identifier or address of the computing system. The source identifier or address can be used to send a response to the computing system. This described data can include a PID request, a PID parameter value, a graphical user interface (GUI), a PID topic file, or other data instead or as well.

108 120 122 108 126 In at least some implementations, the user interfaceincludes an input deviceand a display. In at least some of those implementations, the user interfacealso includes an aural output device.

122 122 The displaycan include one or more displays. As an example, each display of the one or more displays includes a capacitive touch screen display, a resistive touch screen display, a plasma display, a light emitting diode (LED) display, a cathode ray tube display, an organic light-emitting diode (OLED) display (such as an active-matrix OLED or a passive-matrix OLED), a liquid crystal display (LCD) device (such as include a backlit, color LCD device), a touch screen display with the LCD device, a capacitive touch screen display, or a resistive touch screen display. The displaycan include a different type of display as well or instead. Each display can include one or more display screens.

122 114 114 122 In at least some implementations, the displayis affixed (e.g., removably affixed) to a substrate of the housingand/or to the housing. In those or in other implementations, the displayis worn and/or within a wearable device, such as a pair of glasses or goggles, a head-mountable display, or a wrist display, such as a wristwatch (e.g., a smartwatch).

122 122 122 122 108 The displayis operable to display displayable content. Examples of displayable content are provided throughout this application by describing objects displayed by the display. The displaydisplaying content includes displaying the content. As an example, the displayis operable to display a GUI, a USC of a GUI and/or the user interface, a PID topic, an indicator of a PID topic, an indicator of a PID condition, a sub-container, a container, a PID, a parameter value, or a PID condition.

122 122 122 122 122 122 26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 58 FIG. The displaycan also be operable to display a still image (such as a visible light image, a thermal image, and/or a blended image based on a visible light image and a thermal image), a video, a text file (such as a text file with a PDF file extension or an XML file extension), a hypertext markup language file, a web page (such as a web page including a search bar and/or a cursor), and/or a GUI. In at least some implementations, the displayis operable to display a horizontal scroll bar and/or a vertical scroll bar. The horizontal scroll bar and the vertical scroll bar can be used to cause the displayto display content not currently displayed on the display. A web page displayable on the displaycan include any content shown in or described with respect to any one or more ofto,to,to. Other examples of content displayable on the displayare also possible.

120 100 120 120 100 122 122 100 120 122 The input deviceis operable to receive user inputs from a user of the computing system. As an example, the input deviceincludes a keyboard or keypad including one or more keys operable to be pressed or otherwise manipulated by the user. As another example, the input deviceincludes a microphone operable to receive sound waves, such as sound waves produced by the user speaking words in a vocabulary of the computing system. In the implementations in which the displayis operable as a touch screen display, the displaycan receive user inputs from a user of the computing system. Accordingly, the input devicecan include the displaywhen operable as a touch screen display.

126 126 126 In the implementations that include the aural output device, the aural output deviceincludes one or more speakers operable to convert electrical signals to audible sounds. In those or in other implementations, the aural output deviceincludes wired headphones and/or wireless headphones. The wired headphones can connect to an audio plug operatively connectable to an audio jack. The wireless headphones can include in-ear headphones, such as the AIRPODS PRO® in-ear headphones by Apple Inc.

150 151 153 155 157 151 151 151 153 153 155 157 157 The signal detectorcan include one or more of the following: a meter, a meter port, an oscilloscope, and/or an oscilloscope port. The metercan include a digital volt-ohm meter (DVOM). Additionally, or alternatively, the metercan include a current meter. The meterincludes and/or is operatively coupled to the meter port. The meter portincludes one or more ports for receiving an end of a meter lead. An opposite end of the meter lead is connectable to a component on a vehicle. The oscilloscopecan include one or more channels. The oscilloscope portincludes a port for each channel of the oscilloscope. Each port of the oscilloscope portis operable to receive an end of an oscilloscope test lead. An opposite end of the oscilloscope test lead is connectable to a component on a vehicle.

150 153 157 153 128 102 Additionally, the signal detectorcan include one or more of the following: a signal generator, and/or an analog-to-digital converter (ADC). The signal generator can output a signal onto a meter lead connected to the meter portand/or onto an oscilloscope test lead connected to the oscilloscope port. The output signal can be used to measure a signal. For instance, the signal generator can output a voltage differential across two meter leads connected to the meter port(e.g., a red meter lead and a black meter lead) and onto a circuit for use in measuring a resistance of the circuit. The ADC can be operable to convert an analog signal received via a meter lead or an oscilloscope test lead into a digital signal. A digital signal representing a signal detected by the signal detector can be output onto the electrical busfor transmission to the processor.

112 112 100 128 102 104 106 108 112 A power supply, such as the power supplyor any other power supply discussed in this description, can be arranged in any of a variety of configurations. As an example, the power supply can be operable to include circuitry to receive AC current from an AC electrical supply (e.g., electrical circuits operatively connected to an electrical wall outlet) and convert the AC current to a DC current for supplying to one or more from among the components connected to the power supply. As another example, the power supply can be operable to include a battery or be battery operated. As yet another example, the power supply can be operable to include a solar cell or be solar operated. Moreover, a power supply can be operable to include and/or connect to a power distribution circuit to distribute electrical current throughout the device or system including that power supply. In at least some implementations of the computing system, the power distribution circuit includes an electrical busthat connects to the processor, the memory, the transceiver, and the user interface. Other examples of a power supply, such as the power supply, are also possible.

100 114 114 102 104 106 108 110 112 114 102 104 106 108 110 112 114 114 114 114 In at least some implementations, the computing systemincludes a housing. The housingsurrounds at least a portion of the following: the processor, the memory, the transceiver, the user interface, the data bus, and/or the power supply. The housingcan support a substrate. In at least some example implementations, at least a portion of the following: the processor, the memory, the transceiver, the user interface, the data bus, and/or the power supplyis/are mounted on and/or connected to a substrate of the housing. The housingcan be made from various materials. For example, the housingcan be made from a plastic material (e.g., acrylonitrile butadiene styrene (ABS)) and a thermoplastic elastomer used to form a grip on the housing.

104 162 104 130 131 132 133 134 135 136 137 138 139 140 762 104 504 530 22 FIG. 62 FIG. 36 FIG. The example implementations can determine, generate, store, transmit, receive, and/or otherwise use a variety of computer-readable data. At least some of the computer-readable data can be stored in a memory, such as the memoryand/or a memoryshown in. As an example, the memorycontains one or more from among: computer-readable programming instructions (CRPI), a GUI, vehicle selection data, a vehicle identifier, a system identifier, a component identifier, a symptom identifier, a vehicle data message database, a PID parameter value, a PID topic file, GUI content, and/or scanner functions. Additionally, the memorycan contain any of the content within the system memoryshown inand/or within the computer program productshown in.

130 102 130 100 100 102 100 1 The CRPIinclude program instructions executable by a processor, such as the processor. As an example, the CRPIcan include program instructions that are executable to cause the computing systemto perform any function described as being performed by the computing system, by the processor, and/or by some other component of the computing system. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 139 200 852 859 739 846 860 578 638 673 2 23 FIG.A 23 FIG.B 23 FIG.C 23 FIG.D 23 FIG.E 25 FIG.A 25 FIG.B 25 FIG.C 46 FIG. 47 FIG. 52 FIG. As another example, the CRPIcan include program instructions executable by a processor, such as the processor, to parse a PID topic file, such as the PID topic file, the PID topic fileshown in,,, or a PID topic file including a PID topic file portion,,,,,,,shown in,,,,,,,respectively, to determine a PID topic, a PID within the PID topic, an expected value corresponding to the PID, and/or a range corresponding to the PID. The PID topic can be determined from a PID topic element within a PID topic file. The PID can be determined from a PID element within a PID topic file. The expected value can be determined from an expected value element within a PID topic file. The range can be determined from a range element within a PID topic file. Parsing a file can include parsing metadata that accompanies and/or is contained with the file. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 3 As another example, the CRPIcan include program instructions executable by a processor, such as the processor, to populate a GUI with the PID topic. Populating the GUI with the PID topic can include populating the GUI with a container corresponding to a PID topic element of a PID topic file. Moreover, populating the GUI with that container can include populating that container with one or more sub-containers corresponding to one or more PID(s) elements of the PID topic file. Furthermore, populating the GUI with the one or more sub-containers can include populating those one or more sub-containers with a respective PID descriptor and an icon corresponding to a PID condition determined by the processor. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 4 As another example, the CRPIcan include program instructions executable by a processor, such as the processor, to compare PID parameter values obtained from a vehicle to an expected value within a PID topic file to determine whether or not a PID parameter value obtained from the vehicle matches the expected value. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 5 As another example, the CRPIcan include program instructions executable by a processor, such as the processor, to compare PID parameter values obtained from a vehicle to a range within a PID topic file to determine whether a PID parameter value obtained from the vehicle in within or outside of the range. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 102 6 As another example, the CRPIcan include program instructions executable by a processor, such as the processor, to modify an order of multiple PIDs within a container. Various benefits can arise from modifying the order of the multiple PIDs within a container. One such benefit is that the processorcan output a GUI showing the multiple PIDs within the container using the modified order. As a result, the GUI can show a PID and corresponding parameter value that were not displayed at a time the modified order was determined. An additional or alternative result of using the modified order is that the GUI can display PID(s) (with parameters outside of a respective, defined range of parameter or not matching an expected value) at a certain portion of the GUI, such as at or near a top of the container including the PID. In other words, the modified order can include a prioritized order of PIDs. Modifying the order of PIDs within a container can result in one or more PIDs no longer being displayed due to other PIDs deemed to have a higher priority. Modifying the order of PIDs within a container can include modifying an order of sub-containers within a container including those PIDs. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 102 122 7 As another example, the CRPIcan include program instructions executable by a processor, such as the processor, to modify an order of multiple PID topics. Modifying the order of the multiple PID topics is beneficial for at least the reason that the processorcan output a GUI showing the multiple PID topics using the modified order to the display. Outputting the multiple PID topics using the modified order can result in displaying a PID topic that was not being displayed when the modified order was determined. Additionally, or alternatively, outputting the multiple PID topics using the modified order can result in a PID topics having the most PIDs with parameter values outside of a respective, defined range of parameter values or not matching an expected value being displayed at a certain portion of the display, such as at or near a top of the display. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

100 Table B, Table C, Table D, Table E, and Table F below show example orders of PID topics A, B, C. The PID topic A has six PIDs, the PID topic B has eight PIDs, and the PID topic C has four PIDs. In one respect, Table B represents an example default order of PID topics. The default order of PID topics can be used when the computing systemhas not received any out-of-range parameter values and/or any unexpected parameter values corresponding to the PIDs of the PID topics A, B, C. In at least some implementations, the default order of PID topics can be used if the most-recent parameter value for each PID of the PID topics A, B, C is within its respective range, if any, or is its expected value, if any. In another respect, Table B represents an example alpha-numeric order of PID topics. For purposes of this description, an alpha-numeric order can include a reverse alpha-numeric order.

TABLE B PID No. PID parameter values out of Order Topic of PIDs range or an unexpected value 1 A 6 0 2 B 8 0 3 C 4 0

215 319 23 FIG.A 26 FIG. Each PID topic identified in a Table of this description by a single letter, such as A, B, C, D, E, F, G, H, I can correspond to a PID topic descriptor, such as a PID topic descriptor represented by a PID topic name elementshown inor a PID topic descriptorshown in.

100 Table C represents (with respect to at least to an order shown in Table B) a modified order of PID topics based on a quantity of PIDs for which the computing systemhas received out-of-range parameter values and/or unexpected parameter values, from a greatest quantity to a least quantity, and then based on the default order of PID topics (e.g., PID topics A and C) that do not have any PID for which an out-of-range or unexpected PID parameter value was received.

TABLE C PID No. PID parameter values out of Order Topic of PIDs range or an unexpected value 1 B 8 1 2 A 6 0 3 C 4 0

100 Table D represents (with respect to at least to an order shown in Table B) a modified order of PID topics based on a quantity of PIDs for which the computing systemhas received out-of-range parameter values and/or unexpected parameter values, from a greatest quantity to a least quantity.

TABLE D PID No. PID parameter values out of range Order Topic of PIDs or an unexpected value 1 B 8 4 2 C 4 3 3 A 6 1

100 Table E represents (with respect to at least to an order shown in Table B) a modified order of PID topics based on a percentage of PIDs for which the computing systemhas received out-of-range parameter values and/or unexpected parameter values, from a greatest percentage to a lowest percentage.

TABLE E PID No. PID parameter values out of Order Topic of PIDs range or an unexpected value 1 C 4 3 2 B 8 4 3 A 6 1

122 122 Table F represents (with respect to at least to an order shown in Table B) a modified order of PID topics based on a user selection. As an example, the modified order shown in Table F can occur as a resulting of selecting PID topic A or PID topic C while displayed in the default order shown in Table B and dragging the selected PID topic across the displayonto the other of the PID topic A or PID topic C displayed on the display. Modifying an order of PID topics based on a user selection can occur even if the PID parameter values for a PID in one or more of the PID topics is out of range or an unexpected value.

TABLE F PID No. PID parameter values out of Order Topic of PIDs range or an unexpected value 1 C 4 0 2 B 8 0 3 A 6 0

130 102 102 104 102 8 As another example, the CRPIcan include program instructions executable by the processorto establish a connection with a communication link and/or a device connected to the communication link. The processorcan read data from the memoryfor establishing the connection, such as a password or key (e.g., a wired equivalent privacy (WEP) key). The processorcan send the data for establishing the connection to a device on the communication link requesting the data. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 762 12 102 106 12 102 122 405 406 9 34 FIG. As another example, the CRPIcan include program instructions executable by a processor, such as the processor, to request performance of a scanner function among the scanner functions. As an example, a scanner function can include a functional test or a reset function the vehiclecan perform. Requesting the performance can include the processorand/or the transceivertransmitting to the vehiclea vehicle data message including an indication of the functional test or the reset function to be performed. The vehicle data message can include an identifier of an electronic control unit within the vehicle. Requesting the performance of the functional test or the reset function can occur in response to the processordetecting that a USC corresponding to the functional test or reset function has been selected from the display. In at least some implementations, the USC corresponding to the functional test or reset function can be displayed on the display in response to a USCor USC, respectively (shown in) being selected. For purposes of this description, the program instructions discussed in the previous paragraph and this paragraph are referred to as PI-.

150 153 157 102 151 155 10 As another example, a scanner function can include a guided component test. A guided component test can be performed, at least in part, by the signal detector. Performing a guided test can include measuring a signal received at the meter portor the oscilloscope port. The processorcan configure the meteror the oscilloscope, as discussed below. For purposes of this description, the program instructions discussed in the previous paragraph and this paragraph are referred to as PI-.

130 102 122 102 413 122 11 40 FIG. As another example, the CRPIcan include program instructions executable by the processor, such as the processor, to expand a size of a container when the container is displayed on the displayin a contracted/diminished size. In accordance with the example implementations, the processorcan expand a size of a container in response to determining a container resizing USC (such as a container resizing USCshown in) is selected while the container including the container resizing USC is displayed on the displayin the contracted/diminished size. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 122 102 413 122 12 41 FIG. As another example, the CRPIcan include program instructions executable by the processorto contract/diminish a size of a container when the container is displayed on the displayin an expanded size. In accordance with the example implementations, the processorcan contract/diminish a size of a container in response to determining a container resizing USC (such as a container resizing USCshown in) is selected while the container including the container resizing USC is displayed on the displayin the expanded size. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 102 102 12 12 13 As yet another example, the CRPIcan include program instructions executable by the processorand in accordance with the Society of Automotive Engineers (SAE) J1978-2002 or International Organization for Standardization (ISO)/draft international standard (DIS) 15031-4 for an on-board diagnostic (OBD) scan tool. The processorcan accordingly exercise a diagnostic service within an electronic control unit (ECU) within a vehicle that conforms to the SAE J1979_201202 and/or ISO 15031-5 standards for E/E diagnostic test modes. Exercising the diagnostic service can occur in response to the processortransmitting to the vehiclea vehicle data message arranged according to one of the aforementioned standards or another standard used by the vehicle. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 160 108 108 14 As yet another example, the CRPIcan include program instructions executable by the processorto generate a message for the server and to send that message to the server. The message for the server can include data received from a vehicle and/or data based on data received from a vehicle, such as a PID parameter value or a converted PID parameter value based on a formula for converting a PID parameter value. Additionally, or alternatively, the message for the server can include data received using the user interfaceand/or a GUI. Examples of data received using the user interfaceare described throughout this description. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 150 151 155 15 As still yet another example, the CRPIcan include program instructions executable by a processor, such as the processor, to configure the signal detectorfor performing a component test. Examples of configuring the meterand configuring the oscilloscopeare discussed below. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 200 852 859 739 846 860 578 638 673 16 23 FIG.D 23 FIG.E 25 FIG.A 25 FIG.B 25 FIG.C 46 FIG. 47 FIG. 52 FIG. As still another example, the CRPIcan include program instructions executable by a processor, such as the processor, to generate and transmit to a server a message to request a PID topic file. Those or other program instructions can also be executable to receive from the server a message including a PID topic file, such as the PID topic fileor a PID topic file including the PID topic file portion,,,,,,,shown in,,,,,,,. As an example, the message to request a PID topic file can include a vehicle identifier, and one or more of a component identifier, a system identifier, or a symptom identifier. Examples of those identifiers are described throughout this description. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 200 852 859 739 846 860 578 638 673 100 100 24 26 100 17 As still yet another example, the CRPIcan include program instructions executable by a processor, such as the processor, to generate and transmit to a server a message to request supplemental information to display in a container corresponding to a PID topic. Those or other program instructions can also be executable to receive from the server a message including a PID topic file, such as the PID topic fileor a PID topic file including the PID topic file portion,,,,,,,. As an example, the message to request a PID topic file can include a vehicle identifier, and one or more of a component identifier, a system identifier, or a symptom identifier. Examples of those identifiers are described throughout this description. Providing the supplemental information in response to a request using a USC within a PID topic rather than providing the supplemental information with a PID topic file used to generate the PID topic is beneficial for at least the reason that the server doesn't need to transmit the supplemental information to the computing systemif the computing systemnever transmits the request and a communication link (e.g. the communication link,) isn't burdened with carrying the supplemental information if the supplemental information is not requested by the computing system. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 590 990 18 59 FIG. 60 FIG. As still yet another example, the CRPIcan include program instructions executable by a processor, such as the processor, to perform any one or more or all of the functions in the setof functions shown inand/or in the setof functions shown in. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

130 102 19 And as yet another example, the CRPIcan include program instructions executable by a processor, such as the processor, to receive a set of index values, and apply the set of index values against a list to determine a filtered list. As an example, the list can consist of PIDs, functional tests, reset procedures, and/or component tests. The listed items can be associated with metadata that indicates a particular topic, such as a PID topic, a functional test topic, a reset procedure topic, or a component topic. The processor can execute the program instructions to generate a GUI that includes one or more containers, each container including the items within the filtered list that correspond to a common, particular topic. For example, the processor can execute the program instructions to generate a GUI that includes multiple containers, each of those containers corresponding to a PID topic indicated by the metadata, and each container including a respective sub-container for each PID in the filtered list that corresponds to the PID topic associated with that container. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

131 102 122 122 100 131 160 131 102 122 102 102 131 The GUIincludes a GUI that the processoris operable to output to the displayand that is operable to be displayed on the display. In at least some implementations, the computing systemreceives the GUIfrom the server. In at least some implementations, the GUIincludes a template that the processoruses to generate a GUI for outputting to the display. The processorcan select the template from among multiple templates that are configured for generating a GUI with a particular number of container(s), such as one, two, three, four, five, six, seven, eight, nine, ten, eleven or twelve container(s). Other examples of a template with a different quantity of container(s) are also possible. In addition to selecting a template with a particular number of container(s), the processorcan further select a template from among multiple templates that are configured for generating a GUI with a particular number of sub-containers within each container defined for the template. As an example, the quantity of sub-containers in a container can include one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve or some other number of sub-containers. The GUIcan include a GUI shown in any of the drawings, a GUI that includes any aspects shown in one or more of the drawings, and/or some other GUI.

132 133 132 185 132 133 364 185 185 132 133 293 365 37 FIG. The vehicle selection dataincludes data for determining the vehicle identifier. In at least some implementations, the vehicle selection dataincludes data to identify a vehicle based on selections entered using a GUI, such as the selections that can be made using the GUIshown in. In at least some implementations, the vehicle selection dataincludes data for determining the vehicle identifierby decoding a vehicle identification number (VIN) entered via a VIN USCshown in the GUI, or an image of a code representing a VIN, such as the image of the code shown in the GUI. In at least some implementations, the vehicle selection dataincludes data for determining the vehicle identifierbased on a license plate number (associated with a vehicle) entered via a USCor determined from an image capture using the vehicle selector USCand a camera or scanner.

133 12 40 51 1060 133 12 40 51 1060 133 160 133 131 131 185 133 37 FIG. The vehicle identifierincludes an identifier of a vehicle, such as the vehicle,,,. In some implementations, the vehicle identifieris obtained from the vehicle,,,. In some implementations, the vehicle identifieris obtained from the server. In still other implementations, the vehicle identifieris entered using the GUI. In accordance with those latter implementations, the GUIcan include a GUI arranged like the GUIshown in. The examples of a vehicle identifier discussed in Section VI of this description are applicable to the vehicle identifier.

134 12 40 51 1060 134 133 134 12 40 51 1060 134 160 134 131 131 181 134 134 134 38 FIG. The system identifierincludes an identifier of a system within a vehicle, such as the vehicle,,,. In at least some implementations, the system identifierindicates a system within a vehicle corresponding to the vehicle identifier. In some implementations, the system identifieris obtained from the vehicle,,,. In some implementations, the system identifieris obtained from the server. In still other implementations, the system identifieris entered using the GUI. In accordance with those latter implementations, the GUIcan include a GUI arranged like the GUIshown in. In at least some implementations, the system identifieris configured as a hexadecimal number used to identify a system within a vehicle data message. As an example, the system identifiercan include an identifier of an adaptive driver assistance system (ADAS), an audio system, a brake system, a chassis system, a coolant system, a vehicle body system, an electrical system, an engine system, an exhaust system, a fuel system, a navigation system, a powertrain system, a steering system, or a suspension system. Other examples of a system identified by the system identifierare also possible.

135 12 40 51 1060 135 133 134 135 12 40 51 1060 135 160 135 131 131 181 135 135 135 38 FIG. The component identifierincludes an identifier of a component within a vehicle, such as the vehicle,,,. In at least some implementations, the component identifierindicates a component within a vehicle corresponding to the vehicle identifierand/or within a system corresponding to the system identifier. In some implementations, the component identifieris obtained from the vehicle,,,. In some implementations, the component identifieris obtained from the server. In still other implementations, the component identifieris entered using the GUI. In accordance with those latter implementations, the GUIcan include a GUI arranged like the GUIshown in. In at least some implementations, the component identifieris configured as a hexadecimal number used to identify a component within a vehicle data message. As an example, the component identifiercan include an identifier of an ECU, an ECU-connected input device, an ECU-connected output device, or a sensor. Other examples of a component identified by the component identifierare also possible.

136 12 40 51 1060 136 136 136 373 181 38 FIG. The symptom identifierincludes an identifier of a symptom exhibited by or that can be exhibited by a vehicle, such as the vehicle,,,. As an example, the symptom identifiercan include an identifier that indicates a malfunction indicator lamp within the vehicle is on steady or flashing. As another example, the symptom identifiercan include an identifier that indicates a diagnostic trouble code (DTC) set within the vehicle. In accordance with at least some implementations, a symptom identifier that indicates the DTC also indicates a status of the DTC, such as currently set active status or a currently inactive but previously active status. As yet another example, the symptom identifiercan include a textual description of a customer complaint, such as a customer complaint that can be entered using a complaint USCshown in the GUIshown in.

137 137 The vehicle data message databaseincludes data for generating a vehicle data message to request a PID parameter value from a vehicle. In at least some implementations, the vehicle data message databaseincludes a vehicle data message with a PID request that is configured according to the SAE J1979_201202 and/or ISO 15031-5 standards for E/E diagnostic test modes. As an example, PID request within a vehicle data message can include a service request, a PID, and an ECU identifier. In at least some implementations, the service request includes a mode $01 to request a current PID parameter value or a mode $02 to request a freeze frame PID parameter value.

23 FIG.A 220 102 220 102 137 12 137 100 12 In at least some implementations, a vehicle data message including a PID request can include a PID request that corresponds to a respective PID key element within a PID topic file. As an example, a vehicle data message with a PID request can be arranged as $07 $DF $02 $01 $05 $00 $00 $00 $00 $00. In that example vehicle data message, the fifth byte is the PID.shows a PID key element(e.g., <pidKey>ECT Sensor</pidKEY>), which corresponds to the aforementioned example PID request. In response to the processordetermining that a PID topic file includes PID key element, the processorcan refer to the vehicle data message databaseto determine that the vehicle data message $07 $DF $02 $01 $05 $00 $00 $00 $00 $00 is to be transmitted to the vehiclein order to request PID parameter values corresponding the ECT sensor PID. By including a vehicle data message including a PID request that corresponds to a PID key in the vehicle data message database, a PID topic sent to the computing systemdoes not need to include the data indicative of the PID request(s) or vehicle data messages that are to be sent to the vehicle.

137 177 137 177 203 210 23 FIG.A 23 FIG.C A vehicle data message within the vehicle data message database,can be contained in a PID list. A particular vehicle data message can be contained in multiple different PID lists. A PID list can include one or more PID list identifiers to distinguish that PID list from other PID lists stored in the vehicle data message database,. As an example, a PID list identifier can include a name of a PID list, such as a name shown between tags of a PID list name elementshown in. As another example, a PID list identifier can include a vehicle identifier, such as a YMME for a particular type of vehicle. As yet another example, a PID list identifier can include a system identifier, such as such as a system identifier within a system elementshown in. As yet another example, a PID list identifier can include a component identifier, such as a name of a vehicle component.

Table G shows example PIDs, PID descriptions, and ECUs that provide PID parameter values in response to receiving a VDM including a PID. A PID in a PID list and/or an index value corresponding to a PID in the PID list can represent a PID, and PID description, and/or an identifier of an ECU using hexadecimal data.

TABLE G PID PID description ECU  1 Fuel system status Powertrain control module  2 Calculated engine load Powertrain control module  3 Engine coolant temperature Powertrain control module  4 Short term fuel trim—bank 1 Powertrain control module  5 Long term fuel trim—bank 1 Powertrain control module  6 Fuel pump pressure Powertrain control module  7 Intake manifold absolute pressure Powertrain control module  8 Engine RPM Powertrain control module  9 Vehicle speed Powertrain control module 10 Timing advance Powertrain control module 11 Intake air temperature Powertrain control module 12 MAF air flow rate Powertrain control module 13 Commanded EGR Powertrain control module 14 EGR error Powertrain control module 15 Fuel tank level input Powertrain control module 16 Relative throttle position Powertrain control module 17 Fuel type Powertrain control module 18 Evaporator system vapor pressure Powertrain control module 19 Mass air flow sensor Powertrain control module 20 Intake manifold air temperature Powertrain control module 21 Fuel injection timing Powertrain control module 22 Engine oil temperature Powertrain control module 23 Boost pressure control Powertrain control module 24 Exhaust gas recirculation temperature Powertrain control module 25 Turbocharger RPM Powertrain control module 26 Wastegate control Powertrain control module 27 Engine run time Powertrain control module 28 Fuel pressure control system Powertrain control module 29 Engine percent torque data Powertrain control module 30 Injection pressure control system Powertrain control module 31 Fuel pump voltage Powertrain control module 32 Fuel pump relay Powertrain control module 33 Short term fuel pump trim Powertrain control module 34 Air conditioning compressor state Powertrain control module 35 Air conditioning high side pressure Powertrain control module 36 Air conditioning low side pressure Powertrain control module 37 Engine control ECU DTC Powertrain control module 38 Anti-lock brake ECU DTC Anti-lock brake control module 39 Traction control ECU DTC Traction control system module 40 Airbag system ECU DTC Supplemental inflatable restraint control mod. 41 Powertrain control ECU DTC Powertrain control module 42 Oil change life Powertrain control module 43 Engine control ECU calibration number Powertrain control module 44 Anti-lock brake ECU calibration Anti-lock brake control module number 45 Traction control ECU calibration Traction control system module number 46 Airbag system ECU calibration number Supplemental inflatable restraint control mod. 47 Powertrain control ECU calibration Powertrain control module number 48 Air conditioning switch voltage HVAC control module 49 Fuel rail pressure Powertrain control module 50 HVAC actuator direction HVAC control module 51 HVAC fan motor switch HVAC control module 52 HVAC motor speed percentage HVAC control module 53 HVAC interior ambient air temperature HVAC control module 54 Fuel pump state 55 HVAC exterior ambient air temperature HVAC control module 56 HVAC sun load sensor HVAC control module 57 Fan speed indicated HVAC control module 58 Air conditioning compressor status HVAC control module 59 Fan speed demanded HVAC control module 60 Evaporator temperature HVAC control module 61 Rear cabin interior ambient temperature HVAC control module 62 Misfire counts Powertrain control module 63 O2 sensor-bank 1-sensor 1 Powertrain control module 64 O2 sensor-bank 1-sensor 2 Powertrain control module 65 O2 sensor-bank 2-sensor 1 Powertrain control module 66 O2 sensor-bank 2-sensor 2 Powertrain control module 67 Fan speed indicated HVAC control module 68 Audio volume Radio control module 69 Speaker fade setting Radio control module 70 Speaker balance setting Radio control module 71 Horn input Body control module 72 Left front door lock switch status Body control module 73 Right front door lock switch status Body control module 74 Left rear door lock switch status Body control module 75 Left rear door lock switch status Body control module 76 Battery voltage Powertrain control module 77 Brake pad wear sensors Anti-lock brake control module

151 155 22 A component test can include computer-readable program instructions (e.g., a component test module) executable to perform the component test. Execution of a component test module can include configuring the meteror the oscilloscopefor performing the component test for the component and/or vehicle to be tested. Table H1 includes example index values/identifiers and component tests. The index values/identifiers can be used within computer-readable program instructions and/or communications (e.g., a communication from the serverincluding a portion of the index values/identifiers shown in Table H1) to identify a component test that is to be executed. A test set and/or a test set file can include an index value corresponding to a component test.

TABLE H1 Index Value/ Identifier Component Test CT1 Frequency test CT2 Signature test CT3 Out of range no signal test CT4 DC Voltage test CT5 Current test CT6 Resistance test CT7 Capacitance test CT8 Temperature test CT9 Pressure test CT10 Tail pipe emission test CT11 Continuity test CT12 Fuel pump voltage test CT13 HVAC actuator voltage test CT14 Fuel pump signature test CT15 HVAC actuator temperature test CT16 Exhaust gas cylinder balance test CT17 Air conditioning pressure test CT18 Air conditioning test during recycle and recharge CT19 Crankshaft position sensor CT20 Camshaft position sensor CT21 Throttle position sensor CT22 AC Voltage test

100 12 40 51 1060 102 118 22 A functional test in the computing systemcan include computer-readable program instructions (e.g., a functional test module) executable to request performance of a functional test at the vehicle,,,. Execution of a functional test module can include configuring the processorand/or the vehicle communications transceiverfor transmitting a VDM to the vehicle for requesting performance of the functional test. Table H2 includes example index values/identifiers and functional tests. The index values/identifiers can be used within computer-readable program instructions and/or communications (e.g., a communication from the serverincluding a portion of the index values/identifiers shown in Table H2) to identify a functional test that is to be requested to be performed. A test set and/or a test set file can include an index value corresponding to a functional test.

TABLE H2 Index Value/Identifier Functional Test FT1 Fuel pump engagement FT2 Close evaporator canister vent FT3 Engine cooling fan high FT4 Engine cooling fan low FT5 Fuel injector #1 on FT6 Fuel injector #2 on FT7 Fuel injector #3 on FT8 Fuel injector #4 on FT9 Fuel injector #5 on FT10 Fuel injector #6 on FT11 Fuel injector #7 on FT12 Fuel injector #8 on FT13 EGR valve open FT14 EGR valve closed FT15 Lock driver door FT16 Spark plug coil #3 off FT17 A/C switch on FT18 Unlock driver door FT19 Throttle position

100 12 40 51 1060 102 118 22 A reset procedure in the computing systemcan include computer-readable program instructions (e.g., a reset procedure test module) executable to request performance of a reset procedure at the vehicle,,,. Execution of a reset procedure module can include configuring the processorand/or the vehicle communications transceiverfor transmitting a VDM to the vehicle for requesting performance of the reset procedure. Table H3 includes example index values/identifiers and reset procedures. The index values/identifiers can be used within computer-readable program instructions and/or communications (e.g., a communication from the serverincluding a portion of the index values/identifiers shown in Table H3) to identify a reset procedure that is to be requested to be performed. A test set and/or a test set file can include an index value corresponding to a reset procedure.

TABLE H3 Index Value/Identifier Reset Procedure RP1 Oil change interval reset RP2 Vehicle theft deterrent reset RP3 Ignition key identifier reset RP4 VIN learn reset RP5 Calibrate engine control ECU RP6 Calibrate anti-lock brake ECU RP7 Calibrate traction control ECU RP8 Calibrate airbag system ECU RP9 Calibrate powertrain control ECU RP10 Clear engine control ECU DTC RP11 Clear antilock brake ECU DTC RP12 Clear traction control ECU DTC RP13 Clear airbag system ECU DTC RP14 Clear powertrain control ECU DTC RP15 Reserved RP16 Reserved RP17 MAP sensor reset

138 137 138 104 122 The PID parameter valueincludes data that the computing system receives from a vehicle in response to transmission of a vehicle data message including a PID request. The vehicle data message database, the PID parameter value, or some other portion of memorycan include a formula for converting a PID parameter value received from a vehicle. After converting the PID parameter value, the PID parameter value can be displayed on the display. In at least some implementations, an original equipment manufacturer (OEM) of a vehicle defines the formula for converting a PID parameter value received from a vehicle. In at least some implementations, a PID parameter value received from a vehicle indicates a state of a component or system with binary states, such as on/off or engaged or un-engaged.

139 139 102 139 133 134 135 136 The PID topic filecan include data to display any aspect of a PID topic or PID topic file described in this description. As an example, the PID topic filecan include the type of data described with respect to any table (e.g., Table A to Table Y) in this description. The processorcan use the PID topic fileand one or more from among the vehicle identifier, the system identifier, the component identifier, or the symptom identifierto determine content of to display in a GUI showing a PID topic.

139 160 100 23 FIG.A 23 FIG.C 25 FIG.A 25 FIG.C In some implementations, a PID topic stored within the PID topic fileincludes a computer-readable file arranged as an XML file. As an example, and as represented bytoand byto, a PID topic can include an XML file. As another example, a PID topic file can include a computer-readable file arranged as a JavaScript Object Notation (JSON) file having a JSON file extension. As yet another example, a PID topic file can include a computer-readable flat file, such as a comma separated variable (CSV) file or some other type of computer-readable flat file. As yet another example, a PID topic file can include a hyper-text transfer protocol (HTML) file, such as an HTML file the serverprovides to the computing system.

100 160 102 139 100 139 100 100 160 179 160 100 100 In at least some implementations, the computing systemreceives a PID topic file from the serverby downloading the PID topic file over a communication link. The processorcan cause that downloaded PID topic file to be stored within the PID topic file. In accordance with these implementations, the computing systemcan generate a custom PID topic file and store the custom PID topic file within the PID topic file. In at least some of those implementations, the custom PID topic file is not transferred away from the computing system. In other implementations, the computing systemtransmits the custom PID topic file to the serverfor storage within the PID topic file. Afterwards, the servercan transfer the custom PID topic file generated using the computing systemto a computing system operable to display a PID topic other than the computing system.

100 160 50 FIG. 51 FIG. A PID topic file can be specific to one or more vehicle models. A PID topic file is specific to one or more vehicle models if the PID topic file corresponds to the one or more vehicle models and all of the PIDs corresponding to the PID topic file are supported by each vehicle model of the one or more vehicle models. Alternatively, a PID topic file can be generic to one or more vehicle models. A PID topic file is generic to one or more vehicle models if the computing systemand/or the serveruse the PID topic file with respect to a vehicle model that does not support one or more PIDs corresponding to the PID topic file.shows a container that includes a sub-container providing an indication that a PID corresponding to the sub-container is not supported by a vehicle.shows a container in which a sub-container for the unsupported PID has been omitted.

102 102 102 102 102 A custom PID topic file based on the first PID topic file can be displayed at a time after a threshold value, such as a minimum or maximum threshold value corresponding to a PID within the first PID topic file has been modified. The processorcan compare the threshold values corresponding to the custom PID topic file to the threshold values of the first PID topic file. If the processordetermines a difference between the minimum threshold values of the custom and first PID topic files, the processorcan (when outputting the custom PID topic file on the display) output an indication that the minimum threshold value has changed since the custom PID topic file was generated. Similarly, if the processordetermines a difference between the maximum threshold values of the custom and first PID topic files, the processorcan (when outputting the custom PID topic file on the display) output an indication that the maximum threshold value has changed since the custom PID topic file was generated.

140 131 131 140 100 140 160 102 130 131 140 140 400 401 402 403 404 140 133 134 135 136 139 140 12 40 51 1060 34 FIG. The GUI contentincludes content configured for populating into the GUI. The GUIcan include the GUI content. The computing systemcan receive the GUI contentfrom the server. The processorcan execute the CRPIto populate the GUIwith the GUI content. As an example, the GUI contentcan include any or all of the supplemental information shown in one or more of a sub-container,,,,shown in. The GUI contentcan be associated with one or more from among the vehicle identifier, the system identifier, the component identifier, symptom identifier, or the PID topic file. Additionally, or alternatively, the GUI contentcan include content obtained from the vehicle,,,.

22 FIG. 2 FIG. 3 FIG. 160 160 161 162 163 164 164 161 162 163 164 161 162 163 22 160 160 20 30 22 is a block diagram of a serverin accordance with one or more example implementations. The serverincludes a processor, a memory, a transceiver, and a data bus. The data busoperatively connects the processor, the memory, and the transceiverto one another. In other words, the data busprovides an operative connection between two or more of the processor, the memory, and/or the transceiver. The servershown inandcan be arranged like the server. The servercan be operational within the system,in place of or in addition to the server.

164 161 162 161 162 164 161 162 161 162 164 161 163 163 163 164 With the operative connection provided by the data bus, the processoris operable to request and receive data from the memory. In other words, the processoris operable to read data written into the memory. With the operative connection provided by the data bus, the processoris operable to provide and store data within the memory. In other words, the processoris operable to write data into the memory. With the operative connection provided by the data bus, the processoris operable to receive data received by the transceiverand to provide the transceiverwith data that is to be transmitted by the transceiver. Other examples of functionality available via the operative connection provided by the data busare also possible.

161 161 161 161 160 161 22 160 The description of a processor above refers to “any other processor discussed in this description. The processoris such a processor and thus the aforementioned description pertains to the processor. Moreover, for the implementations in which the processoris arranged like the INTEL® multicore microprocessor, the processorcan include one or more INTEL® XEON® processors having between four and twenty-eight cores. In at least some implementations of the server, the processorcan be programmed to perform any function(s) described in this description as being performed by the server,.

163 163 The description of a transceiver above refers to “any other transceiver discussed in this description. The transceiveris such a transceiver and thus the aforementioned description pertains to the transceiver.

162 162 The description of a memory above refers to “any other memory discussed in this description. The memoryis such a memory and thus the aforementioned description pertains to the memory.

160 165 165 165 160 167 161 162 163 In at least some implementations, the serverincludes a power supply. The description of a power supply above refers to “any other power supply discussed in this description. The power supplyis such a power supply and thus the aforementioned description pertains to the power supply. In at least some implementations of the server, a power distribution circuit(s) within and/or connected to the power supply include an electrical busthat connects to the processor, the memory, and the transceiver.

160 166 166 161 162 163 164 165 166 161 162 163 164 165 166 166 In at least some implementations, the serverincludes a housing. The housingsurrounds at least a portion of the following: the processor, the memory, the transceiver, the data bus, and/or the power supply. The housingcan support a substrate. In at least some example implementations, at least a portion of the following: the processor, the memory, the transceiver, the data bus, and/or the power supplyis/are mounted on and/or connected to a substrate of the housing. In at least some implementations, the housingincludes a rack and/or cabinet having one or more shelves.

160 162 162 170 171 172 173 174 175 176 177 178 179 180 162 504 530 62 FIG. 36 FIG. In accordance with the example implementations, the servercan determine, generate, store, transmit, receive, and/or otherwise use a variety of computer-readable data. At least some of the computer-readable data can be stored in the memory. As an example, the memorycontains one or more from among: computer-readable programming instructions (CRPI), a GUI, vehicle selection data, a vehicle identifier, a system identifier, a component identifier, a symptom identifier, a vehicle data message database, a PID parameter value, a PID topic file, and GUI content. Additionally, the memorycan contain any of the content within the system memoryshown inand/or within the computer program productshown in.

170 161 170 160 22 160 161 160 The CRPIinclude program instructions executable by a processor, such as the processor. As an example, the CRPIcan include program instructions that are executable to cause the serverto perform any function described as being performed by the server,, by the processor, and/or by some other component of the server.

170 2 3 4 5 6 7 8 9 10 11 12 10 160 100 10 104 As an example, the CRPIcan include one or more from among the PI-, PI-, PI-, PI-, PI-, PI-, PI-, PI-, PI-, PI-or PI-. When executing the PI-, the servercan request the computing systemto execute the PI-stored in the memoryin order to request performance of a functional test or a reset function on a vehicle.

170 161 100 100 122 100 14 100 20 As yet another example, the CRPIcan include program instructions executable by the processorto generate a message for the computing system and to send the message for the computing system to the computing system. The message for the computing system can include a response based on data received from the computing system(e.g., data indicative of a USC selected from the display), and/or data the computing systemreceived from a vehicle (e.g., such as a PID parameter value). As an example, the response can include a PID topic file, a GUI, or any other data described herein as being transmitted from a server to the computing system,. For purposes of this description, the program instructions discussed in this paragraph are referred to as PI-.

171 161 100 122 171 161 100 161 161 171 The GUIincludes a GUI that the processoris operable to output to the computing systemfor displaying on the display. In at least some implementations, the GUIincludes a template that the processoruses to generate a GUI for outputting to the computing system. The processorcan select the template from among multiple templates that are configured for generating a GUI with a particular number of container(s), such as one, two, three, four, five, six, seven, eight, nine, ten, eleven or twelve container(s). Other examples of a template with a different quantity of container(s) are also possible. In addition to selecting a template a particular number of container(s), the processorcan further select a template from among multiple templates that are configured for generating a GUI with a particular number of sub-containers within each container defined for the template. As an example, the quantity of sub-containers in a container can include one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve or some other number of sub-containers. The GUIcan include a GUI shown in any of the drawings, a GUI that includes any aspects shown in one or more of the drawings, and/or some other GUI.

172 173 172 185 172 173 364 185 185 37 FIG. The vehicle selection dataincludes data for determining the vehicle identifier. In at least some implementations, the vehicle selection dataincludes data to identify a vehicle based on selections entered using a GUI, such as the selections that can be made using the GUIshown in. In at least some implementations, the vehicle selection dataincludes data for determining the vehicle identifierby decoding a vehicle identification number (VIN) entered via a VIN USCshown in the GUI, or an image of a code representing a VIN, such as the image of the code shown in the GUI.

173 12 40 51 1060 173 12 40 51 1060 100 160 100 131 173 The vehicle identifierincludes an identifier of a vehicle, such as the vehicle,,,. In some implementations, the vehicle identifieris obtained indirectly from the vehicle,,,via the computing system. In some implementations, the serverreceives from the computing systema vehicle identifier entered using the GUI. The examples of a vehicle identifier discussed in Section VI of this description are applicable to the vehicle identifier.

174 12 40 51 1060 174 173 174 12 40 51 1060 100 160 100 131 174 174 174 The system identifierincludes an identifier of a system within a vehicle, such as the vehicle,,,. In at least some implementations, the system identifierindicates a system within a vehicle corresponding to the vehicle identifier. In some implementations, the system identifieris obtained indirectly from the vehicle,,,via the computing system. In other implementations, the serverreceives from the computing systema system identifier entered using the GUI. In at least some implementations, the system identifieris configured as a hexadecimal number used to identify a system within a vehicle data message. As an example, the system identifiercan include an identifier of an adaptive driver assistance system (ADAS), an audio system, a brake system, a chassis system, a coolant system, a vehicle body system, an electrical system, an engine system, an exhaust system, a fuel system, a navigation system, a powertrain system, a steering system, or a suspension system. Other examples of a system identified by the system identifierare also possible.

175 12 40 51 1060 175 173 174 175 12 40 51 1060 175 100 171 171 181 175 175 175 38 FIG. The component identifierincludes an identifier of a component within a vehicle, such as the vehicle,,,. In at least some implementations, the component identifierindicates a component within a vehicle corresponding to the vehicle identifierand/or within a system corresponding to the system identifier. In some implementations, the component identifieris obtained from the vehicle,,,. In some implementations, the component identifieris obtained from the computing systemafter a component identifier is entered using the GUI. In accordance with those latter implementations, the GUIcan include a GUI arranged like the GUIshown in. In at least some implementations, the component identifieris configured as a hexadecimal number used to identify a component within a vehicle data message. As an example, the component identifiercan include an identifier of an ECU, an ECU-connected input device, an ECU-connected output device, or a sensor. Other examples of a component identified by the component identifierare also possible.

176 12 40 51 1060 176 176 176 373 181 38 FIG. The symptom identifierincludes an identifier of a symptom exhibited by or that can be exhibited by a vehicle, such as the vehicle,,,. As an example, the symptom identifiercan include an identifier that indicates a malfunction indicator lamp within the vehicle is on steady or flashing. As another example, the symptom identifiercan include an identifier that indicates a diagnostic trouble code (DTC) is set within the vehicle. In accordance with at least some implementations, a symptom identifier that indicates the DTC also indicates a status of the DTC, such as currently set active status or a currently inactive but previously active status. As yet another example, the symptom identifiercan include a textual description of a customer complaint, such as a customer complaint that can be entered using a complaint USCshown in the GUIshown in.

177 177 177 160 100 100 The vehicle data message databaseincludes data for generating a vehicle data message. In at least some implementations, at least a portion of the vehicle data message databaseis configured according to the SAE J1979_201202 and/or ISO 15031-5 standards for E/E diagnostic test modes. The data within the vehicle data message databasecan include data for generating a vehicle data message to request a PID parameter value from a vehicle. As an example, a vehicle data message can include a service request, a PID, and an ECU identifier. In at least some implementations, the service request includes a mode $01 to request a current PID parameter value or a mode $02 to request a freeze frame PID parameter value. The servercan transmit the vehicle data message to the computing systemso that the computing systemcan request PID parameter values from a vehicle and to populate into a GUI.

178 160 100 177 178 104 100 100 122 The PID parameter valuecan include data that the serverreceives from the computing system. The vehicle data message database, the PID parameter value, or some other portion of memorycan include a formula for converting a PID parameter value received from the computing system. After converting the PID parameter value, the PID parameter value can be output to the computing systemfor displaying on the display.

179 179 161 179 173 174 175 176 The PID topic filecan include data to display any aspect of a PID topic described in this description. As an example, the PID topic filecan include the type of data described with respect to Table A to Table Y in this description. The processorcan use the PID topic fileand one or more from among the vehicle identifier, the system identifier, the component identifier, or the symptom identifierto determine content to display in a GUI showing a PID topic.

180 171 171 180 160 180 100 161 170 171 180 180 400 401 402 403 404 296 180 173 174 175 176 179 34 FIG. The GUI contentincludes content configured for populating into the GUI. The GUIcan include the GUI content. The servercan transmit the GUI contentto the computing system. The processorcan execute the CRPIto populate the GUIwith the GUI content. As an example, the GUI contentcan include any or all of the supplemental information shown in one or more of a sub-container,,,,shown in. Other examples of supplemental information corresponding to a PID topic other than the PID topic shown in the GUIare also possible. The GUI contentcan be associated with one or more from among the vehicle identifier, the system identifier, the component identifier, symptom identifier, or the PID topic file.

59 FIG. 59 FIG. 590 590 590 14 100 14 100 590 22 160 shows a flow chart depicting a setof functions of a method in accordance with the example implementations. Two or more functions and/or portions of two or more functions of the setof functions can be performed at the same time. The functions of the setof functions can be performed by the computing system,. The computing system,can perform other function(s) and/or operate in other operating state(s) than those shown in. One or more functions within the setcan be performed by the server,.

591 Blockincludes determining, by a processor while a computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The computing system includes the processor and a display. The display is powered on, but does not display any PID condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit.

590 102 590 122 590 12 40 51 1060 104 100 102 130 102 130 108 106 161 590 The processor discussed in the setof functions can include the processor. The display discussed in the setof functions can include the display. The vehicle discussed in the setof functions can include the vehicle,,,. The memorycan include system data that indicates an operating state of the computing system. The processorcan execute the CRPIto track an operating state using a state diagram stored in the system data. The processorcan execute the CRPIto modify the state diagram based on various aspects, such an input entered via the user interfaceand/or a communication received or transmitted via the transceiver. Additionally, or alternatively, the state diagram can indicate data shown in Table A to Table Y. Furthermore, the processorcan perform one or more of the functions of the set.

592 592 592 108 181 38 FIG. Next, blockincludes determining, by the processor while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. In at least some implementations, the determination at blockis based on content of a vehicle data message received from a vehicle. As an example, the determination can be based on a source identifier of an ECU that transmitted the vehicle data message. In at least some implementations, the determination at blockis based on inputs made via the user interfaceand a GUI, such as the GUIshown in.

593 Next, blockincludes determining, by the processor, a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the first PID topic. In at least some implementations, the first PID topic further corresponds to the vehicle identifier.

122 139 179 102 139 179 179 161 100 In at least some implementations, determining the first PID topic includes determining a PID topic file that the processor can use to output the first PID topic on the display. Determining the PID topic file can include searching the PID topic file,. The processorcan search the PID topic file,based on the component identifier, the system identifier, and/or the symptom identifier, and in at least some implementations, the vehicle identifier. To search the PID topic file, the processorcan receive, from the computing system, a request including the component identifier, the system identifier, and/or the symptom identifier. That request can also include the vehicle identifier.

139 179 Searching for the PID topic file within the PID topic file,can include performing a text search of a set of PID topic files and/or performing a metadata search of metadata associated with PID topic files within the set of PID topic files.

102 100 160 102 102 139 In at least some implementations, determining the first PID topic includes the processorreading a PID topic file provided to the computing systemfrom the server. In at least some implementations, determining the first PID topic includes the processorreading a PID topic file that the processorfound during a search of the PID topic file.

102 161 In at least some implementations, determining the first PID topic can include the processor reading a PID topic file generated by aggregating aspects of multiple PID topic files. Generating the PID topic file can occur in response to the processor,determining that the component identifier, the system identifier, and/or the symptom identifier correspond to multiple PID topic files. In at least some implementations, the component identifier, the system identifier and/or the symptom identifier include multiple identifiers that correspond to multiple PID topic files. A PID topic I in Table I below can result from aggregating PID topic G and PID topic H shown in Table I.

In at least some implementations, a PID topic file corresponding to a symptom includes more PIDs than a PID topic file corresponding to a component, because the PID topic file corresponding to the symptom includes PIDs corresponding to multiple components. For example, a PID topic file corresponding to a symptom referred to as “no start” (meaning the engine does not start) can include PIDs corresponding to multiple components of a vehicle, such as an ignition switch, a fuel pump, a starter motor, and an anti-theft module. A PID topic file corresponding to just one of those components would include PIDs for that one component, but not PIDs for those other components unless they are a PID common to multiple components.

122 14 In accordance with at least some implementations, a PID topic can be selected from a list of PID topics output on the display. In accordance with at least some of those implementations, a PID topic can be selected from the list without the processor having determined a component, system, or symptom for a vehicle connected to the computing system.

594 102 100 Next, blockincludes switching, by the processor, operation of the computing system from the first state to a second state. The computing system is operable to display a PID condition indicator on the display while operating in the second state. Switching operation of the computing system can include the processormodifying the state diagram discussed above to indicate that the computing systemis operating in the second state instead of the first state. In at least some implementations, the second state includes a state in which PIDs corresponding to a PID condition are related to one or more thresholds for comparing to PID parameter values. The second state can be referred to as an intelligent diagnostic state (or mode). Examples of GUIs pertaining to the intelligent diagnostics state are shown throughout the drawings.

595 Next, blockincludes receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic.

596 Next, blockincludes determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic. The PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

597 Next, blockincludes displaying, on the display while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic. The first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs. The first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

590 In at least some implementations of a method including the setof functions, the method further includes displaying, on the display while the computing system operates in the first state and after determining the vehicle identifier and the component identifier, the system identifier, and/or the symptom identifier, a first user-selectable control. Switching operation of the computing system from the first state to the second state occurs in response to a selection of the first user-selectable control.

590 In at least some implementations of a method including the setof functions, switching operation of the computing system from the first state to the second state occurs in response to determining the first PID topic.

590 102 102 In at least some implementations of a method including the setof functions, the method further includes receiving, by the processor, vehicle data transmitted by the vehicle. The vehicle data is indicative of a diagnostic trouble code set active within the vehicle. Determining the component identifier, the system identifier, and/or the symptom identifier is based on the diagnostic trouble code. In at least some of those implementations, the diagnostic trouble code set active within the vehicle includes a diagnostic trouble code set active by the component or by an electronic control unit that is within the vehicle that is: (i) operatively connected to the component, (ii) part of the system, and/or (iii) operatively connected to the component and part of the system. Transmission of the vehicle data to the processorcan include transmission of one or more vehicle data messages containing the vehicle data.

590 In at least some implementations of a method including the setof functions, determining the component identifier, the system identifier, and/or the symptom identifier includes determining at least a first identifier and a second identifier. Moreover, determining the first PID topic includes aggregating a PID topic corresponding to the first identifier and a PID topic corresponding to the second identifier. The method according to these implementations can further include determining the one or more PIDs corresponding to the first PID topic by aggregating PIDs corresponding to the PID topic corresponding to the first identifier, and PIDs corresponding to the PID topic corresponding to the second identifier. The first identifier includes a first component identifier and the second identifier includes a second component identifier, a first system identifier, or a first symptom identifier. Alternatively, the first identifier includes the first system identifier and the second identifier includes the first component identifier, a second system identifier, and/or the first symptom identifier. Alternatively, the first identifier includes the first symptom identifier and the second identifier includes the first component identifier, the first system identifier, or a second symptom identifier.

In at least some of the implementations described in the preceding paragraph, aggregating the PIDs corresponding to the PID topic corresponding to the first identifier and the PIDs corresponding to the PID topic corresponding to the second identifier includes omitting a particular PID corresponding to the PID topic corresponding to the second identifier because the particular PID is duplicative of a PID corresponding to the PID topic corresponding to the first identifier.

590 102 102 102 In at least some implementations of a method including the setof functions, the method further includes determining, by the processor, a second PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. The one or more PIDs correspond to the second PID topic. The method further includes receiving, by the processorwhile the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the second PID topic. Additionally, the method includes determining, by the processorwhile the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the second PID topic. The PID condition associated with each respective PID corresponding to the second PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore, the method includes displaying, on the display while the computing system operates in the second state, a descriptor of the second PID topic and a second particular PID condition indicator corresponding to the second PID topic. The second particular PID condition indicator corresponding to the second PID topic indicates a second quantity of PIDs. The second quantity of PIDs indicates how many PIDs corresponding to the second PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the second PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

In at least some of the implementations described in the preceding paragraph, the descriptor of the first PID topic and the indicator of the PID condition for each of the one or more PIDs corresponding to the first PID topic are displayed together within a first container. Additionally, the descriptor of the second PID topic and the indicator of the PID condition for each of the one or more PIDs corresponding to the second PID topic are displayed together as a second container separate from the first container. Furthermore, the first container and the second container are initially displayed in a first order. Furthermore still, the method of these implementations includes determining a user-selection to change an order or a change in the PID condition for each of the one or more PIDs corresponding to the first PID topic and the PID condition for each of the one or more PIDs corresponding to the second PID topic. Finally, the method of these implementations further include displaying the first container and the second container in a second order different than the first order based on the user-selection to change the order or the change in the PID condition for each of the one or more PIDs corresponding to the first PID topic and the PID condition for each of the one or more PIDs corresponding to the second PID topic.

In at least some of the implementations described in the preceding paragraph, the first order is: an alpha-numeric order, a reverse-alpha-numeric order, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest quantity to a least quantity, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest quantity to a least quantity, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest percentage to a lowest percentage, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or a user-selected order. Moreover, the second order is a different one of: the alpha-numeric order, the reverse-alpha-numeric order, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest quantity to the least quantity, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the least quantity to the greatest quantity, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest percentage to the lowest percentage, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or the user-selected order.

590 In at least some implementations of a method including the setof functions, displaying the descriptor of the first PID topic and the first particular PID condition indicator corresponding to the first PID topic includes displaying a container including: (i) the descriptor of the first PID topic, (ii) the first particular PID condition indicator corresponding to the first PID topic, and (iii) one or more sub-containers. Additionally, each of the one or more sub-containers includes an alpha-numeric indicator of a particular PID and a parameter value descriptor associated with the particular PID.

As an example, a parameter value descriptor associated with the particular PID includes a numerical value, such as 0, 0.0, 100.5, or 2,550. As another example, a parameter value descriptor associated with the particular PID includes a unit descriptor, such as pounds per square inch (PSI), kilopascals (kPa), revolutions per minute (RPM) or volts.

As another example, a parameter value descriptor associated with the particular PID includes a textual word, acronym, or abbreviation, such as (on, off), (engaged, disabled), (active, inactive), (lock, unlock), (up, down), (mute, unmute), (up-shift, down-shift), (left, right), (front, rear), or (park, reverse, neutral, drive, low). Each set of textual words, acronyms, or abbreviations within a pair of round brackets above are examples of alternative expected values that can be represented by a PID parameter value. Examples of PIDs that can have expected values of on or off, engaged or disabled, or active or inactive include a solenoid status, a motor status, or a switch status. Examples of PIDs that can have expected values of lock or unlock include door lock position or torque converter clutch status. Examples of PIDs that can have expected values of up or down include window motor switch status or transmission shift request indicator. Examples of PIDs that can have expected values of mute or unmute include audio speaker status. Examples of PIDs that can have expected values of up-shift or down-shift include transmission shift request indicator. Examples of PIDs that can have expected values of left or right include turn signal switch status or audio balance settings. Examples of PIDs that can have expected values of front or rear include audio fade settings. Examples of PIDs that can have expected values of park, reverse, neutral, drive, or low include transmission gear selection status. Other examples of PID that can have expected values listed in the rounded brackets above are also possible.

In at least some of the implementations described three paragraphs above, the one or more sub-containers includes multiple sub-containers, and the multiple sub-containers are initially arranged in a first order of sub-containers within the container. In these implementations, the method also includes displaying the multiple sub-containers in a second order of sub-containers different than the first order of sub-containers. The second order is based on a PID condition for at least one of the one or more PIDs corresponding to the first PID topic changing.

In at least some of the implementations described four paragraphs above, the one or more sub-containers include multiple sub-containers, and the multiple sub-containers are initially arranged in a first order of sub-containers within the container. In these implementations, the method also includes displaying, on the display while the computing system operates in the second state, a second USC, and displaying the multiple sub-containers in a second order of sub-containers in response to a selection of the second USC. Displaying the multiple sub-containers in the second order includes displaying two or more sub-containers initially arranged in the first order in a reverse order.

In at least some of the implementations described five paragraphs above, an additional PID corresponds to the first PID topic. In these implementations, the method further comprises determining, by the processor, that no PID parameter value is received in response to requesting parameter values from the vehicle for the additional PID. The method also includes displaying, on the display within the container, a sub-container for the additional PID. The sub-container for the additional PID includes an alpha-numeric indicator of the additional PID and an indication that PID parameter values are unavailable from the vehicle for the additional PID. Alternatively, the method also includes displaying, on the display, the container without displaying within the container a sub-container for the additional PID.

In at least some of the implementations described six paragraphs above, the one or more sub-containers include multiple sub-containers and the multiple sub-containers are initially arranged in a first order of sub-containers within the container. In these implementations, the method further comprises determining a user-selection to change an order of sub-containers or a change in a PID condition for one or more PIDs corresponding to each sub-container of the multiple sub-containers. Moreover, the method includes displaying the multiple sub-containers in a second order of sub-containers different than the first order of sub-containers based on the user-selection to change the order of sub-containers or the change in the PID condition for one or more PIDs corresponding to each sub-container of the multiple sub-containers.

In at least some of the implementations described in the preceding paragraph, the first order is: an alpha-numeric order, a reverse-alpha-numeric order, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest quantity to a least quantity, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the least quantity to the greatest quantity, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest percentage to a lowest percentage, an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or a user-selected order. Moreover, the second order is a different one of: the alpha-numeric order, the reverse-alpha-numeric order, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest quantity to the least quantity, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the least quantity to the greatest quantity, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest percentage to the lowest percentage, the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or the user-selected order.

590 In at least some implementations of a method including the setof functions, the method further includes displaying, on the display, a second USC while the computing system operates in the second state. The method also includes in response to determining the second USC is selected, (i) changing the display from displaying a container using a first display mode to displaying the container using a second display mode or (ii) changing the display from displaying the container using the second display mode to displaying container using the first display mode. Furthermore, displaying the container using the first display mode includes displaying both the descriptor of the first PID topic and the indicator of the PID condition for each of the one or more PIDs associated with the PID topic without displaying in the container a sub-container including an alpha-numeric indicator of a particular PID and a parameter value descriptor associated with the particular PID. Furthermore still, displaying the container using the second display mode includes displaying: (i) the descriptor of the first PID topic, (ii) the indicator of the PID condition for each of the one or more PIDs associated with the PID topic, and (iii) the sub-container including an alpha-numeric indicator of the particular PID and the parameter value descriptor associated with the particular PID.

In at least some of the implementations described in the preceding paragraph, displaying the container using the second display mode includes generating the container and the sub-container based on position data and size data defined for the container and the sub-container. The position data and size data defined for the container and the sub-container is specified using pixel coordinates or display percentages.

590 In at least some implementations of a method including the setof functions, the first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold. Moreover, the method further includes displaying, on the display while the computing system operates in the second state, a second particular PID condition indicator corresponding to the first PID topic, the second particular PID condition indicator corresponding to the first PID topic indicates a second quantity of PIDs, the second quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold.

In at least some of the implementations described in the preceding paragraph, the processor determines a specific parameter value for a specific PID corresponding to the first PID topic that breaches a PID threshold corresponding to the specific PID if the specific parameter value does not match an expected value corresponding to the specific parameter value.

590 In at least some implementations of a method including the setof functions, the method further includes determining, by the processor, the vehicle is operating in a first operating condition. The method also includes determining, by the processor, the vehicle changing from operating in the first operating condition to operating in a second operating condition. The one or more PIDs corresponding to the first PID topic include a particular PID. A respective PID threshold associated with the particular PID includes a first PID threshold and a second PID threshold different than the first PID threshold. Additionally, determining a PID condition for the particular PID while the vehicle operates in the first operating condition includes comparing parameter values received while the vehicle operates in the first operating condition and corresponding to the particular PID to the first PID threshold. Moreover, determining a PID condition for the particular PID while the vehicle operates in the second operating condition includes comparing parameter values received while the vehicle operates in the second operating condition and corresponding to the particular PID to the second PID threshold.

In at least some of the implementations described in the preceding paragraph, the first operating condition includes a first temperature, and the second operating condition includes a second temperature different than the first temperature.

590 In at least some implementations of a method including the setof functions, one or more additional PIDs correspond to the first PID topic. Moreover, the method includes receiving, by the processor, parameter values automatically requested from the vehicle for the one or more additional PIDs. Additionally, the method includes displaying, on the display, at least some of the parameter values automatically requested from the vehicle for the one or more additional PIDs without displaying any indicator of a PID condition corresponding to the one or more additional PIDs.

590 In at least some implementations of a method including the setof functions, the method further includes receiving, by the processor, a request to generate a custom PID topic based on the first PID topic. This method also includes displaying, on the display in response to the request, a GUI including one or more sub-container selectors. At least one sub-container selector of the one or more sub-container selectors corresponds to a sub-container that is not contained within the first PID topic. The method further includes determining, by the processor, a selection of one or more sub-container selector. Furthermore, the method includes generating the custom PID topic based on the selection of one or more sub-container selectors. Generating the first PID topic includes generating a custom PID topic different than the first PID topic. Generating a PID topic can include generating a PID topic file, such that generating the first PID topic includes generating a first PID topic file. Generating the custom PID topic can include renaming the first PID topic file and changing the renamed PID topic file. Alternatively, generating the custom PID topic file can include generating a copy of the first PID topic file, assigning a name to the copied PID topic file and changing some element of the copied PID topic file.

In at least some of the implementations described in the preceding paragraph, at least one additional sub-container selector of the one or more sub-container selectors corresponds to a respective sub-container that is contained within the first PID topic file. Moreover, generating the custom PID topic based, at least in part on a selection of the at least one additional sub-container selector, includes excluding from the custom PID topic file the respective sub-container that is contained within the first PID topic. Additionally, or alternatively, generating the custom PID topic can include selecting one or more PIDs from a list of PIDs, and adding the one or more selected PIDs to the custom PID topic. Furthermore, generating the custom PID topic can include determining a selection of one or more PIDs contained within the first PID topic and removing the one or more selected PIDs from the first PID topic or from a copy of the first PID topic.

590 In at least some implementations of a method including the setof functions, the method further includes determining, by the processor, one or more additional PID topics corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the one or more additional PID topics. This method also includes displaying, on the display while the computing system operates in the second state, multiple containers in a first order. The multiple containers include a respective container for the first PID topic and the one or more additional PID topics. This method further includes displaying, on the display while the computing system operates in the second state, a USC. Furthermore, the method includes displaying, on the display while the computing system operates in the second state, the multiple containers in a second order in response to a selection of the USC. Displaying the multiple containers in the second order includes displaying two or more containers displayed according to the first order in a reverse order.

590 In at least some implementations of a method including the setof functions, the method further includes determining, by the processor, a second PID topic mapped to the component identifier, the system identifier, and/or the symptom identifier. Multiple similar PIDs correspond to the second PID topic and each similar PID of the multiple similar PIDs corresponds to a respective common vehicle component on the vehicle. The method also includes receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for each of the multiple similar PIDs corresponding to the second PID topic. Furthermore, the method includes determining, by the processor while the computing system operates in the second state, a PID condition for each of the multiple PIDs corresponding to the second PID topic, at least in part, by determining whether a difference between a respective parameter value for each the one or more PIDs corresponding to the second PID topic exceeds a variance threshold value. Furthermore still, the method includes displaying, on the display while the computing system operates in the second state, a descriptor of the second PID topic and an indicator of the PID condition for each of the multiple similar PIDs corresponding to the second PID topic.

590 In at least some implementations of a method including the setof functions, the method further includes transmitting, by the processor to a server, a request including the vehicle identifier and the component identifier, the system identifier, and/or the symptom identifier. The method also includes receiving, in response to the transmitting the request, a response including a PID topic file corresponding to the first PID topic.

In at least some of the implementations described in the preceding paragraph, the PID topic file includes a list identifier that corresponds to a PID list stored within a non-transitory computer-readable memory readable by the processor. Additionally, the PID list includes data the processor uses to generate a vehicle data message for requesting parameter values for a PID corresponding to the first PID topic.

In at least some of the implementations described in the preceding paragraph, the PID topic file and the PID list include a common reference that the processor uses to determine the data the processor uses to generate the vehicle data message for requesting parameter values for the PID corresponding to the first PID topic.

590 In at least some implementations of a method including the setof functions, the descriptor of the first PID topic and the first particular PID condition indicator corresponding to the first PID topic are displayed together on the display within a first container of a first graphical user interface. The method also includes displaying a first USC corresponding to the first USC, a user interface element including supplemental information and/or a second USC. The user interface element includes an expanded portion of the first container or a second graphical user interface displayed in place of the first graphical user interface.

In at least some of the implementations described in the preceding paragraph, the second USC corresponds to a component test that the computing system is programmed to perform, a functional test that the computing system is programmed to request performance of by sending a first particular vehicle data message to the vehicle, or a reset function that the computing system is programmed to request performance of by sending a second particular vehicle data message to the vehicle.

590 In at least some of the implementations of a method including the setof functions, the method further includes transmitting, by the processor to the vehicle, a request for parameter values from the vehicle, the request including a set of PIDs, the set of PIDs including multiple PIDs corresponding to a particular ECU in the vehicle. The method additionally includes determining, by the processor, a subset of PIDs, the subset of PIDs including some, but not all PIDs of the set of PIDs. Determining each particular PID to include in the subset of PIDs includes determining that one or more parameter values for the particular PID, received from the vehicle in response to transmitting the request, has breached a threshold corresponding to the particular PID. Determining the component identifier, the system identifier, and/or the symptom identifier includes determining the symptom identifier. The symptom identifier includes each determined particular PID to include in the subset of PIDs. Determining the first PID topic includes generating a PID topic including the subset of PIDs.

In at least some of the implementations described in the preceding paragraph, the set of PIDs includes all PIDs corresponding to the particular ECU.

590 102 In at least some implementations of a method including the setof functions, the method further includes determining, by the processor, a selection made on the display. The selection indicates the component identifier, the system identifier, and/or the symptom identifier. Determining the component identifier, the system identifier, and/or the symptom identifier is based on the selection. A benefit of making a determination based on the selection is that the selection can indicate a component identifier, system identifier, or symptom identifier or a detail thereof that the vehicle is not operable to identify to the processor. As an example, the component identifier entered via a selection can identify a vehicle component other than an electronic control unit on the vehicle, such as a spark plug. As another example, the symptom identifier entered via a selection can identify a sound made via the vehicle or a spatial location on the vehicle from which the symptom is perceived.

590 In at least some implementations of a method including the setof functions, determining the component identifier, the system identifier, and/or the symptom identifier includes determining one or more of: multiple component identifiers, multiple system identifiers, multiple symptom identifiers, at least one component identifier and at least one system identifier, at least one component identifier and at least one symptom identifier, at least one symptom identifier and at least one symptom identifier, or at least one component identifier, at least one symptom identifier, and at least one symptom identifier.

102 161 A possible benefit of determining identifiers of multiple components, systems, or symptoms as compared to determining just an identifier of just a component, system, or symptom is that the first PID topic can be based on an aggregation of multiple PID topics corresponding to the identifiers of multiple components, systems, or symptoms. The processor,can aggregate PID elements from two or more PID topic files such that the aggregated PID elements do not include duplicate PIDs. Table I shows that a PID topic I is mapped to identifiers of component, system, or symptom 3, 4 and corresponds to PIDs L, M, N without any duplicate PIDs. Table I shows that a PID topic G and a PID topic H are mapped to one component, system, or symptom (e.g., 3 and 4, respectively). The PID topic G corresponds to PIDs M and N. The PID topic H corresponds to PIDs L and M.

1 2 1 2 Another possible benefit of determining the identifiers of multiple components, systems, or symptoms as compared to determining an identifier of a single component, system, or symptom is that the first PID topic can include a set of PIDs comprising a PID that is not contained within a PID topics corresponding to the multiple components, systems, or symptoms individually. For example, Table I shows that a PID topic F that corresponds to identifiersandincludes a PID V, which is not included within either of the PID topic D that corresponds to identifieror the PID topic E that corresponds to the identifier.

220 808 336 23 FIG.A 24 FIG.A 24 FIG.B 24 FIG.C 29 FIG. Each PID represented in a Table of this description by a single letter, such as L, M, N, V, W, X, Y, Z can correspond to a PID, such as a PID represented by a PID key element (e.g., the PID key elementshown in), or a byte of a vehicle data message (e.g., the fifth byte of a vehicle data messageshown in,and), or a textual PID descriptor (e.g., the PID descriptorshown in).

TABLE I PID PID TOPIC MAPPING—Identifier of Topic Component, System, or Symptom PIDs D 1 X, Y, Z E 2 W, X, Y F 1, 2 V, W, X, Y, Z G 3 M, N H 4 L, M I 3, 4 L, M, N

590 In at least some implementations of a method including the setof functions, the method further includes determining, by the processor for each of the one or more PIDs corresponding to the first PID topic, whether any of the parameters has breached the respective PID threshold. Moreover, displaying the PID condition for each of the one or more PIDs corresponding to the first PID topic includes: (i) displaying a first condition indicator to indicate that at least one parameter value for at least one PID of the one or more PIDs corresponding to the first PID topic has breached a respective PID threshold, (ii) displaying a second condition indicator to indicate that no parameter value for all PIDs of the one or more PIDs corresponding to the first PID topic has breached a respective PID threshold, or (iii) both the first condition indicator and the second condition indicator.

In at least some of the implementations described in the preceding paragraph, the first condition indicator includes a number indicating how many PIDs of the one or more PIDs are associated with at least one of the parameter values determined to have breached the respective PID threshold or determined to not match an expected value. Moreover, the second condition indicator includes a number indicating how many PIDs of the one or more PIDs is a particular PID for which no parameter value received for the particular PID has breached a PID threshold for the particular PID or for which no parameter value received for the particular PID does not match an expected value.

60 FIG. 60 FIG. 990 991 992 993 994 995 996 990 990 14 100 14 100 22 990 Next,shows a flow chart depicting a setof functions of a method in accordance with the example implementations. The flow chart includes a block,,,,,that recites a function. Two or more functions and/or portions of two or more functions of the setof functions can be performed at the same time. The functions of the setof functions can be performed by the computing system,. The computing system,can perform other function(s) and/or operate in other operating state(s) than those discussed with respect to. The servercan perform one or more of functions of the set.

991 Blockincludes determining, by a computing system, a vehicle identifier corresponding to a vehicle operatively coupled to the computing system.

992 Next, blockincludes determining, by the computing system, at least one other identifier.

993 Next, blockincludes transmitting, by the computing system over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier.

994 Next, blockincludes receiving, by the computing system from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list.

995 Next, blockincludes transmitting, by the computing system to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list.

996 Next, blockincludes displaying, by the computing system on a display, a graphical user interface, wherein the graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list.

990 In at least some implementations of a method including the setof functions, the at least one other identifier includes one or more of a component identifier, a system identifier, or a symptom identifier. The component identifier corresponds to a component of the vehicle. The system identifier corresponds to a system of the vehicle. The symptom identifier corresponds to a symptom the vehicle can exhibit. As an example, the at least one identifier can include a first symptom identifier including a first DTC, and a second symptom identifier including a second DTC. As another example, the at least one identifier can include a component identifier, such as an identifier of a coolant temperature sensor, a system identifier, such as an identifier of a powertrain system, and a DTC, such as DTC pertaining to the coolant temperature sensor.

990 In at least some implementations of a method including the setof functions, the request for the corresponding PID value includes a vehicle data message including a particular PID that corresponds to the PID value.

990 In at least some implementations of a method including the setof functions, the computing system includes a display operatively coupled to the display. The computing system includes a dongle operatively coupled to the vehicle and to the display. Transmitting the request for the corresponding PID value includes transmitting, from the display to the dongle, data for the dongle to generate the vehicle data message.

990 In at least some implementations of a method including the setof functions, the computing system includes a computer-readable memory storing an ordered list of PIDs. The PID list includes at least one index value into the ordered list of PIDs.

990 In at least some implementations of a method including the setof functions, the one or more PID topic descriptors include a particular PID topic descriptor for a first PID topic. The response further includes a respective parameter range or expected value for at least some PIDs contained in the PID list. The representation of one or more PIDs includes a condition icon including a first numeral. In some cases, the numeral indicates a quantity of PIDs of the first PID topic for which all parameter values received for a corresponding PID within the first PID topic are within a predefined range or match an expected value for the corresponding PID. In other cases, a quantity of PIDs of the first PID topic for which at least one received parameter value corresponding to a PID within the first PID topic is outside of a predefined range or not matching an expected value for the corresponding PID.

990 In at least some implementations of a method including the setof functions, the one or more PID topics include a first PID topic and a second PID topic. Displaying the graphical user interface includes displaying a first container and a second container. The first container includes a first PID topic descriptor corresponding to the first PID topic. The first container includes one or more first sub-containers, each first sub-container corresponds to a respective first PID that the metadata indicates is associated with the first PID topic, and each first sub-container includes a representation of the respective PID corresponding to the first sub-container. The second container includes a second PID topic descriptor corresponding to the second PID topic. The second container includes one or more second sub-containers, each second sub-container corresponds to a respective second PID that the metadata indicates is associated with the second PID topic, and each second sub-container includes a representation of the respective PID corresponding to the second sub-container.

990 In at least some implementations of a method including the setof functions, the response includes a PID topic file.

In at least some of the implementations described in the preceding paragraph, the PID topic file includes a file arranged as a hyper-text transfer protocol (HTTP) file, an extensible mark-up language (XML) file, or a java script object notation (JSON) file.

990 In at least some implementations of a method including the setof functions, the at least one other identifier corresponds to an internal combustion engine within the vehicle, a component of the internal combustion engine, or a symptom the internal combustion engine or the component of the internal combustion engine can exhibit. The one or more PID topic descriptors include a first PID topic descriptor. The first PID topic descriptor based on metadata corresponding to a group of PIDs associated with a speed of the internal combustion engine.

990 In at least some implementations of a method including the setof functions, the group of PIDs include one or more from among: a PID corresponding to engine revolutions per minute, a PID corresponding to a crankshaft position sensor, a PID corresponding to a camshaft position sensor, or a PID corresponding to an amount of load applied to the internal combustion engine.

990 In at least some implementations of a method including the setof functions, the computing system includes a computer-readable memory storing an ordered list of PID topic descriptors. The metadata includes at least one index value into the ordered list of PID descriptors.

23 FIG.A 23 FIG.B 23 FIG.C 23 FIG.A 23 FIG.B 23 FIG.C 200 200 200 852 859 739 846 860 578 638 673 Next,,, and, in combination, show a PID topic filein accordance with the example implementations. In,, and, the PID topic fileis arranged as an extensible markup language (XML) file. In accordance with the example implementations and as discussed above, a PID topic file, such as the PID topic file, or a PID topic file including the PID topic file portion,,,,,,,, can be arranged in other formats instead of or in additional to an XML file.

200 201 202 201 23 FIG.A 23 FIG.B 23 FIG.C 23 FIG.C The PID topic fileincludes multiple elements that begin with a start tag and end with an end tag. In,, and, the start tags include two angle brackets < > and include an element name in between the angle brackets, such as the element name “pidDataList” within a start tag. The end tag that corresponds to a start tag also include two angle brackets < > and the same element name, but also include a backwards slash “/” after the first angle bracket of the end tag. The end tagincorresponds to the start tag. The alpha-numeric characters within the start and end tags shown in the drawings are examples. Other forms of the start and end tags for an element within a PID topic file are also possible.

200 211 204 205 212 206 207 213 208 209 A PID topic file can include one or more PID topic elements. As an example, the PID topic fileincludes a PID topic elementthat starts with a start tagand ends with an end tag, a PID topic elementthat starts with a start tagand ends with an end tag, and a PID topic elementthat starts with a start tagand ends with an end tag.

200 211 215 212 223 213 232 102 161 295 330 331 332 215 223 232 40 FIG. A PID topic element can include a PID topic name. In the PID topic file(and other PID topic files or portions thereof shown in the drawings), PID topic names are identified within elements that begin with a start tag “<pidTopicName>” and that end with an end tag “</pidTopicName>”. The content between those tags represents a PID topic name. The PID topic elementincludes a PID topic name elementto represent a PID topic name “Engine Coolant Temperature Sensor.” The PID topic elementincludes a PID topic name element. The PID topic elementincludes a PID topic name element. A processor, such as the processor,, can populate a container within a GUI with a PID topic name. As an example, the GUIshown inincludes a PID topic container,,populated with a PID topic name from within the PID topic name element,,, respectively.

200 200 211 244 245 246 287 212 247 248 249 250 251 289 213 252 253 254 255 291 A PID topic element includes one or more PID elements. A PID element can include data indicative of PID, a range corresponding to a PID, and/or an expected value corresponding to a PID. The data corresponding to a PID within the PID topic file(and other PID topic files or portions thereof shown in the drawings) is between a start tag in the form “<pid>” and an end tag in the form “</pid>”. The data corresponding to a diagnostic trouble code within the PID topic file(and other PID topic files or portions thereof shown in the drawings) is between a start tag in the form “<dtc>” and an end tag in the form “</dtc>”. Accordingly, the PID topic elementincludes data corresponding to a PID element,,and a DTC element; the PID topic elementincludes a PID element,,,,, and a DTC element; and the PID topic elementincludes a PID element,,,and a DTC element. Other examples of data within a PID element are also possible.

211 212 213 211 216 242 243 As an example, the data indicative of a PID within the PID topic element, the PID topic element, and the PID topic elementis within a PID key element having alpha-numeric textual data. In particular, the PID topic elementincludes a PID key elementthat includes the textual data “Radiator Coolant Temperature Sensor” between a start tagand an end tag. As another example, a PID topic can include a PID key element having numeric data indicative of a PID. The numeric data can include a hexadecimal number equal to a hexadecimal number a vehicle uses to represent a PID.

200 200 216 219 220 224 225 227 229 231 233 235 237 239 In the PID topic file(and other PID topic files or portions thereof shown in the drawings), the PID key elements include a start tag in the form “<pidKey>” and an end tag in the form “</pidKey>”. Based on that definition, the data indicative of a PID within the PID topic fileincludes a PID key element,,,,,,,,,,,. A person skilled in the art will understand that a start tag and/or an end tag for a PID key element can be arranged in different formats.

244 217 218 217 218 102 161 217 218 102 161 The PID elementincludes a range top elementand a range bottom element. The content between the start and end tags of the range top elementincludes data indicative of a maximum threshold value, whereas the content between the start and end tags of the range bottom elementincludes data indicative of a minimum threshold value. A processor, such as the processor,, can determine whether a PID parameter value is within or outside a range defined by the range top elementand the range bottom element. The processor,can responsively output a condition indicator based on that determination.

246 221 222 221 222 102 161 221 222 102 161 The PID elementincludes a range top elementand a range bottom element. The content between the start and end tags of the range top elementincludes data indicative of a maximum threshold value, whereas the content between the start and end tags of the range bottom elementincludes data indicative of a minimum threshold value. A processor, such as the processor,, can determine whether a PID parameter value is within or outside a range defined by the range top elementand the range bottom element. The processor,can responsively output a condition indicator based on that determination.

248 249 250 252 253 254 255 226 228 230 234 236 238 240 102 161 102 161 The PID element,,,,,,includes an expected value element,,,,,,, respectively. A processor, such as the processor,, can determine whether or not a PID parameter value matches an expected value define by an expected value element. The processor,can responsively output a condition indicator based on that determination.

241 200 200 203 210 In accordance with the example implementations in which a PID topic file is arranged as an XML file, the PID topic file can include a declaration, such as the declarationin the PID topic file. The PID topic filealso includes a PID list name elementand a system elementindicative of a system within a vehicle.

203 100 137 102 203 200 137 203 12 The PID list name elementis indicative of PID list at the computing system. As an example, the PID list can be stored within the vehicle data message database. The processorcan determine the PID list name elementfrom the PID topic fileand then read from within the vehicle data message databasethe PID list, corresponding to the PID list name element, to determine a vehicle data message to be sent to the vehicleto request a PID.

210 861 862 102 210 137 861 861 200 200 100 The system elementincludes a start tagin the form “<vcsSystem>” and an end tagin the form “</vcsSystem>”. The content between those tags represents an identifier of a system within a vehicle. The processorcan use the system elementto locate a PID list within the vehicle data message database. In at least some implementations, a tag, such as the start tag, includes one or more indicators that indicate how to access a PID list. As an example, the start tagincludes the letters “vsc” to indicate that the PID list corresponding to the PID topic fileand the letters “System” to further indicate that the PID list corresponding to the PID topic fileis among PID lists for a particular application on the computing systemand for a particular system on a vehicle.

137 137 Furthermore, in at least some implementations a PID topic file can include additional tags and/or data between tags or otherwise to further indicate to a processor how to locate a PID list that corresponds to a PID topic file. As an example, a PID topic file can include a start tag, such as <vcsVehicle>, and an end tag, such as </vcsVehicle>, and content between those two tags, such as a particular YMME, to further indicate a particular PID list within the vehicle data message database. As yet another example, a PID topic file can include a start tag, such as <vcsComponent>, and an end tag, such as </vcsComponent>, and content between those two tags, such as a particular vehicle component identifier, to further indicate a particular PID list within the vehicle data message database.

287 288 289 290 291 292 As an example, the data corresponding to the DTC elementincludes a DTC identifier elementcorresponding to a DTC that pertains to coolant temperature below thermostat regulating temperature. As another example, the data corresponding to the DTC elementincludes a DTC identifier elementcorresponding to a DTC that pertains to engine coolant temperature sensor circuit low voltage. As yet another example, the data corresponding to the DTC elementincludes a DTC identifier elementcorresponding to a DTC that pertains to fan one control circuit.

211 212 213 211 212 213 None of the PID elements in the PID topic element,,is included in any other of the PID topic element,,. In other implementations, two or more PID topic elements within a PID topic file can include a common PID element.

23 FIG.D 23 FIG.A 23 FIG.D 23 FIG.D 23 FIG.A 852 852 211 852 244 245 246 244 245 246 856 857 858 Next,shows a portion of a PID topic file portion. The portion of a PID topic file portionshows an alternative way to arrange the PID topic element(also shown in). More particularly, the portion of a PID topic file portionshows an alternative way to arrange the PID element,,. As shown in, the PID element,,includes a PID request element,,, respectively. The other aspects shown inare also shown in and described with respect to.

856 102 12 216 The PID request elementincludes an identifier (e.g., a hexadecimal identifier $128C3) that the processorcan use to determine a vehicle data message to send to the vehiclein order to request PID parameter values corresponding to the PID that corresponds to the PID key element.

857 102 12 219 Similarly, the PID request elementincludes an identifier (e.g., a hexadecimal identifier $3D002) that the processorcan use to determine a vehicle data message to send to the vehiclein order to request PID parameter values corresponding to the PID that corresponds to the PID key element.

858 102 12 220 102 856 857 858 851 24 FIG.C Likewise, the PID request elementincludes an identifier (e.g., a hexadecimal identifier $009B3) that the processorcan use to determine a vehicle data message to send to the vehiclein order to request PID parameter values corresponding to the PID that corresponds to the PID key element. The processorcan use the aforementioned identifiers within the PID request element,,to determine a corresponding vehicle data message by referring to a PID list, such as the PID listshown in.

23 FIG.D 23 FIG.A 23 FIG.B 23 FIG.C 24 FIG.C 852 212 213 212 213 247 248 249 250 251 252 253 254 255 818 822 825 827 829 831 833 835 837 In accordance with the implementation shown in, the PID topic file portioncan further include the PID topic element,as shown in,, andexcept that in these implementations the PID topic element,also includes a respective PID request element for the PID element,,,,,,,,. Those PID request elements can include the respective PID request element shown infor the vehicle data message,,,,,,,,.

23 FIG.E 23 FIG.A 23 FIG.E 23 FIG.E 23 FIG.A 859 859 211 859 244 245 246 244 245 246 853 854 855 Next,shows a PID topic file portion. The PID topic file portionshows another alternative way to arrange the PID topic element(also shown in). More particularly, the PID topic file portionshows another alternative way to arrange the PID element,,. As shown in, the PID element,,includes a PID request element,,, respectively. The other aspects shown inare also shown in and described with respect to.

853 102 12 216 854 102 12 219 855 102 12 220 The PID request elementincludes a vehicle data message that the processorcan send to the vehiclein order to request a PID parameter value corresponding to the PID contained within the PID key element. Similarly, the PID request elementincludes a vehicle data message that the processorcan send to the vehiclein order to request a PID parameter value corresponding to the PID contained within the PID key element. Likewise, the PID request elementincludes a vehicle data message that the processorcan send to the vehiclein order to request a PID parameter value corresponding to the PID contained within the PID key element.

102 A benefit of including vehicle data messages in a PID topic file is that the processordoes not need to refer to a local PID list to determine a vehicle data message that corresponds to a PID element within the PID topic file.

24 FIG.A 24 FIG.B 24 FIG.C 37 FIG. 849 850 851 849 850 851 137 177 102 849 850 851 185 102 102 Next,,, andshow a PID list,,, respectively. The PID list,,can be contained within the vehicle data message database,. The processorcan read the PID list,,after receiving a PID topic file and determining that the PID topic file corresponds to a selected vehicle, such as a vehicle selected using a GUIshown in. In at least some implementations, the processorcan translate certain data (other than a vehicle data message) within a PID topic file into a vehicle data message. In accordance with those implementations, with the processorbeing operable to perform such translation, the PID topic file need not include the vehicle date message.

849 850 851 796 796 796 796 796 The PID list,,includes a vehicle identifier. The vehicle identifiercan include one vehicle identifier or multiple different vehicle identifiers. For example, the vehicle identifiercan include two different vehicle identifiers representing different model years of the same vehicle make, model and engine. As another example, the vehicle identifiercan include two different engine identifiers yet the same vehicle year, make, model. Other examples of where the vehicle identifierincludes multiple different vehicle identifiers where one or more of the year, make, model or engine identifiers are different are also possible. A vehicle identifier in a PID list can include an identifier other than a YMME identifier, such as a YMM identifier.

849 850 851 796 137 177 796 200 137 177 796 102 The PID list,,corresponds to the vehicles identified by the vehicle identifier. The vehicle data message database,can include one or more other PID lists that include the vehicle identifier. Those one or more other PID lists pertain to a PID topic file other than the PID topic file. The vehicle data message database,can also include one or more other PID lists that correspond to vehicles that are associated with a vehicle identifier different than the vehicle identifier. The processorcan read those other PID lists to determine a PID list that includes a vehicle identifier that matches a vehicle identifier in a different PID topic file.

849 850 851 838 102 849 850 851 200 852 859 838 203 200 852 859 The PID list,,includes a PID list identifier. The processorcan determine that the PID list,,corresponds to the PID topic fileor to a PID topic file including the PID topic file portion,, respectively, at least in part, by determining that the PID list identifiermatches the PID list name elementin the PID topic fileor to a PID topic file including the PID topic file portion,, respectively.

200 102 849 850 200 102 200 849 200 849 200 102 808 244 216 807 849 Since the PID topic filedoes not include numeric (e.g., hexadecimal) request identifiers nor vehicle data messages, the processorcan refer to the PID list,to determine a vehicle data message corresponding to each PID in the PID topic file. The processorcan translate the textual data within a PID topic element of the PID topic fileto a vehicle data message within the PID listbased on that textual data within a PID topic element of the PID topic filematching a PID textual identifier within the PID list. For example, upon receiving the PID topic file, the processorcan determine that the vehicle data messageis to be sent to request PID parameter values for populating a container corresponding to the PID elementbecause the textual data of the PID key elementmatches the PID textual identifierwithin the PID list.

852 102 851 852 852 859 859 102 859 23 FIG.D 23 FIG.E Since the PID topic file portion(shown in) includes numeric (e.g., hexadecimal) request identifiers without including a corresponding vehicle data message, the processorcan refer to the PID listto determine a vehicle data message corresponding to each PID element in the PID topic file portionbased on the numeric request identifiers contained in the PID topic file portion. Since the PID topic file portion(shown in) includes the vehicle data message to be transmitted to request each PID parameter for a PID in the PID topic file portion, the processorneed not refer to a VDM database to determine a vehicle data message corresponding to each PID in the PID topic file portion.

24 FIG.A 849 797 798 799 215 223 232 200 849 839 797 840 798 841 799 Returning to, the PID listincludes a PID topic name,,that corresponds to the PID topic name element,,in the PID topic file. The PID listcan be arranged to have a setof PID textual identifiers and vehicle data messages that correspond to the PID topic name, a setof PID textual identifiers and vehicle data messages that correspond to the PID topic name, and a setof PID textual identifiers and vehicle data messages that correspond to the PID topic name.

839 807 809 812 216 219 220 839 808 810 814 807 809 812 216 219 220 102 216 219 220 808 810 814 808 810 814 807 809 812 The setincludes a PID textual identifier,,that corresponds to the PID key element,,, respectively. The setalso includes a vehicle data message,,that corresponds to the PID textual identifier,,, respectively, and in turn, to PID key element,,, respectively. The processorcan populate a container corresponding to the PID key element,,with a PID parameter value received in response to sending the vehicle data message,,, respectively. In at least some implementations, the fifth hexadecimal number from the left in the vehicle data message,,is a numeric representation of the PID textual identifier,,, respectively.

840 816 820 824 826 828 224 225 227 229 233 840 818 822 825 827 829 816 820 824 826 828 224 225 227 229 233 102 224 225 227 229 233 818 822 825 827 829 818 822 825 827 829 816 820 824 826 828 The setincludes a PID textual identifier,,,,that corresponds to the PID key element,,,,, respectively. The setalso includes a vehicle data message,,,,that corresponds to the PID textual identifier,,,,, respectively, and in turn, to PID key element,,,,, respectively. The processorcan populate a container corresponding to the PID key element,,,,with a PID parameter value received in response to sending the vehicle data message,,,,, respectively. In at least some implementations, the fifth hexadecimal number from the left in the vehicle data message,,,,is a numeric representation of the PID textual identifier,,,,, respectively.

841 830 832 834 836 233 235 237 239 841 831 833 835 837 830 832 834 836 233 235 237 239 102 233 235 237 239 831 833 835 837 831 833 835 837 830 832 834 836 The setincludes a PID textual identifier,,,that corresponds to the PID key element,,,, respectively. The setalso includes a vehicle data message,,,that corresponds to the PID textual identifier,,,, respectively, and in turn, to PID key element,,,, respectively. The processorcan populate a container corresponding to the PID key element,,,with a PID parameter value received in response to sending the vehicle data message,,,, respectively. In at least some implementations, the fifth hexadecimal number from the left in the vehicle data message,,,is a numeric representation of the PID textual identifier,,,, respectively.

137 160 100 12 By storing vehicle data messages corresponding to PIDs contained in a PID topic file within the vehicle data message database, the serverdoes not need to send to the computing systemthe vehicle data messages that are to be sent to the vehiclein order to request PID parameter values to populate containers in a GUI corresponding to the PID topic file.

24 FIG.B 23 FIG.A 23 FIG.B 23 FIG.C 850 808 810 814 818 822 825 827 829 831 833 835 837 216 219 220 224 225 227 229 231 233 235 237 239 200 102 200 850 200 102 850 200 808 810 814 818 822 825 827 829 831 833 835 837 200 Returning to, the PID listalso includes the vehicle data message,,,,,,,,,,,in an order corresponding to an order of the PID key element,,,,,,,,,,,, respectively, as shown in,, and. After receiving the PID topic file(e.g., a PID topic file without a vehicle data message or a PID request element for each PID element), the processorcan populate containers with PID descriptors indicated by PID key elements within the PID topic fileand with a PID parameter value received in response to transmitting a vehicle data message in the PID listthat corresponds to a respective PID key element within the PID topic file. The processorcan populate those containers with PID descriptor and with PID parameter values received in response to transmitting a vehicle data message in the PID listthat corresponds to each respective PID key element within the PID topic filebased on an order of the vehicle data message,,,,,,,,,,,and on an order of the PID key elements within the PID topic file.

24 FIG.C 23 FIG.D 851 865 866 867 868 869 870 871 872 873 874 875 876 808 810 814 818 822 825 827 829 831 833 835 837 865 863 864 856 852 102 852 851 852 Returning to, the PID listalso includes vehicle data message elements,,,,,,,,,,,including the vehicle data message,,,,,,,,,,,, respectively, and, for each of those messages, a start tag and an end including a respective PID request element. As an example, the vehicle data message elementincludes a start tagand an end tagthat include and correspond to the PID request elementshown in. After receiving a PID topic file arranged like a PID topic file including the PID topic file portion, the processorcan populate containers with PID descriptors indicated by PID key elements within the PID topic file including the PID topic file portionand with a PID parameter values received in response to transmitting a vehicle data message in the PID listthat corresponds to a respective PID key element within the PID topic file including the PID topic file portion.

102 102 808 102 12 102 197 455 24 FIG.A 24 FIG.B 24 FIG.C 41 FIG. After receiving a vehicle data message that includes a PID and a PID parameter value, the processorcan parse the vehicle data message to recover the PID and the PID parameter value. The processorcan convert the PID parameter value to a form for displaying in a container corresponding to the PID. As an example, in response to sending the vehicle data message(shown in,, and), the processorcan receive the following vehicle data message from the vehicle: $07 $DF $03 $41 $E1 $C5 $00 $00 $00 $00. The fourth byte in that vehicle data message indicates the vehicle data message is a response to a request for a current parameter value, the fifth byte is the PID (also referred to textually as the radiator coolant temperature sensor in the drawings) and the sixth byte is the PID parameter value. As an example, the processorcan convert the hexadecimal value C5 into the decimal valueand display in a sub-container(shown in) that pertains to the radiator coolant temperature sensor. That decimal number represents a temperature parameter value in degrees Fahrenheit.

25 FIG.A 26 FIG. 34 FIG. 25 FIG.A 34 FIG. 25 FIG.A 739 739 296 739 Next,shows a PID topic file portionin accordance with the example implementations. The PID topic file portioncorresponds to a GUIshown into. In particular,is provided to show aspects pertaining to supplemental information and USC shown in. A PID topic file including PID topic file portionincludes elements not shown in, some of which are discussed below.

25 FIG.A 23 FIG.A 23 FIG.C 739 739 200 200 739 739 241 210 In, the PID topic file portionis arranged to be within an XML file. The content of the PID topic file portioncan be contained in a different type of file. Examples of these other types of files are discussed above with respect to the PID topic file. Similar to the PID topic file, the PID topic file portionincludes multiple elements that begin with a start tag and end with an end tag. The PID topic file portioncan include a declaration (similar to the declarationshown inor otherwise) and/or a system element indicative of a system within a vehicle (similar to the system elementshown inor otherwise).

739 740 741 739 742 743 742 743 316 317 739 318 470 471 472 473 26 FIG. 25 FIG.A 26 FIG. 30 FIG. The PID topic file portionincludes a PID data list element that starts with a start tag, and a PID list name element. The PID topic file portionincludes a PID topic element,. The PID topic element,correspond to a PID topic container,(shown in), respectively. A file including the PID topic file portionalso includes and a PID topic element named “Fuel Trim” (not shown in). The PID topic element named “Fuel Trim” corresponds to a PID topic containershown inand includes a PID element for each of the sub-container,,,shown in.

742 744 319 761 383 384 385 386 739 26 FIG. 25 FIG.A 30 FIG. 23 FIG.A 23 FIG.C The PID topic elementincludes a PID topic name elementthat corresponds to the PID topic descriptorshown in. The three dotsshown inrepresent PID elements corresponding to the PID descriptor,,,shown in. Each of those PID elements in the PID topic file portioncan begin with a start tag <pid>, end with an end tag </pid> and include a PID key element including a start tag <pidKey> and an end tag </pidKey>, and elements to specify a range, condition or expected value corresponding to a PID. Examples of how to specify those elements are shown into.

743 745 320 743 746 747 748 749 336 337 338 339 743 743 26 FIG. 34 FIG. 23 FIG.A 23 FIG.C The PID topic elementincludes a PID topic name elementthat corresponds to the PID topic descriptorshown in. The PID topic elementincludes a PID element,,,corresponding to the PID descriptor,,,shown in. Each of those PID elements in the PID topic elementbegin with a start tag <pid>, end with an end tag </pid> and include a PID key element including a start tag <pidKey> and an end tag </pidKey>. Each of the PID elements in the PID topic elementcan include elements to specify a range, condition or expected value corresponding to a PID. Examples of how to specify those elements are shown into.

25 FIG.A 28 FIG. 29 FIG. 31 FIG. 33 FIG. 200 739 750 751 752 102 161 296 750 735 317 also shows multiple element types that are not shown in the PID topic file. In particular, the PID topic file portionincludes a call supplemental information elementbetween a start tagand an end tag. The processor,can cause the GUIto display supplemental information and USCs corresponding to the call supplemental information element. That supplemental information and USCs can be requested and/or displayed in response to selection of a container resizing USCshown in the PID topic containershown in,andto.

750 753 754 755 756 757 758 317 735 753 754 755 400 402 403 756 757 401 34 FIG. 34 FIG. The call supplemental information elementincludes a call information element,,,,, and a call scanner functions element. These elements correspond to additional containers that are displayed in the PID topic containerin response to selection of the container resizing USC. An example of those additional containers is shown in. The call information element,,corresponds to sub-containers,,, respectively, shown in. The call information element,corresponds to the sub-container.

753 754 755 756 162 757 162 401 401 An element within a call supplemental information element can include an identifier of a source of information (e.g., supplemental information or a USC identifier). In some implementation, the source of information can be implied (e.g., a default source of information). In those or in other implementations, the source of information can be specified in a start tag and/or end tag, or between a start tag and end tag. The identifier of the source of information can include a uniform resource locator, an internet protocol address, or some other type of identifier. As an example, a start tag for the call information element,,,can indicate a first, default source of information (e.g., a first memory of the memoryor a first uniform resource indicator), and a start tag for the call information elementcan indicate a second source of information (e.g., a second memory of the memoryor a second uniform resource indicator). One reason that multiple call information elements might be specified for retrieving information to populate a container or containers with supplemental information is that multiple sources that contain that supplemental information use different search terms to locate the supplemental information. As an example, the first memory can use the term “technical service bulletins” to classify supplemental information for the sub-container, whereas the second memory can use the term ‘technical alerts” to classify supplemental information for the sub-container.

755 745 A call information element for requesting information from the second source may include identifiers that are different than identifiers for other elements in a PID topic file. For example, the call information elementfor component description can be “Air Flow Sensor” whereas the component identified by the PID topic name elementis “Mass Air Flow Sensor.”

753 880 400 754 881 402 755 882 403 756 757 883 401 758 884 885 886 887 404 25 FIG.C 34 FIG. 25 FIG.C 34 FIG. 25 FIG.C 34 FIG. 25 FIG.C 34 FIG. 25 FIG.C 34 FIG. The call information elementcorresponds to a container elementshown inand the sub-containershown in. The call information elementcorresponds to a container elementshown inand the sub-containershown in. The call information elementcorresponds to a container elementshown inand the sub-containershown in. The call information element,corresponds to a container elementshown inand the sub-containershown in. The call scanner functions elementcorresponds to a scanner function element,,,shown inand the sub-containershown in.

25 FIG.B 26 FIG. 34 FIG. 25 FIG.A 25 FIG.B 34 FIG. 25 FIG.A 846 846 296 846 Next,shows aspects of a PID topic file portionin accordance with the example implementations. The PID topic file portioncorresponds to a GUIshown into. Like,is provided to show aspects pertaining to supplemental information and USC shown in. A PID topic file including PID topic file portionincludes elements not shown in, some of which are discussed below.

846 739 846 848 743 743 750 848 847 25 FIG.A Some of the content of the PID topic file portionis identical to content in the PID topic file portion. The PID topic file portion, however, includes a PID topic elementthat has some content that is similar and some content that is different than the content of the PID topic elementshown in. Unlike the PID topic elementthat includes the call supplemental information element, the PID topic elementincludes the call supplemental information element.

25 FIG.B 847 845 845 842 888 889 890 843 844 845 As shown in, the call supplemental information elementincludes a set of search criteria elements. A set of search criteria elements can include one or more search term elements. As an example, the set of search criteria elementscan include one or more from among: a vehicle search term element, a component search term element, a symptom search term element,, a PID data list search term element, or a PID topic search term element. Other examples of a search term element for the set of search criteria elementsare also possible.

735 102 160 735 845 320 317 160 160 400 401 402 403 404 In at least some implementations, in response to a selection of the container resizing USC, the processorcan transmit to the servera request containing search criteria corresponding to the PID topic that corresponds to the PID topic container that includes the selected container resizing USC. In accordance with the implementations shown in the drawings, the set of search criteria elementscorresponds to the PID topic corresponding to the PID topic descriptorand the PID topic container. A benefit of including the search criteria in the request to the serveris that the servercan tailor a response to the request based on the search criteria rather than limiting the search to content for a predetermined set of sub-containers, such as a set of sub-containers including the sub-container,,,,.

25 FIG.C 26 FIG. 34 FIG. 25 FIG.C 34 FIG. 860 860 100 860 296 Next,shows a PID topic file portionin accordance with the example implementations. The PID topic file portionrepresents an example of how supplemental information and USC information can be provided to the computing systemto output a GUI including the supplemental information and further USC. The PID topic file portioncorresponds to the GUIshown into. In particular,is provided to show aspects pertaining to supplemental information and USC shown in.

25 FIG.C 860 860 200 200 860 In, the PID topic file portionis arranged as an XML file. The content of the PID topic file portioncan be contained in different types of files, such as a different file type discussed with respect to the PID topic file. Similar to the PID topic file, the PID topic file portionincludes multiple elements that begin with a start tag and end with an end tag.

860 739 740 741 742 743 745 746 747 748 749 25 FIG.A The PID topic file portionand the PID topic file portion(shown in) include several elements in common. Those common elements include the start tag, the PID list name element, the PID topic element,the PID topic name element, and the PID element,,,. The common elements were described in more detail above.

860 739 743 860 877 750 877 878 879 880 881 882 883 884 885 886 887 The PID topic file portiondiffers from the PID topic file portionin that the PID topic elementwithin the PID topic file portionincludes a supplemental information response elementinstead of the supplemental information element. The supplemental information response elementincludes a start tagand an end tag, a container element,,,, and the scanner function element,,,.

880 160 400 880 34 FIG. A container element can include data for populating within a container and/or a reference to data to populate within the container. As an example, the container elementincludes can include data that refers to a file pertaining to “top repairs.” That data can include a file name of a file that the computing device can obtain from the serveror another source where the file is stored. In some implementations, a file referenced in a container element is transmitted to the computing system along with the PID topic file including the container element. A sub-containershown incan be populated based on the container element.

881 160 402 881 34 FIG. As another example, the container elementincludes can include data that refers to a file pertaining to “connector view.” That data can include a file name of a file that the computing device can obtain from the serveror another source where the file is stored. A sub-containershown incan be populated based on the container element.

882 160 403 882 34 FIG. As another example, the container elementincludes can include data that refers to a file pertaining to “component description.” That data can include a file name of a file that the computing device can obtain from the serveror another source where the file is stored. A sub-containershown incan be populated based on the container element.

883 160 401 883 34 FIG. As another example, the container elementincludes can include data that refers to a file pertaining to “technical service bulletins.” That data can include a file name of a file that the computing device can obtain from the serveror another source where the file is stored. A sub-containershown incan be populated based on the container element.

762 884 762 405 884 884 884 762 34 FIG. A scan function element can include data and/or a reference to data for populating within a container or a USC. The reference to data can refer to a scan tool function stored in the scanner functions. As an example, the scanner function elementcan include data indicative of a functional test stored in the scanner functionsand data indicating the functional test pertains to a particular functional test (e.g., a throttle position functional test). In some implementations, that data can be used to populate a USC, such as the USCshown in. In some implementations, the data referring to a particular functional test can include a software pointer and/or memory address of a software module for performing the functional test specified by the scanner function element. Additionally, or alternatively, the scanner function elementcan include data needed to generate a vehicle data message to request performance of the functional test that corresponds to the functional test indicated by the scanner function elementwithout having to refer to the scanner functions.

885 762 406 885 34 FIG. As another example, the scanner function elementcan include data indicative of a reset procedure stored in the scanner functionsand data indicating the reset procedure pertains to a particular reset procedure (e.g., a MAF sensor reset procedure). In some implementations, that data can be used to populate a USC, such as the USCshown in. In some implementations, the data referring to a particular reset procedure can include a software pointer and/or memory address of a software module for performing the reset procedure specified by the scanner function element.

886 762 737 34 FIG. As another example, the scanner function elementcan include data indicative of a guided component test stored in the scanner functionsand data indicating the guide component test pertains to a particular guided component test (e.g., a MAF sensor-DC voltage test). In some implementations, that data can be used to populate a USC, such as the USCshown in.

887 762 738 886 887 34 FIG. As another example, the scanner function elementcan include data indicative of a guided component test stored in the scanner functionsand data indicating the guide component test pertains to a particular guided component test (e.g., a MAF sensor-out of range no signal test). In some implementations, that data can be used to populate a USC, such as the USCshown in. In some implementations, the data referring to a particular guided component test can include a software pointer and/or memory address of a software module for performing the guided component test specified by the scanner function element,.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 122 122 379 380 381 382 379 380 381 382 379 380 381 382 Next,to,to,,,, andshow one or more views of graphical user interfaces (GUIs) displayed on the display. The displayin those figures is shown to have a side,,,. As an example, the sidecan be referred to as a top side, the sidecan be referred to as a bottom side, the sidecan be referred to as a left side, and the sidecan be referred to as a right side. The sideand the sideare opposite each other. Similarly, the sideand the sideare opposite each other.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. One or more of the GUIs shown into,to,,,, andcan include a natural user interface (NUI) that includes one or more user interface elements that operate, in combination with another user interface component and a processor, using voice recognition, motion detection, gesture detection, and/or aural outputs. Additionally, or alternatively, one or more of the GUIs shown in the figures can include a graphical user interface (GUI).

102 122 122 102 120 120 122 161 26 100 26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. In one respect, the processoris operable to output a GUI, such as a GUI shown into,to,,,, and, to the display. The displayis operable to display a GUI, such as a GUI shown into,to,, and. A GUI, such as a GUI shown into,to,,,, and, can include a USC. The processoris operable to detect selection of a USC and to cause one or more functions to be performed in response to determining the USC has been selected. Selection of a USC can occur using the input device. For instance, a USC can be selected using a push button key of the input deviceor by touching the displayconfigured as a touch screen display. In another respect, the processoris operable to output a GUI, such as a GUI shown into,to,,,, and, to the communication linkfor transmission in turn to a computing system, such as the computing system.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 313 313 100 313 In accordance with the example implementations, a GUI such as a GUI shown into,to,,,, andcan include a GUI description. The GUI descriptioncan include an indication of a theme of a GUI. In at least some implementations, a theme of a GUI indicates an operating mode of the computing system. Examples of a GUI theme are described in the discussion of the individual GUIs shown in the drawings. Other examples of the GUI descriptionfor any GUI shown into,to,,,, andcan be used.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 26 FIG. 35 FIG. 37 FIG. 42 FIG. 45 FIG. 54 FIG. 53 FIG. 49 49 12 In accordance with the example implementations, a GUI such as a GUI shown into,to,, andcan include an operating state identifier. The operating state identifiershown in the GUI shown into,to,, andindicates a first operating state (e.g., operating state #1), andindicates a second operating state (e.g., operating state #2). As an example, the operating state #1 can be an operating state in which an engine of the vehicleis idling at operating temperature with no load present. As an example, the operating state #2 can be an operating state in which the vehicle is operating at a posted highway speed above forty miles per hour. Other examples of operating states associated with a PID topic file are also possible.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 35 FIG. 37 FIG. 26 FIG. 34 FIG. 38 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 333 333 100 333 100 In accordance with the example implementations, a GUI such as a GUI shown into,to,,,, andcan include a vehicle identifier. As shown inand, a vehicle identifieruses the text “No Active Vehicle” to indicate that neither a vehicle identifier nor a particular vehicle has been selected. Other text or symbols could be used to make the same indication. As shown into,to,,,, and, the vehicle identifierindicates a vehicle identifier (corresponding to a vehicle selected for servicing using the computing system) by the term Y/M/M/E, which is described in detail in Section VI of this description. In at least some implementations, the vehicle identifiercan indicate a particular vehicle of the type of vehicle selected for servicing using the computing system.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 334 100 334 106 334 106 In accordance with the example implementations, a GUI such as a GUI shown into,to,,,, andcan include an indicatorto indicate a hardware status pertaining to the computing system. As an example, the indicatorcan indicate whether or not the transceiveris connected to a wireless communication network, such as a wireless vehicle network or a wireless non-vehicle network. As another example, the indicatorcan indicate whether or not the transceiveris connected to a wired communication network, such as a wired vehicle network or a wired non-vehicle network.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 314 314 102 122 314 314 314 The GUIs shown withinto,to,,,, andinclude some common GUI USCs. Those common USCs include a back USC. In response to determining that the back USCis selected, the processorcan cause the displayto display a GUI that was displayed immediately prior to displaying the GUI which contained the back USCthat was selected. The back USCcan include an indicator indicative of the function performed upon and/or in response to selection of the back USC. As an example, the indicator can include text, such as “Back” or “Exit”, and/or a symbol such as an arrow.

315 315 102 122 315 The common GUI USCs also include a home-screen USC. In response to determining that the home-screen USCis selected, the processorcan cause the displayto display a home-screen GUI instead of displaying the GUI which contained the home-screen USCthat was selected.

26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 26 FIG. 35 FIG. 37 FIG. 45 FIG. 53 FIG. 54 FIG. 57 FIG. 58 FIG. 347 102 347 122 347 In accordance with the example implementations, a GUI such as a GUI shown into,to,,,, andcan include a cursormovable to point to a USC or another item of the GUI. The processorcan detect the USC or the other item of the GUI is selected when the cursoris disposed on or in proximity to the USC or the other item of the GUI. For implementations in which the displayincludes a touch screen display, a selectable aspect (such as a USC) in the GUIs shown into,to,,,, andcan be selected using the touch screen display regardless of whether the cursoris provided on the GUI.

296 296 316 317 318 316 317 318 316 319 322 325 482 317 320 323 499 445 318 321 324 327 26 FIG. 34 FIG. 26 FIG. 34 FIG. The views of the GUIshown intoshow different views of intelligent diagnostics data. The GUIincludes a PID topic container,,. One or more of the PID topic container,,is shown in each ofto. The PID topic containerincludes a PID topic descriptor, a container resizing USC, and a condition iconthat includes an unshaded geometric shape. The PID topic containerincludes a PID topic descriptor, a container resizing USC, and a condition iconthat includes an unshaded geometric shape. The PID topic containerincludes a PID topic descriptor, a container resizing USC, and a condition icon.

A PID topic descriptor describes a context corresponding to a PID topic element within a PID topic and/or a PID topic file. As an example, the context of a PID topic element can be a component, a system, a service procedure, a symptom (e.g., a DTC), an automated vehicle adjustment, a fluid status, an indirect module calculation, or revision data. As an example, an indirect module calculation can be based on one or more sensor inputs received by an ECU over time. For instances, an indirection module calculation such as “misfire counts” can be based on sensor inputs received over a period of time greater that it takes to sample a signal one time to obtain a single input value from a sensor. Other examples of indirect module calculations include “smooth running engine” calculation, a fuel range calculation, a used-oil life or a remaining oil life value. Component concepts for a PID topic can be based on an indirect module calculation and sensor signals used to make the indirect module calculation.

12 A PID topic pertaining to an automated vehicle adjustment can include a PID topic pertaining to a fuel trim adjustment. The fuel trim adjustment is performed by a powertrain ECU within the vehicle. A PID topic pertaining to fuel trim adjustment can include PID elements corresponding to a long-term fuel trim parameter value and a to a short-term fuel trim parameter value. Another example of a PID topic based on an automated vehicle adjustment is passenger compartment temperature. This PID topic can include a PID topic file with PID identifiers corresponding to HVAC controls, an air conditioning system, and a body control system. The vehicle's ability or inability to establish a steady temperature in the passenger compartment equal to a requested temperature setting can be diagnosed, at least in part, on parameter values for PIDs defined for the PID topic.

12 A PID topic pertaining to fluid status can be used to indicate conditions of fluids in the vehicle. As an example, a fluid condition can indicate whether a fluid level, such as a level of engine oil, transmission fluid, or engine coolant is below an acceptable range, within an acceptable range, or above an acceptable range. As another example, a fluid condition can indicate whether a fluid pressure, such as an engine oil pressure, a transmission fluid pressure, or an air pressure in a tire is below an acceptable range, within an acceptable range, or above an acceptable range. As yet another example, a fluid condition can indicate a fluid quality condition, such as a fluid quality condition indicated by an output of an oil sensor. As still yet another example, a fluid condition can indicate a fluid life, such as remaining engine oil life.

A PID topic pertaining to revision data can include PID elements pertaining to calibration identifiers corresponding to a calibration program or data programmed within an ECU. In at least some implementations, the revision data can include verification numbers along with the calibration identifiers. As another example, the revision data can include identifiers of a hardware version of an ECU and/or identifiers of non-calibration software programmed into an ECU.

325 499 327 325 499 327 A condition icon within a container can represent various aspects regarding PIDs that correspond to the container containing that condition icon. As an example, each of the condition icon,,includes a numeral indicating a quantity of PIDs. As another example, each of the condition icon,,includes a geometric shape representing whether the numeral indicates a quantity of PIDs that correspond to a parameter range or expected value defined for the PID topic. In the figures, a rectangular condition icon indicates that the numeral corresponds to a quantity of PIDs corresponding to a parameter range or an expected value, whereas a circular condition icon indicates that the numeral corresponds to a quantity of PIDs that do not correspond to a parameter range or an expected value defined for the PID topic. As yet another example, a shaded geometric shape within the condition icon can indicate that the numeral within the geometric shape represents a quantity of PIDs that correspond to received parameters outside of a predefined range or not matching an expected value for the PID corresponding to the parameters. In contrast, an unshaded geometric shape within the condition icon can indicate that the numeral within the geometric shape represents a quantity of PIDs for which all of the received parameters corresponding to the PIDs are within a predefined range or match an expected value for the PID corresponding to the parameters. In other words, none of the received parameters for the quantity of PIDs indicated by the numeral within the unshaded geometric shape within the condition icon is outside of a corresponding predefined range or an unexpected value. A condition icon can be contained within a USC for removing and/or adding sub-containers within a GUI including a PID topic including those sub-containers.

In accordance with at least some example implementations, a container resizing USC has a setting represented by a “+” symbol in the drawings that indicates a size of the PID topic will increase if the container resizing USC is selected, and a setting represented by a “−” in the drawings that indicates a size of the PID topic well decrease if the container resizing USC is selected.

102 122 In response to selection of a container resizing USC including the “+” symbol or some other indicator that indicates selection of the container resizing USC will result in increasing a size of the container, the processorcan increase a size of the container and move (e.g., downward) a container below the increased sized container or remove the container below the increased sized container from the display.

102 122 In response to selection of a container resizing USC including the “−” symbol or some other indicator that indicates selection of the container resizing USC will result in decreasing a size of the container, the processorcan decrease a size of the container and move (e.g., upward) a container below the decreased sized container or add a container below the decreased sized container onto the display.

102 160 100 102 A GUI including two or more PID topics can display those PID topics according to a particular order. The processorcan initially output the PID topics according to a default order. In at least some implementations, the serverprovides the GUI to the computing systemarranged for displaying the PID topics according to the default order. The processorcan determine a different order for displaying the PID topics in the GUI and modify the GUI so that the PID topics are displayed according to the different order.

In accordance with at least some implementations, a criterion for modifying a GUI to show PID topics in a different order is a quantity of PID topics corresponding to received parameters outside of a predetermined parameter range or not matching an expected value.

26 FIG. 316 317 318 379 380 381 382 382 381 As shown in, the PID topic container, the PID topic container, and the PID topic containerare arranged in a particular order in a direction from the sidetowards the side. In an alternative implementation, the direction for the particular order is from the sidetowards the sideor from the sidetowards the side. In yet another alternative implementation, multiple PID topic containers can be arranged in a list view of multiple columns of multiple PID topic containers or a list view of multiple rows of multiple PID topic containers.

139 139 Table J through Table Y includes example data that can be stored as part of the PID topic file. Table J, as well as Table K, Table N, Table O, Table Q, Table S, and Table W, show example data for GUIs that include three containers. The PID topic filecan include data for GUIs having a different number of containers, such as one, two, four, five, six, seven or some other quantity of containers. The data could include the same types of data shown in the first row of Table J. A description of those types of data follows hereafter.

319 320 321 Table J, as well as Table K, Table N, Table O, Table Q, Table S, and Table W include order data for the containers including the PID topic descriptor,,, data indicating a number of PIDs corresponding to each PID topic element, data indicating a quantity of PIDs corresponding to a parameter range or expected range, data indicating a quantity of PIDs corresponding to received parameters outside of the parameter range or not matching an expected value, data indicating a position of each container or some portion thereof, data indicating a size of each container, and data indicating a status of a container resizing USC.

122 122 381 379 Various parameters can be used to define a container size or container position. As an example, a container size can be specified using quantities of pixel columns and rows. For example, a container size can be specified as 1,900 pixel columns and 100 pixel rows. As another example, a container size can be specified using percentages. For example, a container size can be specified to have a width of 95% of the displayand a height of 13 and ⅓% of the display. In some implementations, a container size specified using a quantity of pixel columns and rows or using percentages can be associated with a display position, such as an upper left corner position. The display position can be specified in various ways, such as a pixel coordinate (e.g., pixel coordinate 50, 200) or a display percentage (e.g., 2.5% from the sideand 10% from the side).

26 FIG. 441 442 443 444 122 441 442 443 444 122 441 442 443 444 122 122 441 442 443 444 122 122 shows a corner position,,,of the display. In at least some implementations, the corner position,,,represents a pixel coordinate of the display. For the purpose of describing the use of the corner position,,,, it is assumed that the displayis arranged as a 2000×1500 pixel display. In accordance with this example, the display, while held in a landscape orientation, has 2000 columns of pixels and 1500 rows of pixels. The corner positioncan therefore correspond to a pixel coordinate 0, 0, the corner positioncan correspond to a pixel coordinate 0, 1500, the corner positioncan correspond to a pixel coordinate 2000, 0, and the corner positioncan correspond to a pixel coordinate 2000, 1500. A person skilled in the art will understand that the displayin the example implementations can have a different number of pixel columns and pixel rows than the example listed above. That person will also understand that the displaymay not include any corner position.

441 442 443 444 122 122 The position data in Table J and Table N through Table Y includes example position data based on the example 2000×1500 pixel display and the aforementioned examples of the corner position,,,. The size data in Table J and Table N through Table Y includes example size data based on the displaybeing in the landscape orientation and based on a quantity of pixels of the display.

139 102 100 122 In at least some implementations, the PID topic filecan include data for one or more different default display arrangements of containers for displaying a respective number of PID topics. The processorcan populate a GUI based on the number of PID topics contained in a PID topic file received at the computing systemand on a display arrangement corresponding to that same number of PID topics. The default display arrangements can be created based on a particular size of the display, especially when the display arrangements are based on quantities of pixel columns and rows.

139 102 100 122 In at least some implementations, the PID topic filecan include data for one or more different default display arrangements of sub-containers for displaying data regarding a respective number of PIDs within a parent container containing those sub-containers. The processorcan populate a GUI based on the number of PIDs corresponding to a container for a PID topic file received at the computing systemand on a display arrangement corresponding to that same number of PIDs. The default display arrangements of sub-containers can be created based on a particular size of the display, especially when the display arrangements are based on quantities of pixel columns and rows.

102 161 The data for the default display arrangement of containers corresponding to PID topics can be used by the processor,under circumstances in which none of the PID parameter values (corresponding to PID elements defined for a PID topic file) that correspond to a predefined range are out of range and all of the PID parameter values (corresponding to PID elements defined for a PID topic file) that correspond to an expected value match the expected value. Table J and Table K show that none of the parameters are out of range and none of parameters are unexpected values as the fifth column includes a zero for each PID topic descriptor. The position and size data shown in Table J is specified with respect to pixels can be part of a display arrangement of containers corresponding to PID topic file that includes three PID topics. The position and size data shown in Table K is specified with respect to percentages of the display can be part of a display arrangement of containers corresponding to PID topic file that includes three PID topics.

TABLE J PIDs w/ Out of range Range parameter Size PID No. or values or Position (pixel Container Topic of expected unexpected (pixel columns × resizing Order Descriptor PIDs value value coordinates) pixel rows) USC 1 319 4 4 0 50/250 1900 × 100 + 2 320 4 4 0 50/350 1900 × 100 + 3 321 4 0 0 50/450 1900 × 100 +

TABLE K PIDs w/ Out of range Range parameter PID or values or Container Topic No. of expected unexpected Position Size resizing Order Descriptor PIDs value value (%) (%) USC 1 319 4 4 0 2.5/16 ⅔ 95 × 6 ⅔ + 2 320 4 4 0 2.5/23⅓ 95 × 6 ⅔ + 3 321 4 0 0 2.5/30 95 × 6 ⅔ +

296 296 322 323 324 316 317 318 26 FIG. 33 FIG. The views of the GUIshown intoare alternative views of the GUIafter and/or before use of one or more of the container resizing USC,,, and after some number of parameter values corresponding to parameter-identifies corresponding to the PID topic container,,have been determined to be outside of a range for a PID or have been determined to not match some expected value for a PID.

296 119 121 123 125 119 121 123 125 119 121 123 125 119 121 123 125 119 121 123 125 119 121 123 125 In accordance with at least some implementations, the GUIcan include a USC,,,. Some of the figures showing containers do not show the USC,,,for clarity of the figures, but the GUI shown in those figures can include the USC,,,. Each of the USC,,,includes an on position and an off position. In the figures, cross-hatching lines are used within the USC,,,to indicate that the on position or off position of the USC,,,is selected.

119 102 161 119 119 119 The USCis operable to cause the processor,to automatically arrange an order of multiple containers corresponding to a PID topic. In at least some implementations of a GUI including the USC, the on position of the USCcorresponds to a single, non-default automatic arrangement style. The single, non-default automatic arrangement style can be any one of the multiple, automatic arrangement styles discussed below or some other automatic arrangement style. In accordance with these implementations, the off position of the USCcorresponds to a default arrangement style. The default arrangement style can be any other one of the multiple, automatic arrangement styles discussed below or some other automatic arrangement style.

119 119 687 688 689 690 691 731 687 688 689 690 691 731 158 687 688 689 690 691 731 119 In other implementations of a GUI including the USC, the on position of the USCcorresponds to one of multiple automatic arrangement styles selectable using a USC,,,,,. In at least some implementations, the USC,,,,,can be contained within a containerthat is displayed anytime the GUI including the USC,,,,,is displayed or in response to a selection of the USC.

687 688 689 690 691 The USCis operable to select a sequential automatic arrangement style based on occurrence of the PID topics within the GUI having a PID that is associated with a received PID parameter value being out-of-range or an unexpected value. The USCis operable to select an automatic arrangement style based on a respective quantity of PIDs (for each PID topic) associated with a received PID parameter value being out-of-range or an unexpected value. The USCis operable to select an automatic arrangement style based on a percentage of PIDs (for each PID topic) being associated with a received PID parameter value that is out-of-range or an unexpected value. The USCis operable to select an automatic arrangement style based on an alpha-numeric order of the PID topics within the GUI. The USCis operable to select an automatic arrangement style based on a respective quantity of PIDs for each PID topic within the GUI.

731 100 100 The USCis operable to select an automatic arrangement style based on a frequency of the computing systemreceiving PID parameter values that are outside of a predefined range or an unexpected value for a PID within a container as compared to a frequency of the computing systemreceiving PID parameter values that are outside of a predefined range or an unexpected value for a PID within the other container(s) within a parameter-identified topic.

102 161 687 688 689 690 691 731 The processor,is programmed to automatically arrange the PID topics within a GUI based on an automatic arrangement style selected using the USC,,,,,and/or to a default arrangement style. In accordance with at least some implementations, an automatic arrangement style based on a frequency is further conditioned on a frequency on which the PID parameter values that are outside of a predefined range or an unexpected value follow a most-recently received PID parameter value for the same PID that was within the predefined range or was an expected value.

In at least some implementations, the automatic arrangement of PID topics occurs only once in response to selection of an automatic arrangement style not currently being used. A benefit of these implementations is that the PID topics will not arrange automatically while a user is trying to read content of the PID topics without a user having just selected a different automatic arrangement style for the displayed PID topics.

687 688 689 690 691 731 In at least some other implementations, the automatic arrangement of PID topics can occur multiple times in response to selection of an automatic arrangement style not currently being used. The automatic arrangement styles that can change multiple times include the sequential arrangement style, the quantity of breached PIDs arrangement style, and the percentage arrangement style. A benefit of these implementations is that changing trends in PID parameter values can be observed without having to re-select the USC,,,,,.

123 102 161 The USCis operable to cause the processor,to automatically arrange an order of multiple containers by reversing a current order of the multiple containers.

119 123 Table L shows example container arrangements based on various positions of the USC,in accordance with at least some implementations. If none of the parameters have been determined to be out of range or an unexpected value, then an arrangement of PID topics based on out of range parameters or unexpected values can be identical to the default arrangement, and the reverse arrangement based on out of range parameters or unexpected values can be identical to the reverse default arrangement.

TABLE L USC 119 USC 123 Position Position Container arrangement Off Off Default arrangement On Off Arrangement based on single, non-default automatic arrangement style or automatic arrangement style selected from among multiple automatic arrangements styles Off On Reverse default arrangement On On Reverse arrangement based on single, non-default automatic arrangement style or automatic arrangement style selected from among multiple automatic arrangements styles

318 119 123 As discussed above, the PIDs of some containers, such as the PID topic container, do not correspond to a parameter range or to an expected value defined for the PID topic. In at least some implementations, arranging containers based on the position of the USC,includes leaving a container that includes only PIDs that do not correspond to a parameter range or to an expected value defined in its default position.

296 316 317 318 379 380 316 317 318 316 317 318 379 380 318 317 316 316 317 318 379 380 317 316 318 318 318 For the GUI, a default order of the PID topic container,,in a direction from the sideto the sidecan be the PID topic container,,. In at least some implementations, a reverse default order of the PID topic container,,in a direction from the sideto the sideis the PID topic container,,. In at least some other implementations, a reverse default order of the PID topic container,,in a direction from the sideto the sideis the PID topic container,,. In those latter implementations, the PID topic containeris not rearranged because the PIDs of the PID topic containerdo not correspond to a parameter range or to an expected value defined for the PID topic.

121 102 161 121 102 161 121 102 161 125 102 161 The USCis operable to cause the processor,to automatically arrange an order of sub-containers corresponding to PIDs. In response to the USCbeing set to the on position, the processor,can determine whether any parameters corresponding to PIDs for each container in the GUI have been or are out of range and whether any of the parameters have been or are unexpected values. In response to the USCbeing set to the off position, the processor,can arrange an order of multiple sub-containers corresponding to PIDs based on a default order of the multiple sub-containers. The USCis operable to cause the processor,to automatically arrange an order of multiple sub-containers corresponding to PIDs by reversing a current order of the multiple sub-containers corresponding to PIDs.

121 125 Table M shows example sub-container arrangements based on various positions of the USC,. If none of the parameters have been determined to be out of range or an unexpected value, then the arrangement of the multiple sub-containers based on out of range parameters or unexpected value can be identical to the default arrangement, and the reverse arrangement of the multiple sub-containers based on out of range parameters or unexpected value and be identical to the reverse default arrangement.

TABLE M USC 121 USC 125 Position Position Sub-container arrangement Off Off Default arrangement On Off Arrangement based on single, non-default automatic arrangement style or automatic arrangement style selected from among multiple automatic arrangements styles Off On Reverse default arrangement On On Reverse arrangement based on single, non-default automatic arrangement style or automatic arrangement style selected from among multiple automatic arrangements styles

318 121 125 As discussed above, the PIDs of some containers, such as the PID topic container, do not correspond to a parameter range or to an expected value defined for the PID topic. In at least some implementations, arranging sub-containers based on the position of the USC,includes leaving a sub-container that includes only PIDs that do not correspond to a parameter range or to an expected value defined in its default position.

296 696 697 698 696 102 161 122 697 102 161 122 296 296 316 317 318 698 102 161 122 696 697 698 696 697 698 296 53 FIG. 53 FIG. 26 FIG. 34 FIG. The GUIincludes a USC,,to operable to make a view selection. In response to a selection of the USC, the processor,is operable to output, on the display, a GUI arranged to show PIDs of a PID topic in a graph view. In response to a selection of the USC, the processor,is operable to output, on the display, a GUI arranged to show PIDs of a PID topic in a list view. In other implementations, a USC for selecting a different type of view can also be included within a GUI, such as the GUI.shows another view of the GUI. In, the PIDs of the PID topic container,,are displayed in a list view. In response to a selection of the USC, the processor,is operable to output, on the display, a GUI arranged to show PIDs of a PID topic in a PID topic view. In the GUIs including the USC,,, text of one of the USC,,is underlined to show that a PID view corresponding to the underlined USC is the currently-selected view.toshow views of the GUIwith the PID topic view currently-selected.

27 FIG. 26 FIG. 27 FIG. 296 296 316 317 318 319 320 321 Next,shows another view of the GUI. Compared to, the view of the GUIinshows a different order of the PID topic container, the PID topic container, and the PID topic container. A comparison of the PID topic descriptor columns in Table J and Table N represent the different order of containers based on the PID topic descriptor, the PID topic descriptor, and the PID topic descriptor.

499 445 446 446 317 445 317 445 446 Additionally, the condition iconincludes an unshaded geometric shapeand a shaded geometric shape. The shaded geometric shapeincludes a numeral indicating that out-of-range parameters or a parameter with an unexpected value have been received for three PIDs corresponding to the PID topic containerand the unshaded geometric shapeincludes a numeral indicating that no out-of-range parameters and no parameters with an unexpected value have been received for one PID corresponding to the PID topic container. The example data in Table N reflects the circumstances indicated by the unshaded geometric shapeand the shaded geometric shape.

TABLE N Out of PIDs w/ range Range parameter Size PID or values or Position (pixel Container Topic No. of expected unexpected (pixel columns × resizing Order Descriptor PIDs value value coordinates) pixel rows) USC 1 320 4 4 3 50/250 1900 × 100 + 2 319 4 4 0 50/350 1900 × 100 + 3 321 4 0 0 50/450 1900 × 100 +

27 FIG. 694 695 732 694 695 732 692 694 695 732 121 694 695 732 100 100 also shows a USC,,. In at least some implementations, the USC,,can be contained within a containerthat is displayed anytime the GUI including the USC,,is displayed or in response to a selection of the USC. The USCis operable to select a sequential automatic arrangement style based on occurrence of the sub-containers within the GUI having a PID that is associated with a received PID parameter value being out-of-range or an unexpected value. The USCis operable to select an automatic arrangement style based on an alpha-numeric order of the sub-containers within the GUI. The USCis operable to select an automatic arrangement style based on a frequency of the computing systemreceiving PID parameter values that are outside of a predefined range or an unexpected value for a PID within a container as compared to a frequency of the computing systemreceiving PID parameter values that are outside of a predefined range or an unexpected value for a PID within the same container.

100 316 317 318 296 316 347 316 317 102 161 316 317 296 317 347 317 316 102 161 316 317 296 28 FIG. 27 FIG. In at least some implementations, the different order of PID topics within a GUI can result from manual inputs to the computing system. As an example, the order of the PID topic container, the PID topic container, and the PID topic containershown incan result from a drag-and-drop operation performed while the GUIappears as shown in. As an example, the drag-and-drop operation can include selecting the PID topic containerwith the cursorand dragging the PID topic containeronto the PID topic container. In response to determining that operation has occurred, the processor,can the positions of the PID topic container,within the GUI. As another example, the drag-and-drop operation can include selecting the PID topic containerwith the cursorand dragging the PID topic containeronto the PID topic container. In response to determining that operation has occurred, the processor,can the positions of the PID topic container,within the GUI.

28 FIG. 28 FIG. 27 FIG. 28 FIG. 28 FIG. 27 FIG. 296 296 296 296 324 317 320 296 317 317 296 Next,shows another view of the GUI. Table O and Table P correspond to the GUIas shown in. Compared to the GUIas shown in, the GUIshown inand the Table O show that the container resizing USCfor the PID topic containerthat includes the PID topic descriptorincludes the “−” symbol rather than the “+” symbol. Additionally, the GUIinincludes the PID topic containerin an expanded state as compared to the PID topic containerbeing displayed in a contracted state in the GUIas shown in.

735 736 735 317 735 735 736 735 100 735 28 FIG. In at least some implementations, a PID topic container that is in an expanded state can include a container resizing USCor a container resizing USC.shows the container resizing USCin the PID topic containerin the expanded state. In response to selection of the container resizing USC, the PID topic container containing the container resizing USCcan further expand in size to permit displaying the container resizing USCand supplemental information and/or further USC pertaining to the PID topic or one or more PIDs corresponding to the PID topic container containing the container resizing USC. To guide a user of the computing system, text such as “show more” or the like can be located within or in proximity to the container resizing USC.

34 FIG. 736 317 736 736 100 736 shows the container resizing USCin the PID topic containerin the expanded state and while expanded and displaying the container resizing USCand supplemental information and/or further USC pertaining to the PID topic or one or more PIDs corresponding to the PID topic container containing the container resizing USC. To guide a user of the computing system, text such as “show less” or the like can be located within or in proximity to the container resizing USC.

28 FIG. 28 FIG. 27 FIG. 27 FIG. 28 FIG. 26 FIG. 26 FIG. 26 FIG. 319 320 321 296 296 319 320 321 296 319 320 321 296 296 Returning to, the order of the containers corresponding to the PID topic descriptor,,in the GUIshown inis the same as the order used for the GUIas shown in. In contrast, however, the order of the containers corresponding to the PID topic descriptor,,in the GUI, as shown inand, is different than the order of the containers corresponding to the PID topic descriptor,,in the GUIshown in. This is because the containers shown in the GUIinare arranged in a default order, as discussed above with respect to.

TABLE O Out of PIDs w/ range Range parameter Size PID or values or Position (pixel Container Topic No. of expected unexpected (pixel columns × resizing Order Descriptor PIDs value value coordinates) pixel rows) USC 1 320 4 4 3 50/250 1900 × 100 − 2 319 4 4 0 50/550 1900 × 100 + 3 321 4 0 0 50/650 1900 × 100 +

102 296 122 323 296 122 102 296 122 323 296 122 28 FIG. 27 FIG. 27 FIG. 28 FIG. The processorcan output the GUI, as shown in, onto the displayin response to the container resizing USCbeing selected while the GUI, as shown in, is displayed on the display. In a related manner, the processorcan output the GUI, as shown in, onto the displayin response to the container resizing USCbeing selected while the GUI, as shown in, is displayed on the display.

Expansion of a container provides for displaying within the expanded container one or more sub-containers corresponding to a PID that corresponds to the PID topic of the container.

28 FIG. 317 312 328 329 335 312 340 336 344 399 328 341 337 345 458 329 342 338 490 459 335 343 339 346 460 344 345 346 490 312 328 329 335 445 446 499 As shown in, the PID topic containerincludes a sub-container,,,. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. A count of the flag(s) in a black state (e.g., the flag,,) and a count of the flag(s) in a white state (e.g., the flag) in the sub-container,,,equal the numeral in the unshaded geometric shapeand the shaded geometric shape, respectively, within the condition icon.

317 312 328 329 335 344 345 346 490 399 458 459 460 336 337 338 339 336 337 338 339 Table P shows data corresponding to the sub-containers in the PID topic container. Table P includes a parameter value corresponding to each sub-container,,,and a corresponding range or expected value to compare to the parameter values in Table P. Table P includes data indicative of a status of a flag,,,, and a status of the sub-container resizing USC,,,. Table P also includes data indicative of a position and a size of the sub-containers including the PID descriptor,,,. Table P includes data indicative of an order of the sub-containers including the PID descriptor,,,. The order data in Table P, as well as in Table R, Table T, Table U, and Table V includes a number indicative of a row and a letter indicative of a position in a row, wherein “1” indicates a first row, “2” indicates a second row, “3” indicates a third row, “4” indicates a fourth row, “5” indicates a fifth row, “6” indicates a sixth row, and “L” indicates a left position and “R” indicates a right position.

TABLE P PIDs w/ Size PID range or Position (pixel PID parameter expected (pixel columns × Order Descriptor value value Flag coordinates) pixel rows) USC 1L 336 9.7 18-475 Black 100/350 800 × 100 ▾ 1R 338 9.4 5-27 White 1000/350  800 × 100 ▾ 2L 337 4300 500-3700 Black 100/450 800 × 100 ▾ 2R 339 On Off Black 1000/450  800 × 100 ▾

29 FIG. 28 FIG. 296 296 296 123 123 123 Next,shows another view of the GUI. In this view of the GUI, as compared to the view of the GUIshown in, the USCis set to the on position rather than the off position. In accordance with at least some implementations, rearrangement of the containers in a GUI in response to selection of the USCdoes not include rearranging any container that does not include any PID and corresponding range of parameter values or expected value. In accordance with at least some other implementations, rearrangement of the containers in a GUI in response to selection of the USCincludes rearranging all of the containers in the GUI.

123 123 296 102 161 316 317 29 FIG. 28 FIG. As a result of the USCbeing set to the on position as shown inas compared to the USCbeing set to the off position as shown in the GUIin, the processor,has rearranged the PID topic containers,by reversing those containers.

30 FIG. 30 FIG. 28 FIG. 30 FIG. 30 FIG. 28 FIG. 30 FIG. 28 FIG. 30 FIG. 296 296 296 296 324 317 320 322 316 319 323 318 321 296 317 317 296 319 320 321 296 296 325 481 316 Next,shows another view of the GUI. Table Q and Table R correspond to the GUIas shown in. Compared to the GUIas shown in, the GUIas shown inand the Table Q show that the container resizing USCfor the PID topic containerthat includes the PID topic descriptorincludes the “+” symbol rather than the “−” symbol, the container resizing USCfor the PID topic containerthat includes the PID topic descriptorincludes the “−” symbol rather than the “+” symbol, and the container resizing USCfor the PID topic containerthat includes the PID topic descriptorincludes the “−” symbol rather than the “+” symbol. Additionally, the GUIas shown inincludes the PID topic containerin a contracted state as compared to the PID topic containerbeing displayed in an expanded state in the GUIas shown in. The order of the containers corresponding to the PID topic descriptor,,in the GUIas shown inis the same as the order used for the GUIas shown in. In, the condition iconfurther includes a shaded geometric shapewith a numeral corresponding to a number of flags in a black state for the PID topic container.

TABLE Q Out of PIDs w/ range Range parameter Size PID or values or Position (pixel Container Topic No. of expected unexpected (pixel columns × resizing Order Descriptor PIDs value value coordinates) pixel rows) USC 1 320 4 4 3 50/250 1900 × 100 + 2 319 4 4 2 50/350 1900 × 300 − 3 321 4 0 0 50/650 1900 × 300 −

30 FIG. 316 466 467 468 469 466 391 383 474 465 467 393 384 475 478 468 392 385 476 479 469 394 386 477 480 474 475 476 477 466 467 468 469 481 482 325 As shown in, the PID topic containerincludes a sub-container,,,. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, a flag, and a sub-container resizing USC. A count of the flag(s) in a black state (e.g., the flag,) and a count of the flag(s) in a white state (e.g., the flag,) in the sub-container,,,equal the numeral in the shaded geometric shapeand the unshaded geometric shape, respectively, within the condition icon.

318 470 471 472 473 470 395 387 461 471 397 388 462 472 396 389 463 473 398 390 464 The PID topic containerincludes a sub-container,,,. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptorand a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor, and a sub-container resizing USC.

316 318 296 466 467 468 469 470 471 472 473 466 467 468 469 470 471 472 473 474 475 476 477 461 462 463 464 465 478 479 480 383 384 385 386 387 388 389 390 383 384 385 386 316 387 388 389 390 318 30 FIG. Table R shows data corresponding to the sub-containers in the PID topic container,in GUIas shown in. Table R includes a parameter value corresponding to each sub-container,,,,,,,and a corresponding range or expected value for the sub-container,,,to compare to the parameter values in Table R. Table R uses the word “None” to indicate that there is no range or expected value for the sub-containers,,,. Table R includes data indicative of a status of a flag,,,, and a status of the sub-container resizing USC,,,,,,,. Table R also includes data indicative of a position and a size of the sub-containers including the PID descriptor,,,,,,,. Table R includes data indicative of an order of the sub-containers including the PID descriptor,,,in the PID topic container, and an order of the sub-containers including the PID descriptor,,,in the PID topic container.

TABLE R PID PIDs w/ Size Descriptor/ PID range or Position (pixel Sub- parameter expected (pixel columns× Order container value value Flag coordinates) pixel rows) USC 3L 383/466 820 100-600 Black 100/450 800 × 100 ▾ 3R 385/468 501 100-600 White 1000/450  800 × 100 ▾ 4L 384/467 90 100-600 Black 100/550 800 × 100 ▾ 4R 386/469 488 100-600 White 1000/550  800 × 100 ▾ 5L 387/470 1672 None None 100/750 800 × 100 ▾ 5R 389/472 22 None None 1000/750  800 × 100 ▾ 6L 388/471 2 None None 100/850 800 × 100 ▾ 6R 390/473 4 None None 1000/850  800 × 100 ▾

31 FIG. 31 FIG. 30 FIG. 31 FIG. 31 FIG. 30 FIG. 30 FIG. 31 FIG. 30 FIG. 296 296 296 296 324 317 320 296 317 317 296 323 296 319 320 321 296 296 Next,shows another view of the GUI. Table S and Table T correspond to the GUIas shown in. Compared to the GUIas shown in, the GUIshown inand the Table S show that the container resizing USCfor the PID topic containerthat includes the PID topic descriptorincludes the “−” symbol rather than the “+” symbol. Additionally, the GUIshown inincludes the PID topic containerin the expanded state as compared to the PID topic containerbeing displayed in the contracted state in the view of the GUIin. These differences can occur in response to a selection of the container resizing USCin the GUIas shown in. The order of the containers corresponding to the PID topic descriptor,,in the GUIshown inis the same as the order used for the GUIas shown in.

TABLE S Out of PIDs w/ range Range parameter Size PID or values or Position (pixel Container Topic No. of expected unexpected (pixel columns × resizing Order Descriptor PIDs value value coordinates) pixel rows) USC 1 320 4 4 3 50/250 1900 × 300 − 2 319 4 4 2 50/550 1900 × 300 − 3 321 4 0 0 50/850 1900 × 300 −

316 317 318 312 328 329 335 466 467 468 469 470 471 472 473 312 328 329 335 466 467 468 469 344 345 346 490 474 475 476 477 336 337 339 338 383 384 385 386 399 458 459 460 461 462 463 464 465 478 479 480 336 337 338 339 383 384 385 386 387 388 389 390 336 337 338 339 383 384 385 386 387 388 389 390 383 384 385 386 316 336 337 338 339 317 387 388 389 390 318 29 FIG. 30 FIG. Table T shows data corresponding to the sub-containers in the PID topic container,,. Table T includes a parameter value corresponding to each sub-container,,,,,,,,,,,and a corresponding range or expected value for the sub-container,,,,,,,to compare to the parameter values in Table T. Table T includes data indicative of a status of a flag,,,,,,,within the sub-container including the sub-containers including the PID descriptor,,,,,,,, respectively. Table T further includes data indicative of a status of the sub-container resizing USC,,,,,,,,,,,(all identified inor) corresponding to the sub-container including the PID descriptor,,,,,,,,,,,. Table T also includes data indicative of a position and a size of the sub-containers including the PID descriptor,,,,,,,,,,,. Table T includes data indicative of an order of the sub-containers including the PID descriptor,,,in the PID topic container, the PID descriptor,,,in the PID topic container, and an order of the sub-containers including the PID descriptor,,,in the PID topic container.

TABLE T PID PIDs w/ Size Descriptor/ PID range or Position (pixel Sub- parameter expected (pixel columns × Order container value value Flag coordinates) pixel rows) USC 1L 336/312 9.7  18-475 Black 100/350 800 × 100 ▾ 1R 338/329 9.4  5-27 White 1000/350  800 × 100 ▾ 2L 337/328 4300  500-3700 Black 100/450 800 × 100 ▾ 2R 339/335 On Off Black 1000/450  800 × 100 ▾ 3L 383/466 820 100-600 Black 100/650 800 × 100 ▾ 3R 385/468 501 100-600 White 1000/650  800 × 100 ▾ 4L 384/467 90 100-600 Black 100/750 800 × 100 ▾ 4R 386/469 488 100-600 White 1000/750  800 × 100 ▾ 5L 387/470 1672 None None 100/950 800 × 100 ▾ 5R 389/472 22 None None 1000/950  800 × 100 ▾ 6L 388/471 2 None None  100/1050 800 × 100 ▾ 6R 390/473 4 None None 1000/1050 800 × 100 ▾

32 FIG. 31 FIG. 32 FIG. 31 FIG. 32 FIG. 31 FIG. 32 FIG. 296 296 296 121 296 296 316 317 296 Next,shows another view of the GUI. Compared to the GUIas shown in, the view of the GUIinshows that the USCis in the on position rather than the off position as shown in the GUIin. Table U corresponds to the GUIas shown in. A comparison of the sub-containers listed with Table T and Table U and the PID topic container,in the view of the GUIinandshow that the PIDs within those sub-containers having a flag have been rearranged. The rearrangement results in the sub-containers corresponding to PIDs associated with parameter values that have breached a threshold range or an unexpected value (e.g., a sub-container within a black flag) being listed first from left to right then top to bottom, followed by the sub-containers corresponding to PIDs associated with no parameter value that breaches a threshold range or is an unexpected value (e.g., a sub-container within a white flag).

TABLE U PID PIDs w/ Size Descriptor/ PID range or Position (pixel Sub- parameter expected (pixel columns × Order container value value Flag coordinates) pixel rows USC 1L 336/312 9.7  18-475 Black 100/350 800 × 100 ▾ 1R 337/328 4300  500-3700 Black 100/450 800 × 100 ▾ 2L 339/335 On Off Black 1000/450  800 × 100 ▾ 2R 338/329 9.4  5-27 White 1000/350  800 × 100 ▾ 3L 383/466 820 100-600 Black 100/650 800 × 100 ▾ 3R 384/467 90 100-600 Black 100/750 800 × 100 ▾ 4L 385/468 501 100-600 White 1000/650  800 × 100 ▾ 4R 386/469 488 100-600 White 1000/750  800 × 100 ▾ 5L 387/470 1672 None None 100/950 800 × 100 ▾ 5R 389/472 22 None None 1000/950  800 × 100 ▾ 6L 388/471 2 None None  100/1050 800 × 100 ▾ 6R 390/473 4 None None 1000/1050 800 × 100 ▾

33 FIG. 32 FIG. 33 FIG. 32 FIG. 33 FIG. 32 FIG. 33 FIG. 296 296 296 125 296 296 316 317 296 Next,shows another view of the GUI. Compared to the GUIas shown in, the GUIinshows that the USCis in the on position rather than the off position as shown in the GUIas shown in. Table V corresponds to the GUIas shown in. A comparison of the sub-containers listed with Table U and Table V and the PID topic container,in the views of the GUIshown inandshows that the PIDs within those sub-containers having a flag have been reversed. The reversal results in the sub-containers corresponding to PIDs associated with no parameter value that breaches a threshold range or is an unexpected value (e.g., a sub-container within a white flag) being listed first from left to right then top to bottom, followed by the sub-containers corresponding to PIDs associated with parameter values that have breached a threshold range or an unexpected value (e.g., a sub-container within a black flag).

TABLE V PID PIDs w/ Size Descriptor/ PID range or Position (pixel Sub- parameter expected (pixel columns × Order container value value Flag coordinates) pixel rows) USC 1L 338/329 9.4  5-27 White 1000/350  800 × 100 ▾ 1R 337/328 4300  500-3700 Black 100/450 800 × 100 ▾ 2L 339/335 On Off Black 1000/450  800 × 100 ▾ 2R 336/312 9.7  18-475 Black 100/350 800 × 100 ▾ 3L 386/469 488 100-600 White 1000/750  800 × 100 ▾ 3R 385/468 501 100-600 White 1000/650  800 × 100 ▾ 4L 384/467 90 100-600 Black 100/750 800 × 100 ▾ 4R 383/466 820 100-600 Black 100/650 800 × 100 ▾ 5L 387/470 1672 None None 100/950 800 × 100 ▾ 5R 389/472 22 None None 1000/950  800 × 100 ▾ 6L 388/471 2 None None  100/1050 800 × 100 ▾ 6R 390/473 4 None None 1000/1050 800 × 100 ▾

125 318 125 325 499 In at least some implementations, selection of the USCto the on position includes reversing the sub-containers without any flags, such as the sub-containers in the PID topic container. Additionally, or alternatively, in at least some implementations, selection of the USCresults in reversal of the geometric shapes with numerals in the condition icon,.

34 FIG. 34 FIG. 29 FIG. 34 FIG. 34 FIG. 29 FIG. 34 FIG. 296 296 296 296 317 324 317 320 296 296 316 318 319 321 316 318 296 Next,shows another view of the GUI. Table W, Table X, and Table Y correspond to the GUIas shown in. Compared to the GUIas shown in, the GUIshown inincludes an alternative view of the PID topic containerin the expanded state and with the container resizing USCshowing the “−” symbol. A comparison of Table Q and Table W show that a size of the PID topic container(including PID topic descriptor) is larger in the GUI(as shown in) as compared to the GUIas shown in, and the position of the PID topic container,(including PID topic descriptor,, respectively) is shown as none in Table W, because the PID topic container,is not shown in the GUIin.

TABLE W Out of PIDs w/ range Range parameter Size PID or values or Position (pixel Container Topic No. of expected unexpected (pixel columns × resizing Order Descriptor PIDs value value coordinates) pixel rows) USC 1 320 4 4 3 50/250 1900 × 1100 − 2 319 4 4 0 None 1900 × 100  + 3 321 4 0 0 None 1900 × 100  +

317 312 328 329 335 344 345 346 490 399 458 459 460 336 337 338 339 336 337 338 339 Table V shows data corresponding to the sub-containers in the PID topic container. Table X includes a parameter value corresponding to each sub-container,,,and a corresponding range or expected value to compare to the parameter values in Table X. Table X includes data indicative of a status of a flag,,,, and a status of the sub-container resizing USC,,,. Table X also includes data indicative of a position and a size of the sub-containers including the PID descriptor,,,. Table X includes data indicative of an order of the sub-containers including the PID descriptor,,,.

TABLE X PID PIDs w/ Size Descriptor/ PID range or Position (pixel Sub- parameter expected (pixel columns x Order container value value Flag coordinates) pixel rows) USC 1L 336/312 9.7  18-475 Black 100/350 800 × 100 ▾ 1R 338/329 9.4  5-27 White 1000/350  800 × 100 ▾ 2L 337/328 4300  500-3700 Black 100/450 800 × 100 ▾ 2R 339/335 On Off Black 1000/450  800 × 100 ▾

317 400 401 402 403 404 400 401 402 403 404 400 401 402 403 404 400 401 402 403 404 122 400 401 402 403 404 Table Y shows data corresponding to additional sub-containers in the PID topic container. The additional sub-containers include a sub-container,,,,. Table Y includes data corresponding to an order of the sub-container,,,,, a supplemental information descriptor corresponding to the sub-container,,,,, position data corresponding to a position of the sub-container,,,,on the display, and size data corresponding to sub-container,,,,.

TABLE Y Supplemental Information Position Size Order Descriptor (pixels) (pixels) 1AL Top Repairs 100/550 1100 × 400  1AR TSBs 1300/550  500 × 250 1BL Connector View 100/950 500 × 400 1BC Overview 700/950 500 × 400 1BR Scanner Functions 1300/800  500 × 550

400 333 401 333 401 483 483 102 122 483 402 403 404 405 406 737 738 34 FIG. The sub-containerincludes supplemental information regarding top repairs for a vehicle corresponding to the vehicle identifier. The sub-containerincludes supplemental information regarding technical service bulletins that pertain to a vehicle corresponding to the vehicle identifier. The sub-containeralso includes a USC. In response to a selection of the USC, the processorcan request, receive, and responsively output onto the displayone or more technical service bulletins or portions of the one or more technical service bulletins. In at least some implementations, the sub-container includes a quantity identifier indicative of how many technical service bulletins correspond to the vehicle. In at least some of those implementations, the quantity identifier is within the USC, as shown in. The sub-containerincludes supplemental information regarding a connector. The sub-containerincludes supplemental information regarding the mass air flow sensor component of a vehicle. The sub-containerincludes a USC,,,.

140 1070 1070 1071 1072 1070 102 122 151 155 122 21 FIG. 16 FIG. The GUI contentshown incan include connector descriptions of connectors within a vehicle. The connectors are removably connectable to other connectors. The connectors can include pins connected to circuits, such as electrical or optical circuits. The connector descriptions can include textual descriptions and/or drawings or images of a connector.shows a connector descriptionin accordance with the example implementations. The connector descriptionincludes a connector diagramand a signal function description. The connector descriptions can include the connector description. The processorcan output on the displayat least a portion of the connector description. The connector description shown on the display can guide a user how to connect the meteror the oscilloscopefor determining a measurement of a signal on a circuit connected to the connector described by the connector description. As an example, the connector description shown on the displaycan indicate the circuit connector to Pin B to make a measurement of a signal indicative of a crankshaft position.

404 405 884 405 102 12 405 102 884 405 762 884 12 884 762 25 FIG.C Populating the sub-containerwith the USCcan be based on the scanner function element(shown in). In response to a selection of the USC, the processorcan transmit to the vehiclea vehicle data message indicative of the functional test corresponding to the USC. The processorcan determine the vehicle data message that corresponds to the functional test indicated by the scanner function elementand/or the USCby searching the scanner functionsbased on the indicated functional test. Additionally, or alternatively, the scanner function elementcan include data needed to generate the vehicle data message to the vehicleto request performance of the functional test that corresponds to the functional test indicated by the scanner function elementwithout having to refer to the scanner functions.

405 102 122 763 763 767 768 770 100 768 102 767 102 763 102 296 763 296 763 296 55 FIG. In at least some implementations, in response to a selection of the USC, the processorcan cause the displayto display a GUI, such as a GUIshown in. As an example, the GUIincludes a USC,and an instructionto guide a user of the computing systemin requesting performance of a functional test. In response to a selection of the USC, the processortransmits a vehicle data message to request performance of the functional test. In response to a selection of the USC, the processorceases displaying the GUI. The processorcan then return to displaying the GUI. As an example, the GUIcan be overlaid upon the GUI. As another example, the GUIcan be arranged as a GUI that is displayed in place of the GUI.

762 100 763 782 102 In at least some implementations, performing a scanner function of the scanner functionsincludes performing multiple steps. In at least some of those implementations, multiple GUIs or changes to a GUI can be displayed to guide a user of the computing systemto carry out the scanner function. The GUIincludes a USCto trigger the processorto display a next GUI or a modified GUI.

782 122 783 783 784 100 783 785 102 783 786 786 102 783 102 296 55 FIG. In response to selection of the USC, the displaycan display a GUI, such as a GUIshown in. The GUIincludes an instructionto guide a user of the computing systemin performing a functional test. The GUIincludes a USCto trigger the processorto display a next GUI or a modified GUI. The GUIincludes a USC. In response to a selection of the USC, the processorceases displaying the GUI. The processorcan then return to displaying the GUI.

785 122 787 787 788 100 787 789 102 787 790 790 102 787 102 296 55 FIG. In response to selection of the USC, the displaycan display a GUI, such as a GUIshown in. The GUIincludes an instructionto guide a user of the computing systemin performing a functional test. The GUIincludes a USCto trigger the processorto display a next GUI or a modified GUI. The GUIincludes a USC. In response to a selection of the USC, the processorceases displaying the GUI. The processorcan then return to displaying the GUI.

789 122 791 791 792 100 791 793 794 793 794 102 791 102 296 55 FIG. In response to selection of the USC, the displaycan display a GUI, such as a GUIshown in. The GUIincludes an instructionto guide a user of the computing systemin performing a functional test. The GUIincludes a USC,. In response to a selection of the USC,, the processorceases displaying the GUI. The processorcan then return to displaying the GUI.

34 FIG. 25 FIG.C 404 406 885 406 102 12 406 102 885 406 762 885 12 885 762 Returning to, populating the sub-containerwith the USCcan be based on the scanner function element(shown in). In response to a selection of the USC, the processorcan transmit to the vehiclea vehicle data message indicative of the reset function corresponding to the USC. The processorcan determine the vehicle data message that corresponds to the reset function indicated by the scanner function elementand/or the USCby searching the scanner functionsbased on the indicated reset function. Additionally, or alternatively, the scanner function elementcan include data needed to generate the vehicle data message to the vehicleto request performance of the reset function that corresponds to the reset function indicated by the scanner function elementwithout having to refer to the scanner functions.

102 122 764 406 764 769 777 771 100 769 102 777 102 764 102 296 764 296 764 296 56 FIG. In at least some implementations, the processorcan cause the displayto display a GUIshown inin response to a selection of the USC. The GUIincludes a USC,and an instructionto guide a user of the computing systemin requesting performance of a reset function. In response to a selection of the USC, the processortransmits the vehicle data message to request performance of the reset function. In response to a selection of the USC, the processorceases displaying the GUI. The processorcan then return to displaying the GUI. As an example, the GUIcan be overlaid upon the GUI. As another example, the GUIcan be arranged as a GUI that is displayed in place of the GUI.

34 FIG. 25 FIG.C 404 737 886 737 102 151 155 737 102 886 737 762 151 155 886 886 762 Returning to, populating the sub-containerwith the USCcan be based on the scanner function element(shown in). In response to a selection of the USC, the processorconfigures the meterand/or the oscilloscopefor performing a guided component test corresponding to the USC. The processorcan determine the particular signal detector and/or data needed to configure the particular signal detector for the component indicated by the scanner function elementand/or the USCby searching the scanner functionsbased on the indicated component test, which in some implementations, pertains to a particular signal detector (e.g., the meteror the oscilloscope). Additionally, or alternatively, the scanner function elementcan include data needed to select the particular signal detector and/or data needed to configure the particular signal detector for the component indicated by the scanner function elementwithout having to refer to the scanner functions.

102 122 765 737 765 776 155 778 772 100 778 102 765 102 296 765 296 765 296 56 FIG. In at least some implementations, the processorcan cause the displayto display a GUIshown inin response to a selection of the USC. The GUIincludes a waveform graphoutput based on measurements obtained by the oscilloscope, a USC, and an instructionto guide a user of the computing systemin requesting performance of a component test. In response to a selection of the USC, the processorceases displaying the GUIand/or ceases performing a measurement of the component test. The processorcan then return to displaying the GUI. As an example, the GUIcan be overlaid upon the GUI. As another example, the GUIcan be arranged as a GUI that is displayed in place of the GUI.

34 FIG. 25 FIG.C 404 738 887 738 102 151 155 738 102 887 738 762 151 155 887 887 762 Returning to, populating the sub-containerwith the USCcan be based on the scanner function element(shown in). In response to a selection of the USC, the processorconfigures the meterand/or the oscilloscopefor performing a guided component test corresponding to the USC. The processorcan determine the particular signal detector and/or data needed to configure the particular signal detector for the component indicated by the scanner function elementand/or the USCby searching the scanner functionsbased on the indicated component test, which in some implementations, pertains to a particular signal detector (e.g., the meteror the oscilloscope). Additionally, or alternatively, the scanner function elementcan include data needed to select the particular signal detector and/or data needed to configure the particular signal detector for the component indicated by the scanner function elementwithout having to refer to the scanner functions.

102 122 766 738 766 774 151 779 773 100 766 775 102 151 779 102 766 102 296 766 296 766 296 56 FIG. In at least some implementations, the processorcauses the displayto display a GUIshown inin response to a selection of the USC. The GUIincludes a measurement displayindicative of an output based on a measurement made by the meter, a USC, and an instructionto guide a user of the computing systemin requesting performance of a component test. The GUIalso includes a configuration identifierindicative of a setting the processorselected to configure the meter. In response to a selection of the USC, the processorceases displaying the GUIand/or performing a measurement of the component test. The processorcan then return to displaying the GUI. As an example, the GUIcan be overlaid upon the GUI. As another example, the GUIcan be arranged as a GUI that is displayed in place of the GUI.

151 151 151 151 In at least some implementations, configuring the metercan include configuring the meterto be in a particular operating state, such as an operating state to make a particular type of electrical measurement (e.g., a voltage measurement, a current measurement, or a resistance measurement). In at least some implementations, configuring the metercan include configuring the meterto operate within a particular range, such as a range of 0.0 volts to 2.0 volts, or a range of 0.0 volts to 20.0 volts.

155 155 In at least some implementations, configuring the oscilloscopecan include configuring the oscilloscopeto use one or more of the following: a particular sample rate from among multiple sample rates, a particular vertical scale setting from among multiple vertical scale settings, a particular horizontal scale setting from among multiple horizontal scale settings, a particular trigger mode from among multiple trigger modes, or a particular trigger source from among multiple trigger sources.

735 317 102 400 401 402 403 404 296 Other examples of supplemental information and/or a USC that can be contained within a sub-container of a container are also possible. Furthermore, in an alternative implementation, the container resizing USCin the PID topic containeror another USC (not shown), when selected, can trigger the processorto display the sub-container,,,,in a separate GUI other than the GUI.

35 FIG. 35 FIG. 183 313 183 348 349 350 348 102 100 102 106 102 Next,shows a GUI. In, the GUI descriptionindicates that a theme of the GUI pertains to selecting a mode for identifying a vehicle. The GUIincludes a USC,,. Selection of the USCcauses the processorto enter a mode to automatically identify the vehicle operatively connected to the computing system. During that automatic identification mode, the processorcan execute program instructions to cause the transceiverto transmit one or more VDM to the vehicle to solicit a response from the vehicle including data indicative of the vehicle being a particular type of vehicle or a particular, individual vehicle. The processorcan execute the program instructions to identify the operatively connected vehicle based on the response from the vehicle.

349 102 100 102 185 102 185 131 185 160 37 FIG. 37 FIG. Selection of the USCcauses the processorto enter a mode to manually identify a vehicle, such as a vehicle operatively connected to the computing system. During that manual identification mode, the processorcan execute program instructions to cause the display to display a GUI for selecting a vehicle identifier corresponding to a particular vehicle, such as the GUIshown in. Execution of those program instructions can cause the processorto retrieve the GUIshown infrom the GUIand/or to request the GUIfrom the server.

350 102 348 350 102 122 183 Selection of the USCcan cause the processorto exit the automatic identification mode initiated in response to selection of the USC. In those or in other implementations, selection of the USCcan cause the processorto output to the displaya GUI that was displayed just prior to the GUIbeing displayed.

37 FIG. 37 FIG. 185 313 185 351 357 185 352 358 185 353 359 351 354 351 351 352 355 352 352 353 356 353 353 Next,shows a GUI. In, the GUI descriptionindicates that a theme of the GUI pertains to selecting a vehicle identifier or a particular vehicle. The GUIshows a year selection menuin which a year selectorrepresenting the year 2014 has been selected. The GUIincludes a make selection menuin which a make selectorrepresenting the make Chevrolet has been selected. The GUIincludes a model selection menuin which a model selectorrepresenting the model Tahoe has been selected. The year selection menuincludes a scroll barto cause the year selection menuto display year(s) not currently shown in the year selection menu. Similarly, the make selection menuincludes a scroll barto cause the make selection menuto display make(s) not currently shown in the make selection menu. Likewise, the model selection menuincludes a scroll barto cause the model selection menuto display model(s) not currently shown in the model selection menu.

352 351 353 351 352 351 352 353 352 351 353 353 351 352 In at least some implementations, the make selection menuis populated with vehicle makes after a year is selected from the year selection menu. Similarly, in at least some implementations, the model selection menuis populated with vehicle models after a year is selected from the year selection menuand after a make is selected from the make selection menu. In alternative embodiments, the year selection menuis in a GUI without the make selection menuand without the model selection menu, and the make selection menuis in a GUI without the year selection menuand without the model selection menu, and the model selection menuis in a GUI without the year selection menuand without the make selection menu.

185 In at least some implementations, the GUI shown in the GUIor a separate GUI includes feature selection menus to select other characteristics of a vehicle identifier or a particular vehicle being selected. As an example, the other characteristics of the vehicle identifier can include a drive type (e.g., 2-wheel drive (2WD), 4-wheel drive (4WD) or all-wheel drive (AWD)), an engine displacement (e.g., 3.8 liters (L) or 5.7 L), or a transmission type (e.g., automatic, automatic with overdrive, 3-speed manual, or 4-speed manual).

360 361 362 185 363 361 360 185 362 185 360 362 363 361 In still other implementations, the other characteristics of the vehicle identifier can be selected using a previous USC, a Yes USC, and a next USC. After selecting a set of characteristics, such as a year, make, and model, the GUIcan display a vehicle identifier, such as 2014 Chevrolet Tahoe (4WD), where “4WD” is a supplemental characteristic that can be selected by use of the Yes USC. The previous USCcan be used to cause the GUIto display a different vehicle identifier, such as 2014 Chevrolet Tahoe (2WD) and the next USCcan be used to cause the GUI shown in the GUIto display yet a different vehicle identifier such as 2014 Chevrolet Tahoe (AWD). Selecting the previous USCor the next USCcan cause the vehicle identifierto change to the different vehicle identifier. In at least some implementations, a supplemental characteristic that can be selected by use of Yes USCis indicative of an engine and/or engine displacement.

185 364 364 364 118 12 40 51 1060 102 The GUIalso includes a VIN USCfor entering an identifier of a particular vehicle. As an example, the VIN USCcan be used to type or key-in a vehicle identification number (VIN) associated with the particular vehicle. As another example, the VIN USCcan be used to cause the vehicle communications transceiverto request a VIN from an ECU in a vehicle, such as the vehicle,,,. The processorcan receive the requested VIN and determine at least a year, make, model, engine, and a serial number of the particular vehicle from the VIN.

185 365 365 102 120 367 185 366 367 368 102 367 365 102 120 367 185 366 367 368 102 367 102 366 The GUIalso includes a vehicle selector USCfor capturing a visual indication of a particular vehicle. As an example, in response to selection of the vehicle selector USC, the processorcan cause the camera within the input deviceto capture an image, such as an image of a coderepresenting a VIN, and to cause a GUI, such as the GUI shown in the GUIor a different GUI, to display a windowshowing the image of codeand to display a representation of the alpha-numeric representation of the VINas determined by the processordecoding the code. As yet another example, in response to selection of the vehicle selector USC, the processorcan cause a scanner of the input deviceto generate an image, such as an image of the code, and to cause a GUI, such as the GUI shown in the GUIor a different GUI, to display the windowshowing the image of the codeand to display a representation of the alpha-numeric representation of the VINas determined by the processordecoding the code. In at least some implementations, the processorcan display the windowon a different GUI.

38 FIG. 38 FIG. 181 313 181 Next,shows a GUI. In, the GUI descriptionindicates that a theme of the GUIpertains to entering PID topic criteria. The PID topic criteria can be used by a processor to locate a PID topic file and/or information to populate into a PID topic displayed on a display.

181 369 369 370 370 370 447 181 181 371 371 181 372 372 The GUIincludes a symptom selection menu. In at least some implementations, the symptom selection menuincludes one or more vehicle system selectors, such as the vehicle system selector. As an example, the vehicle system selectorcan represent an engine system. In at least some implementations, upon selecting the vehicle system selector, a system identifieris added to the GUI. The GUIalso includes one or more component selectors, such as the component selector. As an example, the component selectorcan represent a component of the engine system such as an oxygen sensor. The GUIalso includes one or more DTC selectors, such as the DTC selector. As an example, the DTC selectorcan represent a P0171 DTC representative of an engine system fault in which an exhaust bank is emitting exhaust that indicates the engine is running lean.

181 373 373 373 The GUIincludes a complaint USCfor entering a customer complaint regarding a vehicle identifier corresponding to a vehicle or a particular vehicle. As an example, the complaint USCcan be used to type or key-in a customer complaint regarding the particular vehicle. As an example, a customer complaint entered via the complaint USCcan indicate “vehicle failed emissions testing.”

296 696 697 698 181 374 613 614 374 613 614 26 FIG. A GUI can include a USC operable to select a view style for displaying PIDs and PID parameter values. In some instances, the GUI including a USC operable to select a view style is already displaying a PID condition. For example, the GUIshown inincludes the USC,,operable to select a graph view, a list view, and a PID topic view, respectively. In other instances, the GUI including a USC operable to select a view style is not displaying a PID condition. For example, the GUI, which is not displaying a PID condition, includes a USC,,. The USCis operable to select a view style in which a displayed GUI includes a PID topic and/or some aspects of a PID topic file described in this description. The USCis operable to select a view style in which a displayed GUI includes a flat list view of PIDs of a PID topic file. The USCis operable to select a view style in which a displayed GUI a displayed includes a graph view of PIDs of a PID topic file.

181 376 377 378 376 102 100 102 106 102 377 102 183 185 378 102 187 35 FIG. 37 FIG. 39 FIG. The GUIcan include a USC,,. Selection of the USCcauses the processorto enter a mode to automatically identify a DTC set in the vehicle operatively connected to the computing system. During that automatic identification mode, the processorcan execute program instructions to cause the transceiverto transmit one or more VDM to the vehicle to solicit a response from the vehicle including data indicative of a DTC being set in the vehicle. The processorcan execute the program instructions to identify the DTC (e.g., one or more DTC) set in the vehicle based on the response from the vehicle. Selection of the USCcauses the processorto output a GUI for selecting a different vehicle, such as the GUIshown inor the GUIshown in. Selection of the USCcan cause the processorto output a GUI for setting a range for a PID, such as a GUIshown in.

181 375 375 181 The GUIincludes a Cancel USC. The Cancel USCcan be used to clear out any selections previously made via the GUI.

39 FIG. 39 FIG. 187 313 187 187 484 484 485 486 102 484 Next,shows a GUI. In, the GUI descriptionindicates that a theme of the GUIpertains to entering a PID range or expected value. The GUIincludes a PID selection USC. In at least some implementations, the PID selection USCincludes a descriptorof the PID and a USCselectable to cause the processorto display a respective descriptor of one or more other PIDs for displaying within the PID selection USCafter being selected. Other examples of means to select a PID whose range or expected value is to be selected are also possible.

187 487 488 489 487 488 489 102 488 489 187 139 The GUIincludes a USC,,. Selection of the USCcauses a trigger for the selected PID to be turned on if currently turned off or to be turned off if currently turned on. The USCis configured for entering a minimum value of a range corresponding to the selected PID. The USCis configured for entering a maximum value of a range corresponding to the selected PID. In at least some implementations, the processorpopulates the USCwith a default minimum value for the PID range and the USCwith a default maximum value for the PID range. In at least some implementations, the PID range entered via the GUIcan be stored as part of the PID topic filethat includes the selected PID.

187 168 169 168 488 489 489 168 169 488 489 168 488 169 489 The GUIincludes a USC,. The USCis configured for entering a minimum value of a near range value proximate to the minimum range selectable using the USC. The USCis configured for entering a maximum value of a near range value proximate to the maximum range selectable using the USC. As an example, the near range values selectable using the USC,can be specified as a percentage of the value of a range selectable using the USC,, respectively. As another example, the near range value selectable using the USCcan be specified as a number greater than a number selectable by the USC, and the near range value selectable using the USCcan be specified as a number less than a number selectable by the USC.

102 102 892 102 102 893 The processorcan determine that a parameter value has reached the selected near range minimum+value, but has not yet reached the minimum value. In response to making that determination, the processorcan output (within a sub-container pertaining to a PID corresponding to the parameter value) an icon, such as an icon, to indicate that the near range minimum+value has been reached. Similarly, the processorcan determine that a parameter value has reached the selected near range maximum-value, but has not yet reached the maximum value. In response to making that determination, the processorcan output (within a sub-container pertaining to a PID corresponding to the parameter value) an icon, such as an icon, to indicate that the near range maximum-value has been reached.

187 159 570 159 570 488 489 168 169 159 159 780 102 159 570 781 102 570 The GUIincludes a USC,. The USCis configured for entering an expected value corresponding to the selected PID, when the PID is a status PID. A status PID is a PID that corresponds to non-numeric PID parameter values, such as okay, good, bad, high, or low. The USCis configured for entering a condition corresponding to the selected PID and one or more of the minimum value of the range selectable via the USC, the maximum value of the range selectable via the USC, the minimum value of a near range value selectable via the USC, the maximum value of a near range value selectable via the USC, or the expected value selectable via the USC. The USCincludes a USCselectable to cause the processorto display a respective descriptor of one or more other predetermined expected values for displaying within the USCafter being selected. The USCincludes a USCselectable to cause the processorto display a respective descriptor of one or more other predetermined condition values for displaying within the USCafter being selected.

795 795 102 161 488 489 168 169 159 795 488 489 168 169 159 488 489 168 169 159 The GUI includes a USC. The USCis selectable to trigger the processor,to reset one or more of the minimum value of the range selectable via the USC, the maximum value of the range selectable via the USC, the minimum value of a near range value selectable via the USC, the maximum value of a near range value selectable via the USC, or the expected value selectable via the USCto a default value. In at least some implementations, the USCcan include a respective USC for each of the minimum value of the range selectable via the USC, the maximum value of the range selectable via the USC, the minimum value of a near range value selectable via the USC, the maximum value of a near range value selectable via the USC, or the expected value selectable via the USC. In at least some implementations, a drop down menu for of the minimum value of the range selectable via the USC, the maximum value of the range selectable via the USC, the minimum value of a near range value selectable via the USC, the maximum value of a near range value selectable via the USC, or the expected value selectable via the USCcan include a selectable default value.

187 491 492 493 491 484 102 161 492 493 492 493 492 493 The GUIincludes a USC,,. The USCis selectable to enable or disable an auto scaling function for a graph that corresponds to a PID contained with the PID selection USC. With the auto scaling function enabled, the processor,can scale a graph of the PID using the scale values entered using the USC,. As an example, the USCcan be used to select a minimum value on a y-axis of the graph and the USCcan be used to select a maximum value on that y-axis. As another example, the USCcan be used to select a value/division for the y-axis and the USCcan be used to select a value/division for the x-axis of the graph.

187 494 495 494 102 187 495 102 159 168 169 487 488 489 570 The GUIincludes a save USCand a cancel USC. In response to selection of the save USC, the processorsaves any changes made to a PID range or expected value using the GUI. In response to selection of the cancel USC, the processordoes not save any changes entered into the USC,,,,,,.

40 FIG. 40 FIG. 41 FIG. 23 FIG.A 23 FIG.C 295 295 295 413 414 415 295 200 Next,shows a GUI. The view of the GUIinis an alternative view of the GUIshown inafter and/or before use of the container resizing USC,,. The GUIcorresponds to the PID topic fileshown into.

40 FIG. 41 FIG. 40 FIG. 41 FIG. 23 FIG.A 313 295 333 295 295 447 333 448 295 448 203 Inand, the GUI descriptionindicates that a theme of the GUIis intelligent diagnostics data. The vehicle identifierin the GUIis in the form Y/M/M/E. The GUIincludes a system identifierindicative of a system in the vehicle identified by the vehicle identifier, and a PID data list identifierused to populate containers displayed in the GUI. In, as well as, the PID data list identifiercorresponds to the PID list name elementshown in.

295 330 331 332 330 407 413 410 449 189 331 408 414 411 450 190 332 409 415 412 451 191 The GUIincludes a PID topic container,,. The PID topic containerincludes a PID topic descriptor, a container resizing USC, a condition icon,, and a container selector USC. The PID topic containerincludes a PID topic descriptor, a container resizing USC, a condition icon,, and a container selector USC. The PID topic containerincludes a PID topic descriptor, a container resizing USC, a condition icon,, and a container selector USC.

410 411 412 449 450 451 The condition icon,,includes a black flag and a numeral indicating a quantity of PIDs, and the condition icon,,includes a white flag and a numeral indicating a quantity of PIDs.

410 411 412 449 450 451 200 23 FIG.A 23 FIG.C In at least some implementations, a black flag within the condition icon,,indicates that the numeral within that condition icon represents a quantity of PIDs for which at least one of the received parameters corresponding to the PIDs are outside a predefined range or does not match an expected value for the PID corresponding to the parameters, and a white flag with the condition icon,,indicates that the numeral within that condition icon represents a quantity of PIDs for which all of the received parameters corresponding to the PIDs are within a predefined range or match an expected value for the PID corresponding to the parameters. Examples of the predefined ranges and/or expected ranges for these implementations are shown in the PID topic fileshown into.

410 411 412 449 450 451 200 23 FIG.A 23 FIG.C In at least some other implementations, a black flag within the condition icon,,indicates that the numeral within that condition icon represents a quantity of PIDs for which all of the received parameters corresponding to the PIDs are within a predefined range or match an expected value for the PID corresponding to the parameters, and a white flag with the condition icon,,indicates that the numeral within that condition icon represents a quantity of PIDs for which at least one of the received parameters corresponding to the PIDs are outside a predefined range or does not match an expected value for the PID corresponding to the parameters. Examples of the predefined ranges for these implementations are shown in the PID topic fileshown into.

295 119 121 123 125 119 295 102 330 331 332 410 411 412 121 295 102 330 331 332 123 295 102 330 331 332 125 295 102 330 331 332 40 FIG. 41 FIG. 40 FIG. 40 FIG. The GUIincludes the USC,,,. With the USCin the on position in the GUI, the processorcan automatically arrange the PID topic container,,based on the numerals in the condition icon,,(e.g., greatest to lowest). With the USCin the on position in the GUI(not set to the on position in), the processorcan automatically arrange containers corresponding to PIDs within the PID topic container,,(see) based on a condition of the PIDs. With the USCin the on position in the GUI(not set to the on position in), the processorcan automatically reverse an order of the PID topic container,,. With the USCin the on position in the GUI(not set to the on position in), the processorcan automatically reverse an order of container corresponding to PIDs in the PID topic container,,.

295 413 414 415 413 414 415 40 FIG. The GUIinshows the container resizing USC,,with a setting represented by a “+” symbol. A description of the “+” above is applicable to the container resizing USC,,.

295 330 331 332 379 380 330 331 332 410 411 412 40 FIG. In GUIshown in, the PID topic container, the PID topic container, and the PID topic containerare arranged in a first particular order in a direction from the sidetowards the side. In at least some implementations, the first particular order of the PID topic container,,is used when the numeral in all of the condition icon,,is zero.

102 295 295 102 118 330 331 332 102 330 331 332 410 411 412 449 450 451 40 FIG. The processorcan output the GUIas shown inand, while that GUIis displayed, the processorand/or the vehicle communication transceivercan transmit VDM to request parameter values for PIDs corresponding to the PID topic container,,. After receiving the parameter values, the processorcan compare the parameter value to a corresponding predefined range or an expected value for a corresponding PID and then count the PIDs corresponding to PID topic container,,to determine whether any change to the numeral in the condition icon,,,,,based on whether the parameter value is within or outside the predefined range or not an expected value.

189 190 191 330 331 332 330 331 332 295 192 192 102 295 122 43 FIG. The container selector USC,,is operable to select the PID topic container,,, respectively, if currently unselected or to unselect the PID topic container,,, respectively, if currently selected. The GUIincludes a modify container USC. In response to determining the modify container USChas been selected, the processorcan modify the GUIor output another GUI on the displayto allow a selected container to be modified., discussed below, shows an example of that other GUI.

41 FIG. 41 FIG. 40 FIG. 40 FIG. 41 FIG. 40 FIG. 41 FIG. 295 295 295 413 414 415 295 330 331 332 295 295 413 414 415 413 414 415 Next,shows the GUI. The view of the GUIinis an alternative view of the GUIshown inafter and/or before use of the container resizing USC,,. Similar to, the GUIshown inincludes the PID topic container,,. However, unlike the GUIshown in, the view of the GUIshown inshows the container resizing USC,,with a setting represented by a “−” symbol. A description of the “−” above is applicable to the container resizing USC,,.

331 295 331 455 456 457 455 419 416 456 421 418 457 420 417 455 456 457 450 411 410 411 412 449 450 451 41 FIG. 41 FIG. With the PID topic containerexpanded, the view of the GUIinshows that the PID topic containerincludes a sub-container,,. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. A count of the white flag(s) and a count of the black flag(s) in the sub-container,,equal the numeral within the condition icon,, respectively. The black flag(s) and white flag(s) in the sub-containers shown inrepresent the same aspects that the black flag and white flag in the condition icon,,,,,represent.

330 295 330 422 423 424 425 426 422 432 427 423 433 428 424 434 429 425 435 430 426 436 431 422 423 424 425 426 449 410 41 FIG. With the PID topic containerexpanded, the view of the GUIinshows that the PID topic containerincludes a sub-container,,,,. The sub-containerincludes and a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. A count of the white flag(s) and a count of the black flag(s) in the sub-container,,,,equal the numeral within the condition icon,, respectively.

332 295 332 452 453 332 295 454 122 452 439 437 453 440 438 237 239 238 240 41 FIG. 41 FIG. 23 FIG.C With the PID topic containerexpanded, the GUIinshows that the PID topic containerincludes a sub-container,. The PID topic containerincludes two other sub-containers. As shown in, the GUIincludes a scroll barthat can be used to cause those other two sub-containers to be displayed on the display. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes and a parameter valuecorresponding to a PID identified by a PID descriptor. The other two sub-containers can include parameter values corresponding to a PID corresponding to the PID key element,shown in, and a flag representing whether the parameter values equal an expected value corresponding to the expected value element,.

42 FIG. 40 FIG. 38 FIG. 38 FIG. 546 295 546 541 333 447 448 541 376 372 Next,shows a GUI. Compared to the view of the GUIshown in, the GUIincludes a DTC identifierin addition to the vehicle identifier, the system identifier, and the PID data list identifier. In at least some implementations, the DTC within the DTC identifiercan be determined in response to a selection of the USCshown in, manually selected using a DTC selector (similar to the DTC selectorshown in), or by some other means.

295 546 330 546 211 200 541 546 331 332 541 212 213 200 Another difference between the GUIand the GUIis that the PID topic containeris not shown in the GUI. In at least some implementations, this is a result of the PID topic elementin the PID topic filenot being associated with the DTC listed in the DTC identifier. On the other hand, the GUIshows the PID topic container,because the DTCs listed in the DTC identifierare associated with the PID topic element,in the PID topic file.

295 546 331 332 331 332 331 332 379 380 119 Yet another difference between the GUIand the GUIis that the PID topic container,have been arranged automatically in an order based on a quantity of PIDs corresponding to the PID topic container,that are associated with a parameter value that has breached a threshold or is an unexpected value. In other words, the PID topic container,are arranged based on a numeral in the condition icons with black flags from a greatest numeral to a lowest numeral and in a direction from the sidetowards the side. This automatic arrangement occurs because the USCis set to the on position.

541 42 FIG. Although the DTC identifiershown inlists two different DTC, a DTC identifier on a different GUI including one or more sub-containers of a PID topic can include only one DTC or can include three or more DTC. In some implementations, a PID topic may not include any DTC (e.g., includes zero DTC).

43 FIG. 40 FIG. 40 FIG. 141 313 141 102 192 190 331 141 331 141 331 414 141 Next,shows a GUI. The GUI descriptionindicates that the GUIpertains to generating a custom container. In at least some implementations, the processoroutputs a GUI to modify a PID topic container in response to selection of a modify container USC, such as the modify container USCshown in. As shown in, the container selector USCincludes an “X” to represent that the containerhas been selected. The GUIincludes the PID topic container. The GUIshows the PID topic containerin an expanded state with the container resizing USCwith a setting represented by a “−” symbol. In at least some other implementations, the GUIcan be used to generate a PID topic including one or more containers having one or more sub-containers without having first selected a container to modify.

141 548 548 193 194 195 196 197 198 143 144 145 146 147 148 143 144 145 146 147 148 331 The GUIincludes a list of textual PIDs. The list of textual PIDsincludes a sub-container,,,,,showing respective textual PIDs and a sub-container selector,,,,,operable to select a sub-container. An “X” within the sub-container selector,,,,,represents that the corresponding sub-container and/or a textual PID within the corresponding sub-container has been selected for adding to the PID topic container.

141 109 127 129 455 456 457 109 127 129 331 109 127 331 109 127 129 331 The GUIincludes a sub-container selector,,within the sub-container,,, respectively. An “X” within the sub-container selector,,can represent that the corresponding sub-container has been selected for removal from the PID topic container. The sub-container selector,, can be left empty to indicate that the corresponding sub-container is to remain in the PID topic container. In other implementations, the sub-container selector,,is selected to indicate that the corresponding sub-container is to remain in the PID topic container. In at least some implementations, removal of a sub-container and/or a PID of a default container are not removable by a user.

141 419 420 421 610 83 141 419 420 421 610 83 The GUIshows a GUI without the parameter value,,, but with a flag,in a white state. In at least some other implementations, the GUIcan include the parameter value,,and/or with one or more of the flag,in a black state if a received parameter value for a corresponding PID has breached a range of parameter values or is not an expected value.

141 199 102 161 109 127 129 143 144 145 146 147 148 141 257 102 161 331 109 127 129 143 144 145 146 147 148 139 179 The GUIincludes a USCoperable to indicate to the processor,to clear a selection of any sub-container using the sub-container selector,,,,,,,,. The GUIincludes a USCoperable to indicate to the processor,save the PID topic containerthat has been modified based on the sub-container selector,,,,,,,,showing whether a corresponding sub-container has been selected. A PID topic including a modified container can be saved in the PID topic fileand/or the PID topic file.

141 333 447 448 448 448 448 448 102 161 448 448 100 40 FIG. The GUIincludes the vehicle identifier, the system identifier, and the PID data list identifier. A first portion of the PID data list identifierthat is not underlined is identical to the PID data list identifiershown in. A second, underlined portion of the PID data list identifieris appended to the first portion. In some implementations, the second portion of the PID data list identifieris selected by the processor,. In other implementations, a user can select the second portion of the PID data list identifier. In at least some implementations, an entirety of the PID data list identifierfor a user-modified container can be selected by a user of the computing system.

141 548 331 141 In at least some implementations, selecting a sub-container to include in a PID topic being generated using the GUIcan include dragging a sub-container from the list of textual PIDsand dropped within the PID topic container. In those or in other implementations, selecting a sub-container to include in a PID topic being generated using the GUIcan include selecting the sub-container audibly with or without audibly selecting the container that is to include the sub-container selected audibly.

46 FIG. 23 FIG.A 23 FIG.B 23 FIG.C 43 FIG. 23 FIG.B 23 FIG.C 578 578 200 141 578 200 578 201 215 241 211 204 205 Next,shows a PID topic file portion. The PID topic file portionis an example of a portion of a PID topic file that can result from modifying a portion of the PID topic fileshown in,,by using the GUI(shown in). A PID topic file including the PID topic file portioncan also include the portions of the PID topic fileshown inand. The PID topic file portionincludes the start tag, PID topic name element, the declaration, and the PID topic elementthat starts with the start tagand ends with the end tag.

46 FIG. 23 FIG.A 211 578 211 200 211 578 244 211 578 586 587 588 589 A comparison ofandshows that the PID topic elementfor the PID topic file portionis different than the PID topic elementwithin the PID topic file. One difference is that the PID topic elementfor the PID topic file portiondoes not include the PID element. Another difference is that the PID topic elementfor the PID topic file portionincludes the PID element,,,.

211 578 586 599 580 585 586 600 Additionally, the PID topic elementin the PID topic file portionincludes, within the PID element, a PID key elementthat includes the textual data “Low Coolant Level” between a start tagand an end tag. The PID elementincludes an expected value element.

211 578 587 601 587 602 Similarly, the PID topic elementin the PID topic file portionincludes, within the PID element, a PID key elementthat includes the textual data “Coolant Level Switch” between a start tag and an end tag. The PID elementincludes an expected value element.

211 578 588 603 588 604 Likewise, the PID topic elementin the PID topic file portionincludes, within the PID element, a PID key elementthat includes the textual data “Cooling Fan Motor Commanded” between a start tag and an end tag. The PID elementincludes an expected value element.

211 578 589 605 589 606 607 Moreover, the PID topic elementin the PID topic file portionincludes, within the PID element, a PID key elementthat includes the textual data “Calculated Engine Coolant Temperature” between a start tag and an end tag. The PID elementincludes a range top elementand a range bottom element.

578 200 578 579 200 203 579 448 141 43 FIG. Finally, another difference between the PID topic file portionand the PID topic fileis that the PID topic file portionincludes a PID list name element, whereas the PID topic fileincludes the PID list name element. The PID list name elementmatches the PID data list identifierwithin the GUIshown in.

578 100 578 139 578 160 578 179 162 578 578 160 100 In at least some implementations, a PID topic file including the PID topic file portionis stored locally on the computing system(e.g., a computing device used to the generate that PID topic file). For example, the PID topic file including the PID topic file portioncan be stored within the PID topic file. Additionally, or alternatively, the PID topic file including the PID topic file portioncan be stored in a memory accessible by server. For example, the PID topic file including the PID topic file portioncan be stored in the PID topic filein the memory. Still further, the PID topic file including the PID topic file portioncan be stored locally in the memory of a computing device that receives the PID topic file including the PID topic file portionfrom the server. The aforementioned computing device can be arranged like the computing system.

44 FIG. 40 FIG. 44 FIG. 181 295 181 259 259 181 259 181 Next,shows the GUI. Compared to the GUIshown in, the GUIshown inincludes a selection container. In at least some implementations, the selection containeroverlays a portion of the GUI. In alternative implementations, the selection containercan be within a separate GUI other than the GUI.

102 161 259 376 102 161 12 259 142 149 376 38 FIG. As an example, the processor,can output the selection containerin response to a selection of the USC(shown in) and the processor,determining the results of scanning the vehiclefor DTC and PID topic(s) corresponding to a selected vehicle and system and/or corresponding to a selected vehicle and system and scan results. In at least some implementations, the selection containerincludes dataidentifying the selected vehicle and system and scan resultsfrom use of the USC.

259 611 612 102 161 259 611 102 161 295 612 102 161 547 44 FIG. 45 FIG. The selection containerincludes a USC,operable for a user to select a respective PID list that the processor,determined based on the selected vehicle and system, and scan results. As shown in, the selection containercan include a USC for selecting a PID list that was generated by modifying a different PID list. In response to a selection of the USC, the processor,can output the GUI. In response to a selection of the USC, the processor,can output a GUI(shown in).

259 99 259 99 181 40 FIG. The selection containerincludes a USCoperable to cause removal of the selection container. Upon selecting the USC, the GUIcan appear as shown in.

100 100 100 100 22 100 In at least some implementations, a modified PID topic is presented for selection only to a user that used the computing systemto modify a PID list and/or to the computing systemthat was used to modify a PID list. In at least some other implementations, a modified PID list is presentable to other users of the computing systemor on another computing system configured to operate like the computing system. In accordance with the aforementioned implementations, the servercan operate as a cloud file sharing site that is operable to serve (e.g., transmit) a modified PID list to the computing systemor a like computing system. As an example, the cloud file sharing site can be configured to operate like the ALTUS™ cloud file sharing site managed by and/or on behalf of Snap-on Incorporated®, a corporation having an office in Kenosha, Wisconsin.

45 FIG. 42 FIG. 42 FIG. 45 FIG. 43 FIG. 547 313 547 547 333 447 541 546 448 547 448 448 141 Next,shows a GUI. The GUI descriptionindicates that a theme of the GUIis intelligent diagnostics data. The GUIincludes the vehicle identifier, the system identifier, and the DTC identifiersimilar to the GUIshown in. The PID data list identifierin the GUI, however, is different than the PID data list identifiershown in. As shown in, the PID data list identifierlists a name of a custom PID topic generated using the GUIshown in.

547 331 331 411 450 547 411 450 547 331 456 457 522 523 524 525 455 331 331 43 FIG. 42 FIG. 43 FIG. 43 FIG. The GUIshows an example result of modifying the PID topic containerin that the PID topic containerincludes six sub-containers instead of three sub-containers as shown in. Additionally, the condition icon,shown in the GUIshow a total of six flags as compared to the three flags represented by the condition icon,inand. The GUIalso shows that the PID topic containerstill includes the sub-container,and now includes a sub-container,,,, but no longer includes the sub-container(as shown in). Modifying the PID topic containercan include and/or result from modifying a PID list that corresponds to the PID topic container.

522 527 526 523 529 528 524 543 542 525 545 544 The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor.

102 161 104 162 333 447 541 In at least some implementations, the processor,writes PID values and corresponding PIDs into the memory,for storage therein. In at least some of those implementations, other data, such as a time corresponding to each PID parameter value, and/or one or more from among the vehicle identifier, the system identifier, and the DTC identifieris stored with the corresponding PIDs. In at least some implementations, a GUI includes a container corresponding to PID parameter value storage configuration.

47 FIG. 615 638 615 615 616 639 638 615 637 617 618 615 Next,shows a containerand a PID topic file portionthat corresponds to the container. The containeris populated with a PID topic descriptorthat matches a PID topic name elementwithin the PID topic file portion. The containeralso includes a container resizing USC, and a condition icon,that include numerals that, in combination, add up to a quantity of sub-containers in the containerthat include a flag indicative of a PID condition.

615 619 620 621 622 623 624 619 620 621 622 623 624 619 627 628 620 625 626 621 629 630 622 631 632 623 633 634 624 635 636 The containerincludes a sub-container,,,,,. Similar to other sub-containers described above, each of the sub-container,,,,,includes a flag and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor.

638 638 200 The portion of the PID topic file portionis arranged as elements of an XML file. A PID topic file that includes the portion of the PID topic file portioncan include a PID list name element, a system element indicative of a system within a vehicle, and/or a declaration, similar to the arrangement of the PID topic file.

638 720 721 722 638 The portion of the PID topic file portionincludes a PID topic elementincluding a PID elementand a set of similar PID elements. A PID topic file that includes the portion of the PID topic file portioncan further include one or more other PID topic elements, each with one or more PID elements.

721 640 721 641 643 641 642 643 644 645 The PID elementincludes a PID key elementthat includes the textual data “Transmission Gear” between a start tag (e.g., <pidKey>) and an end tag (e.g., </pidKey>). The PID elementincludes an expected value element,. The expected value elementcorresponds to a condition element. The expected value elementcorresponds to a condition element,.

102 161 640 641 12 642 102 161 642 642 The processor,compares received PID parameter values for a PID identified by PID key elementto an expected value indicated by the expected value elementwhen a condition of the vehiclematches a condition indicated by the condition element. The processor,can determine the condition indicated by the condition elementbased on a received PID parameter value for a PID corresponding to the condition element.

102 161 640 643 12 644 645 102 161 644 645 644 645 Likewise, the processor,compares received PID parameter values for a PID identified by PID key elementto an expected value indicated by the expected value elementwhen a condition of the vehiclematches a condition indicated by the condition elementand a condition indicated by the condition element. The processor,can determine the condition indicated by the condition element,based on a received PID parameter value for a PID corresponding to the condition element,, respectively.

722 A set of similar PID elements, such as the set of similar PID elements, includes multiple PID elements. In at least some implementations, a set of similar PID elements includes a range top element, a range bottom element, and a variance element that corresponds to the multiple PID elements of the set of similar PID elements. Additionally, or alternatively, a set of similar PID elements includes an expected value element that corresponds to the multiple PID elements of the set of similar PID elements.

47 FIG. 722 647 648 649 650 651 652 653 654 646 655 647 648 649 650 651 12 12 654 654 647 648 649 650 651 654 As shown in, the set of similar PID elementsincludes a PID key element,,,,, a range top element, a range bottom element, and a variance elementbetween a start tagand an end tag. In this example, the PID corresponding to the PID key element,,,,identify PID parameter values corresponding to a speed. While the speed of various wheels on the vehiclecan vary, especially while the vehicleis turning a corner, the wheel speeds will vary at most by a threshold amount. The threshold amount is identified in the variance element. As an example, the variance elementcan be associated with units such as miles per hour or kilometers per hour. PID parameter values associated with PIDs corresponding to the PID key element,,,,can indicate a speed in the units associated with the variance element.

47 FIG. 625 629 631 633 635 625 629 631 633 635 625 629 625 629 631 633 635 631 633 635 As shown in, the parameter value,are zero (0) and three (3) miles per hour (MPH) whereas the parameter value,,are forty-five (45) MPH. In this case, since the majority of the parameter value,,,,are forty-five (45) MPH, the flags for the parameter value,are black flags to indicate that the parameter value,are suspect, and the flags for the parameter value,,are white flags to indicate that the parameter value,,appear to be proper.

102 102 102 In some cases, the processorcan compare a number of parameter values for a set of similar PID elements and determine that parameter values for half of the PID elements in the set of similar PID elements are suspect and that parameter values for the other half of the PID elements in the set of similar PID elements appear to be proper. In this case, for some implementations, the processorcan output black flags in the containers corresponding to the PID parameter values that are suspect and white flags in the container corresponding to the PID parameter values that appear to be proper. Alternatively, in some implementations, the processorcan output black flags in the containers corresponding to the PID parameter values that are suspect and flags other than black or white flags in the containers corresponding to the PID parameter values that appear to be proper.

48 FIG. 47 FIG. 48 FIG. 47 FIG. 615 615 681 102 161 615 681 721 720 Next,shows another view of the container. As compared to, the containershown inincludes a sub-containerthat is not shown in. The processor,can modify the containerto include the sub-containerupon determining that the PID elementspecified in the PID topic elementis associated with PID parameter values that do not match an expected value.

47 FIG. 47 FIG. 619 627 628 642 619 681 100 In, the sub-containershows that the parameter valuecorresponding to the PID descriptoris “DRIVE,” which matches the condition element “DRIVE” specified by the condition element. Since the PID parameter value matches the condition, the flag in the sub-containershown inis a white flag. Under these circumstances, displaying the sub-containermay be of minimal interest to a user of the computing systemsince there is no black flag condition needing to be diagnosed.

48 FIG. 48 FIG. 619 627 628 643 619 681 100 619 In, however, the sub-containershows that the parameter valuecorresponding to the PID descriptoris “PARK,” which does not match the condition element “PARK” specified by the expected value element. The flag in the sub-containershown inis a black flag. Under these circumstances, displaying the sub-containercan be of increased interest to a user of the computing systemsince the user may want to diagnose the black flag condition specified by the sub-container.

49 FIG. 47 FIG. 681 615 681 684 684 693 684 684 719 685 686 684 684 100 Next,shows an alternative implementation of displaying the sub-container. In this implementation, the containerincludes the same quantity of sub-containers as shown in. The sub-containeris displayed in a container. The containeris populated with a PID topic descriptorindicating that the containerpertains to supplemental PID elements. The containeralso includes a container resizing USC, and a condition icon,that, in combination include numerals that add up to a quantity of sub-containers in containerthat include a flag indicative of a PID condition. The containercan include a sub-container for each PID that relates to a PID within a PID topic that is associated with a black flag to indicate a PID condition that a user of the computing systemmay want to diagnose.

50 FIG. 50 FIG. 615 620 12 626 625 620 620 100 Next,shows an alternative view of the container. In this view, the sub-containerprovides an indication that PID parameter values are unavailable from the vehiclefor the PID corresponding to the PID descriptor. As an example, the parameter valuecan explicitly indicate “Not Available” or using an abbreviation, such as “Not Avail.” As another example, the indication that PID parameter values are unavailable can include a non-textual indication, such as highlighting the sub-container. In, this highlighting is represented by cross-hatching within the sub-container. As yet another example, a sub-container for a PID for which the computing devicehas not received parameter values may not include a sub-container resizing USC and/or may not include a flag.

51 FIG. 615 620 615 102 161 12 626 Next,shows another alternative view of the container. In this view, the sub-containerhas been omitted from the container. The processor,can omit the sub-container in response to determining that the vehicleis not providing a PID parameter value in response to one or more requests for the PID corresponding to the PID descriptor.

52 FIG. 656 673 656 656 102 161 Next,shows a containerand a PID topic file portionthat corresponds to the container. The containerincludes sub-containers that correspond to PIDs values that are compared to expected value elements including a specified quantity of cross counts (e.g., “x-counts”) per unit of time. The processor,can count instances of a PID parameter values for a particular PID crossing a particular value.

656 658 674 673 656 657 659 660 656 The containeris populated with a PID topic descriptorthat matches a PID topic name elementwithin the PID topic file portion. The containeralso includes a container resizing USC, and a condition icon,that, in combination include numerals that add up to a quantity of sub-containers in containerthat include a flag indicative of a PID condition.

656 661 662 663 664 661 662 663 664 661 665 666 662 667 668 663 669 670 664 671 672 The containerincludes a sub-container,,,. Similar to other sub-containers described above, each of the sub-container,,,includes a flag and a sub-container resizing USC. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor. The sub-containerincludes a parameter valuecorresponding to a PID identified by a PID descriptor.

673 638 200 The PID topic file portionis arranged as elements of an XML file. The PID topic file portioncan include one or more other PID topic elements, a PID list name element, a system element indicative of a system within a vehicle, and/or a declaration, similar to the arrangement of the PID topic file.

673 723 724 726 727 728 The PID topic file portionincludes a PID topic elementincluding a PID element,,,.

724 675 724 676 677 The PID elementincludes a PID key elementthat includes the textual data “O2 Sensor: Bank 1, Sensor 1” between a start tag (e.g., <pidKey>) and an end tag (e.g., </pidKey>). The PID elementincludes a range top elementwith data indicative of a maximum threshold value, and a range bottom elementwith data indicative of a minimum threshold value.

726 678 726 679 10 726 729 678 The PID elementincludes a PID key elementthat includes the textual data “O2 Sensor: Bank 1, Sensor 1” between a start tag (e.g., <pidKey>) and an end tag (e.g., </pidKey>). The PID elementincludes an expected value elementhaving data indicative of a number of cross counts (e.g.,) per a unit of time (e.g., ten seconds). The PID elementincludes a cross value elementfor comparing to received PID parameter values corresponding to a PID identified by the PID key element. In at least some implementations, a flag within a sub-container indicative of a quantity of cross counts is displayed as a black flag if the received PID parameter values cross the specified cross value element per specified unit of time more than the specified number of cross counts. Otherwise, the flag is displayed as a white flag if the received PID parameter values do not cross the specified cross value element per specified unit of time more than the specified number of cross counts.

727 680 727 577 682 The PID elementincludes a PID key elementthat includes the textual data “O2 Sensor: Bank 1, Sensor 2” between a start tag (e.g., <pidKey>) and an end tag (e.g., </pidKey>). The PID elementincludes a range top elementwith data indicative of a maximum threshold value, and a range bottom elementwith data indicative of a minimum threshold value.

728 683 728 573 728 730 683 The PID elementincludes a PID key elementthat includes the textual data “O2 Sensor: Bank 1, Sensor 2” between a start tag (e.g., <pidKey>) and an end tag (e.g., </pidKey>). The PID elementincludes an expected value elementhaving data indicative of a number of cross counts per a unit of time. The PID elementincludes a cross value elementfor comparing to received PID parameter values corresponding to a PID identified by the PID key element.

53 FIG. 26 FIG. 34 FIG. 53 FIG. 53 FIG. 296 296 296 296 296 697 697 296 312 328 329 335 466 467 468 469 470 471 472 473 121 296 Next,shows another view of the GUI. Other views of the GUIare shown into. Those other views of the GUIshow the GUIwith the PID topic view selected. In, however, the GUIis shown with a list view selected via the USC. The underlined text in the USCrepresents that the list view is the currently selected view. As shown in, the GUIincludes the sub-container,,,,,,,,,,,. The USCis in the on position and the sub-containers in the GUIare arranged alpha-numerically based on the PID in each sub-container.

54 FIG. 54 FIG. 54 FIG. 40 FIG. 54 FIG. 295 295 122 331 295 331 408 408 295 102 161 295 Next,shows the GUI. In, the GUIshows that a GUI displayed on the displaycan include a single PID topic container (e.g., the PID topic container). As an example, the GUI, as shown in, can be displayed in response to a selection of the PID topic container. In at least some implementations, the PID topic descriptorcan be arranged as a USC. In accordance with those implementations, in response to a selection of the PID topic descriptorfrom the GUI, as shown in, can cause the processor,to display the GUIas shown in. In other implementations, some other USC included within a GUI including multiple PID topic containers can be selected to cause only one of the multiple PID topic containers to be displayed within the GUI.

295 733 102 161 295 330 331 332 54 FIG. 40 FIG. The GUI, as shown in, includes a USC. The processor,can revert to showing the GUIwith the PID topic container,,, for example as shown in.

57 FIG. 57 FIG. 1200 122 102 1200 131 104 1200 139 100 1200 1200 22 1200 1201 1200 1201 1211 1212 1213 1212 1201 1213 1201 1212 1213 1212 1213 1212 1213 1212 1213 1212 1213 Next,shows a GUIdisplayed on the display. The processorcan output the GUIfrom the GUIstored in the memory. Additionally, or alternatively, the GUIcan be based on a PID topic file within the PID topic file. The computing devicecan receive the GUIand/or a PID topic file to generate the GUIfrom the server. The GUIincludes a PID topic container. The GUIand the PID topic containerinclude a PID topic descriptorand a USC,. The USCincludes a condition icon and a numeral indicating that no out-of-range parameters and no parameters with an unexpected value have been received for ninety-four PIDs corresponding to the PID topic container. The USCincludes a condition icon and a numeral indicating that out-of-range parameters or a parameter with an unexpected value have been received for six PIDs corresponding to the PID topic container. In, the USC,is unshaded. For purposes of this description, the USC,being unshaded represents that a filtering function corresponding to the USC,is disabled. Alternatively, the USC,being shaded represents that a filtering function corresponding to the USC,is enabled.

1201 1202 1203 1204 1205 1206 1207 1208 1209 1201 1214 1215 1202 1203 1204 1205 1206 1207 1208 1209 1222 57 FIG. 57 FIG. Based on the example numerals discussed in the preceding paragraph, the PID topic containercan correspond to one hundred different PIDs and can include one hundred sub-containers, one for each of the one hundred PIDs.shows sub-container,,,,,,in a contracted state and a portion of a sub-container. Each of the sub-containers in the PID topic containerincludes a PID descriptorand a parameter value. The sub-container,,,,,,,are ordered sequentially based on a battery cell number. The other ninety-two sub-containers can include PID descriptors for a different battery cell number and a parameter value for that respective battery cell. The sub-containers shown inhave a flagthat is unfilled to represent the PID condition in which none of the received parameter values corresponding to the PID for that sub-container has breached any respective PID threshold for that PID.

1200 1210 122 1210 1213 The GUIincludes a scroll barthat is selectable to cause different sub-containers corresponding to different PIDs to be shown on the display. A scroll bar in a PID topic container, such as the scroll bar, is a convenient means for displaying different parts of the PID topic container, but can be cumbersome when the PID topic container has a large number of sub-containers (e.g., fifty or more sub-containers) and/or when more than a couple sub-containers are in an expanded state and a user is interested in seeing sub-containers that are associated with the USC, for example.

58 FIG. 1200 122 1213 1213 1201 1212 1201 1213 1201 1213 1201 1216 1217 1218 1219 1220 1221 1223 Next,shows an alternative view of the GUIon the display. In this view, the USCis shaded to indicate the filtering function corresponding to the USCis enabled. That filtering function includes removing from the PID topic containerthe sub-containers corresponding to the USCand populating the PID topic containerwith sub-containers corresponding to the USCsuch that the only sub-containers shown in the PID topic containerinclude the sub-containers corresponding to the USC. As an example, the PID topic containerincludes a sub-container,,,,,, each of which includes a flagthat corresponds to the PID condition in which at least one of the received parameter values corresponding to the PID for that sub-container has breached a respective PID threshold for that PID.

1212 1213 1213 1212 1201 1213 1201 1212 1201 1213 In at least some implementations, selecting the USCwith the filtering function for the USCenabled, the processor can disable the filtering function for the USCand enabling the filtering function for the USC. That filtering function includes removing from the PID topic containerthe sub-containers corresponding to the USCand populating the PID topic containerwith sub-containers corresponding to the USCsuch that the only sub-containers shown in the PID topic containerinclude the sub-containers corresponding to the USC.

1222 1223 1212 1213 1212 1213 1212 1213 1210 In at least some implementations, a PID topic container can include additional sub-container(s) that are not associated with the PID conditions described as being associated with the flag,, as well as USC like the USC,. In at least some of those implementations, enabling the filtering function for the USCor the filtering functionresults in removing and/or not presenting the additional sub-containers described above. In at least some other implementations, enabling the filtering function for the USCor the filtering function for the USCresults in the additional sub-containers described above being available within the PID topic container corresponding to the additional sub-containers. A scroll bar, like the scroll bar, may need to be used to present some or all of the additional sub-containers.

A vehicle is a mobile machine that can be used to transport a person, people, and/or cargo. Accordingly, a vehicle can be driven and/or otherwise guided along a path (e.g., a paved road or otherwise) on land, in water, in the air, and/or outer space. A vehicle can be wheeled, tracked, railed, and/or skied. A vehicle can include an automobile, a motorcycle (e.g., a two or three wheel motorcycle), an all-terrain vehicle (ATV) defined by ANSI/SVIA-1-2007, a snowmobile, a watercraft (e.g., a JET SKI® personal watercraft), a light-duty truck, a medium-duty truck, a heavy-duty truck, a semi-tractor, a drone, and/or a farm machine. A vehicle can include and/or use any appropriate voltage and/or current source, such as a battery, an alternator, a fuel cell, and the like, providing any appropriate current and/or voltage, such as about 12 volts, about 42 volts, 400 volts, 800 volts, or some other voltage level. A vehicle can include and/or use any system and/or engine to provide its mobility. Those systems and/or engines can include vehicle components that use fossil fuels, such as gasoline, natural gas, propane, and the like, electricity, such as that generated by a battery, magneto, fuel cell, solar cell and the like, wind and hybrids and/or combinations thereof. A vehicle can include an electronic control unit (ECU), an OBDC, and a vehicle network that connects the OBDC to the ECU. A vehicle can be operable to operate as an autonomous vehicle.

Some vehicles and types of vehicles can be identified by characteristics of the vehicle such as characteristics indicative of when the vehicle was built (e.g., a vehicle year), who built the vehicle (e.g., a vehicle make), marketing names associated with vehicle (e.g., a vehicle model name, or more simply “model”), and features of the vehicle (e.g., an engine type). This description uses an abbreviation YMME and/or Y/M/M/E, where each letter in the order shown represents a model year, vehicle make, vehicle model name, and engine type, respectively. This description uses an abbreviation YMM and/or Y/M/M, where each letter in the order shown represents a model year, vehicle make, and vehicle model name, respectively. An example Y/M/M/E is 2020/Toyota/Camry/4Cyl, in which “2020” represents the model year the vehicle was built, “Toyota” represents the name of the vehicle manufacturer Toyota Motor Corporation, Aichi Japan, “Camry” represents a vehicle model built by that manufacturer, and “4Cyl” represents a an engine type (e.g., a four cylinder internal combustion engine) within the vehicle. A person skilled in the art will understand that other features in addition to or as an alternative to “engine type” can be used to identify a vehicle. These other features can be identified in various manners, such as a regular production option (RPO) code, such as the RPO codes defined by the General Motors Company LLC, Detroit Michigan.

Some vehicles, such as automobiles, are associated with a unique vehicle identification number (VIN). Some VINs include seventeen alpha-numeric characters. For at least some seventeen character VINs, the last six characters represent a unique serial number associated with a particular type of vehicle represented by the first eleven alpha-numeric characters of those VINs. The first eleven alpha-numeric characters typically represent at least a YMME or a YMM. In some instances, a vehicle includes a one-dimensional bar code indicative of a VIN associated with that vehicle.

32 12 40 51 1060 A vehicle network, such as the vehicle communication networkcan include one or more conductors (e.g., copper wire conductors) and/or can be wireless. As an example, a vehicle network can include one or two conductors for carrying vehicle data messages in accordance with a vehicle data message (VDM) protocol, such as a bi-directional VDM protocol. A bi-directional VDM protocol can include a SAE® J1850 (PWM or VPW) VDM protocol, an SAER J1939 VDM protocol based on the SAER J1939_201808 serial control and communications heavy duty vehicle network-top level document, and/or any other core J1939 standard, an ISO® 15764-4 controller area network (CAN) VDM protocol, an ISO® 9141-2 K-Line VDM protocol, an ISO® 14230-4 KWP2000 K-Line VDM protocol, an ISO® 17458 (e.g., parts 1-5) FlexRay VDM protocol, an ISO® 17987 local interconnect network (LIN) VDM protocol, a CAN 2.0 VDM protocol, standardized in part using an ISO® 11898-1:2015 road vehicle-CAN-Part I: data link layer and physical signaling protocol, a CAN FD VDM protocol (e.g., CAN with flexible data rate VDM protocol), a MOST® Cooperation VDM protocol (such as the MOST Specification Rev. 3.0 E2, or the MOST® Dynamic Specification, Rev. 3.0.2), an Ethernet VDM protocol (e.g., an Ethernet 802.3 protocol using a BROADR-REACH® physical layer transceiver specification for Automotive Applications by Broadcom Inc., San Jose, California), or some other VDM protocol defined for performing communications with or within the vehicle,,,. Each and every VDM discussed in this description is arranged according to a VDM protocol.

106 118 Instead of being bidirectional, a VDM protocol can be a unidirectional. For example, a SENT VDM protocol (e.g., a single-edge nibble transmission VDM protocol) is a unidirectional VDM protocol. The SENT VDM protocol has been standardized as the SAE J2716 VDM protocol. A sensor in a vehicle can include a transmitter operable to communicate using the SENT VDM protocol (e.g., a SENT VDM transmitter). A vehicle communication bus can operatively connect the SENT VDM transmitter and an ECU within the vehicle. The transceiver(e.g., the vehicle communications transceiver) can include a SENT VDM receiver connectable to the vehicle communication bus operatively connected to the SENT VDM transmitter. The SENT VDM receiver can receive SENT VDM protocol messages representing sensor values output by the sensor with the SENT VDM transmitter.

27 50 56 16 14 100 14 100 80 82 84 20 FIG. An OBDC, such as the OBDC,,can include an on-board diagnostic (OBD) connector, such as an OBD II connector. An OBD II connector can include slots for retaining up to sixteen connector terminals, but can include a different number of slots or no slots at all. As an example, an OBDC can include an OBD II connector that meets the SAE J1962 specification such as a connectorM, part number 12110252, available from Aptiv LLC of Dublin, Ireland. An OBDC can include conductor terminals that connect to a conductor in a vehicle. For instance, an OBDC can include connector terminals that connect to conductors that respectively connect to positive and negative terminals of a battery or battery pack. An OBDC can include one or more conductor terminals that connect to a conductor of a vehicle communication bus such that the OBDC is operatively connected to one or more ECUs. A computing system, such as the computing system,can operatively connect to an OBDC in order to receive VDM from the vehicle including that OBDC. A VDM can carry VDM data. The VDM data can include a PID and parameter values associated with the PID. The VDM data can include a DTC. The operative connection between the OBDC and the computing system,can occur via the arrangement,,shown inor via some other arrangement.

12 983 984 983 985 983 986 987 986 987 988 983 989 61 FIG. 61 FIG. A PID can be associated with one or more thresholds. A threshold corresponding to a PID can be dependent upon an operating condition of the vehicle.shows a set of PID thresholdsfor a set of PIDs. At least some of the PID thresholdsdepend on an operating condition. The PID thresholdscan include a threshold range topand a threshold range bottom. The threshold range topand threshold range bottomcan be specified in some units. Alternatively, the PID thresholdscan include an expected value. In, the term “Null” indicates that a range top, range bottom, unit, or expected value does not correspond to a particular PID.

985 As an example, the operating conditionfor a PID can be a “key-on, engine off” condition or a “key-on, engine on” condition. Other examples of an operating condition corresponding to a PID threshold for a PID include an engine, an engine coolant temperature, an engine load condition, a selected transmission gear condition, an ambient air temperature, an elevation condition, among others. Based on those additional examples, there may be more than two different operating conditions corresponding to PID thresholds for a PID. For instance, the engine coolant temperature operating conditions may include a distinct operating condition for each whole degree between the range between −40° C. and 130° C., and the PID thresholds can include a threshold range top and bottom for each of those operating condition degrees.

PID threshold data for a particular PID can be included in a PID topic file. A processor can determine an operating condition of a vehicle being tested, select the PID threshold(s) corresponding to the operating condition for a particular PID, and display parameter data and the selected PID thresholds for the particular PID within a GUI (e.g., within a PID topic shown in a GUI).

An ECU can control various aspects of vehicle operation and/or components within a vehicle system. For example, an ECU can include a powertrain (PT) system ECU, an engine control module (ECM) ECU, a supplemental inflatable restraint (SIR) system (e.g., an air bag system) ECU, an entertainment system ECU, or some other ECU. An ECU can receive an electrical or optical input from an ECU-connected input device (e.g., a sensor input), control an ECU-connected output device (e.g., a solenoid) via an electrical or optical signal output by the ECU, generate a vehicle data message (VDM) (such as a VDM based on a received input or a controlled output), and set a diagnostic trouble code (DTC) to a state (such as active or history). An ECU can perform a functional test in response to receiving a VDM requesting performance of the functional test. The functional test can be used to test an ECU-connected output device. In at least some implementations, the ECU is operable to perform the functional test and/or provide the diagnostic trouble code in accordance with an industry standard, such as the SAE J1979_201202 and/or ISO 15031-5 standards for E/E diagnostic test modes.

62 FIG. 500 501 500 502 504 509 502 504 502 503 502 503 502 Next,is a simple block diagram of a computing systemin accordance with the example implementations. In a basic configuration, the computing systemcan include a processorand a system memory. A memory buscan be used for communicating between the processorand the system memory. Depending on the desired configuration, the processorcan be of any type including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. A memory controllercan also be used with the processor, or in some implementations, the memory controllercan be an internal part of the processor.

504 504 505 507 505 506 14 100 22 160 507 508 104 162 505 507 502 Depending on the desired configuration, the system memorycan be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. The system memorycan include one or more applications, and program data. The applicationcan include an algorithmthat is arranged to perform the functions described as being performed by the computing system,or the server,. The program datacan include system datathat could be directed to any number of types of data, such as the computer-readable data stored in the memory,. In some example implementations, the applicationscan be arranged to operate with the program dataon an operating system executable by the processor.

500 501 510 511 512 104 162 The computing systemcan have additional features or functionality, and additional interfaces to facilitate communications between the basic configurationand any devices and interfaces. For example, storage devicescan be provided including removable storage devices, non-removable storage devices, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDD), optical disk drives such as compact disc (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Computer storage media can include volatile and nonvolatile, non-transitory, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable program instructions, data structures, program modules, or other data such as the data stored in a computer-readable memory, such at the memory,.

504 510 104 162 504 510 500 The system memoryand the storage devicesare examples of computer-readable memory, such as the memory,. The system memoryand the storage devicescan include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computing system.

500 505 507 517 14 100 122 106 The computing systemcan include or be implemented as a portion of a small-form factor portable (e.g., mobile) electronic device such as a smartphone (e.g., an IPHONE® smartphone from Apple Inc. of Cupertino, California, or a GALAXY S® smartphone from Samsung Electronics Co., Ltd. of Maetan-Dong, Yeongtong-Gu Suwon-Si, Gyeonggi-Do, Republic of Korea), a tablet device (e.g., an IPAD® tablet device from Apple Inc., or a SAMSUNG GALAXY TAB tablet device from Samsung Electronics Co., Ltd.), or a wearable computing device (e.g., a wireless web-watch device or a personal headset device). The application, or the program datacan include an application downloaded to the communication interfacesfrom the APP STORE® online retail store, from the GOOGLE PLAY® online retail store, or another source of the applications. A component of the computing system,, such as the displayand/or the transceiver, can be embodied in the small-form factor electronic device.

500 500 502 504 The computing systemcan include or be implemented as part of a personal computing system (including both laptop computer and non-laptop computer configurations), or a server. The computing systemcan be configured as an embedded system in which the processorincludes an embedded processor and the system memoryincludes an embedded memory.

500 513 514 516 515 517 517 518 520 519 The computing systemcan also include output interfacesthat can include a graphics processing unit, which can be configured to communicate to various external devices such as displaysor speakers via one or more A/V portsor a communication interface. The communication interfacecan include a network controller, which can be arranged to facilitate communications with the other computing systemsover a network communication via one or more communication ports. The communication connection is one example of a communication media. Communication media can be embodied by computer-readable program instructions, data structures, program modules, GUIs, PID topics, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. A modulated data signal can be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media can include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared (IR) and other wireless media.

14 100 517 116 118 519 For the computing system,, the communication interfacecan include the network transceiverand/or the vehicle communications transceiver, and the communication portcan include a communication port connectable to a printer for printing a paper copy of GUI content.

36 FIG. 530 530 Turning back to, a schematic illustrating a conceptual partial view of a computer program productis shown. The computer program productincludes a computer program for executing a computer process on a computing system, arranged according to at least some implementations presented herein. That computer program can be encoded on a non-transitory computer-readable storage medium in a machine-readable format, or on another non-transitory medium or article of manufacture.

530 531 531 532 531 533 531 534 531 535 531 535 1 FIG. 60 FIG. In at least some implementations, the computer program productis provided using a signal bearing medium. The signal bearing mediumcan include one or more programming instructionsthat, when executed by a processor, can provide functionality or portions of the functionality described above with respect toto. In some examples, the signal bearing mediumcan encompass a computer-readable memory, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, or any other memory described herein. In some implementations, the signal bearing mediumcan encompass a computer recordable medium, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, the signal bearing mediumcan encompass a communications medium, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Thus, for example, the signal bearing mediumcan be conveyed by a wireless form of the communications medium(e.g., a wireless communications medium conforming to the IEEE 802.11 standard or another transmission protocol).

532 500 532 500 533 534 535 62 FIG. The one or more programming instructionscan be, for example, computer executable and/or logic implemented instructions. In some examples, a computing system such as the computing systemofcan be configured to provide various operations, functions, or actions in response to the programming instructionsconveyed to the computing systemby one or more of the following; the computer-readable memory, the computer recordable medium, or the communications medium.

14 100 500 102 502 104 504 510 106 517 The computing system,can include any of the components of the computing system. The processorcan be configured like the processor. The memorycan be configured as part of or all of the system memoryor the storage devices. The transceivercan be configured as part of or all of the communication interfaces.

14 100 22 160 500 In at least some implementations, the computing system,, the server,and/or the computing systemincludes a power source. The power source can include a connection to an external power source and circuitry to allow current to flow to other elements connected to the power source. As an example, the external power source can include a wall outlet at which a connection to an alternating current can be made. As another example, the external power source can include an energy storage device (e.g., a battery) or an electric generator.

Additionally, or alternatively, a power source can include a connection to an internal power source and power transfer circuitry to allow current to flow to other elements connected to the power source. As an example, the internal power source can include an energy storage device, such as a battery. Furthermore, any power source described herein can include various circuit protectors and signal conditioners. The power sources described herein can provide a way to transfer electrical currents to other elements that operate electrically.

It should be understood that the arrangements described herein and/or shown in the drawings are for purposes of example only and are not intended to be limiting. As such, those skilled in the art will appreciate that other arrangements and elements (e.g., machines, interfaces, functions, orders, and/or groupings of functions) can be used instead, and some elements can be omitted altogether. Furthermore, various functions described and/or shown in the drawings as being performed by one or more elements can be carried out by a processor executing computer-readable program instructions or by a combination of hardware, firmware, and/or software. For purposes of this description, execution of CRPI contained in a computer-readable memory to perform some function can include executing all of the program instructions of those CRPI or only a portion of those CRPI.

While various aspects and implementations are described herein, other aspects and implementations will be apparent to those skilled in the art. The various aspects and implementations disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the claims, along with the full scope of equivalents to which such claims are entitled. It is also to be understood that the terminology used herein for the purpose of describing implementations only, and is not intended to be limiting.

In this description, the articles “a,” “an,” and “the” are used to introduce elements and/or functions of the example implementations. The intent of using those articles is that there is one or more of the introduced elements and/or functions.

In this description, the intent of using the term “and/or” within a list of at least two elements or functions and the intent of using the terms “at least one of,” “at least one of the following,” “one or more of,” “one or more from among,” and “one or more of the following” immediately preceding a list of at least two components or functions is to cover each implementation including a listed component or function independently and each implementation including a combination of the listed components or functions. For example, an implementation described as including A, B, and/or C, or at least one of A, B, and C, or at least one of: A, B, and C, or at least one of A, B, or C, or at least one of: A, B, or C, or one or more of A, B, and C, or one or more of: A, B, and C, or one or more of A, B, or C, or one or more of: A, B, or C is intended to cover each of the following possible implementations: (i) an implementation including A, but not B and not C, (ii) an implementation including B, but not A and not C, (iii) an implementation including C, but not A and not B, (iv) an implementation including A and B, but not C, (v) an implementation including A and C, but not B, (v) an implementation including B and C, but not A, and/or (vi) an implementation including A, B, and C. For the implementations including component or function A, the implementations can include one A or multiple A. For the implementations including component or function B, the implementations can include one B or multiple B. For the implementations including component or function C, the implementations can include one C or multiple C. In accordance with the aforementioned example and at least some of the example implementations, “A” can represent a component, “B” can represent a system, and “C” can represent a symptom.

The use of ordinal numbers such as “first,” “second,” “third” and so on is to distinguish respective elements rather than to denote an order of those elements unless the context of using those terms explicitly indicates otherwise. The use of the symbol “$” as prefix to a number indicates the number is a hexadecimal number.

U.S. patent application Ser. No. 15/236,060 was filed on Aug. 12, 2016 and published on Feb. 15, 2018 as United States Patent Application Publication No. 2018/004722 A1. U.S. patent application Ser. No. 15/236,060 and United States Patent Application Publication No. 2018/004722 A1 are incorporated herein by reference.

EEE 1 is a method comprising: determining, by a processor while a computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The computing system includes the processor and a display. The display is powered on, but does not display any parameter-identifier (PID) condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit. The method also includes determining, by the processor while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. The method further includes determining, by the processor, a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more parameter-identifiers (PIDs) correspond to the first PID topic. The method further includes switching, by the processor, operation of the computing system from the first state to a second state, the computing system is operable to display a PID condition indicator on the display while operating in the second state. The method also includes receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic. Furthermore, the method includes determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic, the PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore still, the method includes displaying, on the display while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic, the first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs, the first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. EEE 2 is a method according to EEE 1, further comprising displaying, on the display while the computing system operates in the first state and after determining the vehicle identifier and the component identifier, the system identifier, and/or the symptom identifier, a first user-selectable control. Switching operation of the computing system from the first state to the second state occurs in response to a selection of the first user-selectable control. EEE 3 is a method according to any one of EEE 1 to 2, wherein switching operation of the computing system from the first state to the second state occurs in response to determining the first PID topic. EEE 4 is a method according to any one of EEE 1 to 3, further comprising receiving, by the processor, vehicle data transmitted by the vehicle. The vehicle data is indicative of a diagnostic trouble code set active within the vehicle. Determining the component identifier, the system identifier, and/or the symptom identifier is based on the diagnostic trouble code. The diagnostic trouble code set active within the vehicle includes: a diagnostic trouble code set active by the component, or a diagnostic trouble code set active by an electronic control unit that is within the vehicle and that is: (i) operatively connected to the component, (ii) part of the system, and/or (iii) operatively connected to the component and part of the system. EEE 5 is a method according to any one of EEE 1 to 4, wherein determining the component identifier, the system identifier, and/or the symptom identifier includes determining at least a first identifier and a second identifier. Additionally, determining the first PID topic includes aggregating a PID topic corresponding to the first identifier and a PID topic corresponding to the second identifier. The method further comprises determining the one or more PIDs corresponding to the first PID topic by aggregating PIDs corresponding to the PID topic corresponding to the first identifier, and PIDs corresponding to the PID topic corresponding to the second identifier. Furthermore, (i) the first identifier includes a first component identifier and the second identifier includes a second component identifier, a first system identifier, or a first symptom identifier, (ii) the first identifier includes the first system identifier and the second identifier includes the first component identifier, a second system identifier, and/or the first symptom identifier, or (iii) the first identifier includes the first symptom identifier and the second identifier includes the first component identifier, the first system identifier, or a second symptom identifier. EEE 6 is a method according to EEE 5, wherein aggregating the PIDs corresponding to the PID topic corresponding to the first identifier and the PIDs corresponding to the PID topic corresponding to the second identifier includes omitting a particular PID corresponding to the PID topic corresponding to the second identifier because the particular PID is duplicative of a PID corresponding to the PID topic corresponding to the first identifier. EEE 7 is a method according to any one of EEE 1 to 6, further comprising determining, by the processor, a second PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the second PID topic. The method also includes receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the second PID topic. Furthermore, the method includes determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the second PID topic, the PID condition associated with each respective PID corresponding to the second PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore still, the method includes displaying, on the display while the computing system operates in the second state, a descriptor of the second PID topic and a second particular PID condition indicator corresponding to the second PID topic, the second particular PID condition indicator corresponding to the second PID topic indicates a second quantity of PIDs, the second quantity of PIDs indicates how many PIDs corresponding to the second PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the second PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. EEE 8 is a method according to EEE 7, wherein the descriptor of the first PID topic and the first particular PID condition indicator corresponding to the first PID topic are displayed together within a first container. Additionally, the descriptor of the second PID topic and the second particular PID condition indicator corresponding to the second PID topic are displayed together within a second container separate from the first container. The first container and the second container are initially displayed in a first order. Moreover, the method includes determining a user-selection to change an order or a change in the PID condition for each of the one or more PIDs corresponding to the first PID topic and the PID condition for each of the one or more PIDs corresponding to the second PID topic. Furthermore, the method includes displaying the first container and the second container in a second order different than the first order based on the user-selection to change the order or the change in the PID condition for each of the one or more PIDs corresponding to the first PID topic and the PID condition for each of the one or more PIDs corresponding to the second PID topic. EEE 9 is a method according to EEE 8, wherein the first order is: (i) an alpha-numeric order, (ii) a reverse-alpha-numeric order, (iii) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest quantity to a least quantity, (iv) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the least quantity to the greatest quantity, (v) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest percentage to a lowest percentage, (vi) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or (vii) a user-selected order. The second order is a different one of: (viii) the alpha-numeric order, (ix) the reverse-alpha-numeric order, (x) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest quantity to the least quantity, (xi) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the least quantity to the greatest quantity, (xii) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest percentage to the lowest percentage, (xiii) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or (xiv) the user-selected order. EEE 10 is a method according to any one of EEE 1 to 9, wherein displaying the descriptor of the first PID topic and the first particular PID condition indicator corresponding to the first PID topic includes displaying a container including: (i) the descriptor of the first PID topic, (ii) the first particular PID condition indicator corresponding to the first PID topic, and (iii) one or more sub-containers. Additionally, each of the one or more sub-containers includes an alpha-numeric indicator of a particular PID and a parameter value descriptor associated with the particular PID. EEE 11 is a method according to EEE 10, wherein the one or more sub-containers include multiple sub-containers, and the multiple sub-containers are initially arranged in a first order of sub-containers within the container. Additionally, the method includes displaying the multiple sub-containers in a second order of sub-containers different than the first order of sub-containers. Furthermore, the method includes the second order is based on a PID condition for at least one of the one or more PIDs corresponding to the first PID topic changing. EEE 12 is a method according to EEE 10, wherein the one or more sub-containers includes multiple sub-containers, and the multiple sub-containers are initially arranged in a first order of sub-containers within the container. Furthermore, the method includes displaying, on the display while the computing system operates in the second state, a second user-selectable control. The method also includes displaying the multiple sub-containers in a second order of sub-containers in response to a selection of the second user-selectable control. Displaying the multiple sub-containers in the second order includes displaying two or more sub-containers initially arranged in the first order in a reverse order. EEE 13 is a method according to EEE 10, wherein an additional PID corresponds to the first PID topic. The method also includes determining, by the processor, that no PID parameter value is received in response to requesting parameter values from the vehicle for the additional PID. The method further includes displaying, on the display within the container, a sub-container for the additional PID. The sub-container for the additional PID includes an alpha-numeric indicator of the additional PID and an indication that PID parameter values are unavailable from the vehicle for the additional PID, or displaying, on the display, the container without displaying within the container a sub-container for the additional PID. EEE 14 is a method according to EEE 10, wherein: the one or more sub-containers include multiple sub-containers, and the multiple sub-containers are initially arranged in a first order of sub-containers within the container. The method further comprises determining a user-selection to change an order of sub-containers or a change in a PID condition for one or more PIDs corresponding to each sub-container of the multiple sub-containers. Additionally, the method includes displaying the multiple sub-containers in a second order of sub-containers different than the first order of sub-containers based on the user-selection to change the order of sub-containers or the change in the PID condition for one or more PIDs corresponding to each sub-container of the multiple sub-containers. EEE 15 is a method according to EEE 14, wherein the first order is: (i) an alpha-numeric order, (ii) a reverse-alpha-numeric order, (iii) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest quantity to a least quantity, (iv) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the least quantity to the greatest quantity, (v) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from a greatest percentage to a lowest percentage, (vi) an order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or (vii) a user-selected order. Additionally, the second order is a different one of: (viii) the alpha-numeric order, (ix) the reverse-alpha-numeric order, (x) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest quantity to the least quantity, (xi) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the least quantity to the greatest quantity, (xii) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the greatest percentage to the lowest percentage, (xiii) the order based on quantities of PIDs for which the computing system has received out-of-range parameter values and/or unexpected parameter values, from the lowest percentage to the greatest percentage, or (xiv) the user-selected order. EEE 16 is a method according to any one of EEE 1 to 7, further comprising displaying, on the display, a second user-selectable control while the computing system operates in the second state. The method also includes in response to determining the second user-selectable control is selected, (i) changing the display from displaying a container using a first display mode to displaying the container using a second display mode or (ii) changing the display from displaying the container using the second display mode to displaying container using the first display mode. Additionally, displaying the container using the first display mode includes displaying both the descriptor of the first PID topic and the first particular condition indicator corresponding to the first PID topic without displaying in the container a sub-container including an alpha-numeric indicator of a particular PID and a parameter value descriptor associated with the particular PID. Moreover, displaying the container using the second display mode includes displaying: (i) the descriptor of the first PID topic, (ii) the first particular condition indicator corresponding to the first PID topic, and (iii) the sub-container including the alpha-numeric indicator of the particular PID and the parameter value descriptor associated with the particular PID. EEE 17 is a method according to EEE 16, wherein displaying the container using the second display mode includes generating the container and the sub-container based on position data and size data defined for the container and the sub-container. Additionally, the position data and size data defined for the container and the sub-container is specified using pixel coordinates or display percentages. EEE 18 is a method according to any one of EEE 1 to 17, wherein the first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold. Additionally, the method further includes displaying, on the display while the computing system operates in the second state, a second particular PID condition indicator corresponding to the first PID topic, the second particular PID condition indicator corresponding to the first PID topic indicates a second quantity of PIDs, the second quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. EEE 19 is a method according to EEE 18, wherein the processor determines a specific parameter value for a specific PID corresponding to the first PID topic that breaches a PID threshold corresponding to the specific PID if the specific parameter value does not match an expected value corresponding to the specific parameter value. EEE 20 is a method according to any one of EEE 1 to 19, further comprising: determining, by the processor, the vehicle is operating in a first operating condition. The method also includes determining, by the processor, the vehicle changing from operating in the first operating condition to operating in a second operating condition. The one or more PIDs corresponding to the first PID topic include a particular PID. Additionally, a respective PID threshold associated with the particular PID includes a first PID threshold and a second PID threshold different than the first PID threshold. Furthermore, determining a PID condition for the particular PID while the vehicle operates in the first operating condition includes comparing parameter values received while the vehicle operates in the first operating condition and corresponding to the particular PID to the first PID threshold. Furthermore, determining a PID condition for the particular PID while the vehicle operates in the second operating condition includes comparing parameter values received while the vehicle operates in the second operating condition and corresponding to the particular PID to the second PID threshold. EEE 21 is a method according to EEE 20, wherein the first operating condition includes a first temperature and the second operating condition includes a second temperature different than the first temperature. EEE 22 is a method according to any one of EEE 1 to 21, wherein one or more additional PIDs correspond to the first PID topic. The method also includes receiving, by the processor, parameter values automatically requested from the vehicle for the one or more additional PIDs. Additionally, the method includes displaying, on the display, at least some of the parameter values automatically requested from the vehicle for the one or more additional PIDs without displaying any indicator of a PID condition corresponding to the one or more additional PIDs. EEE 23 is a method according to any one of EEE 1 to 22, further comprising receiving, by the processor, a request to generate a custom PID topic based on the first PID topic. The method also includes displaying, on the display in response to the request, a graphical user interface including one or more sub-container selectors, wherein at least one sub-container selector of the one or more sub-container selectors corresponds to a sub-container that is not contained within the first PID topic. Furthermore, the method includes determining, by the processor, a selection of one or more sub-container selectors. Furthermore still, the method includes generating the custom PID topic based on the selection of one or more sub-container selectors. Generating the first PID topic includes generating a custom PID topic different than the first PID topic. EEE 24 is a method according to EEE 23, wherein at least one additional sub-container selector of the one or more sub-container selectors corresponds to a respective sub-container that is contained within the first PID topic. Additionally, generating the custom PID topic based, at least in part on a selection of the at least one additional sub-container selector, includes excluding from the custom PID topic the respective sub-container that is contained within the first PID topic. EEE 25 is a method according to any one of EEE 1 to 24, further comprising determining, by the processor, one or more additional PID topics corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the one or more additional PID topics. The method also includes displaying, on the display while the computing system operates in the second state, multiple containers in a first order. The multiple containers include a respective container for the first PID topic and the one or more additional PID topics. Furthermore, the method includes displaying, on the display while the computing system operates in the second state, a user-selectable control. Furthermore still, the method includes displaying, on the display while the computing system operates in the second state, the multiple containers in a second order in response to a selection of the user-selectable control. Displaying the multiple containers in the second order includes displaying two or more containers displayed according to the first order in a reverse order. EEE 26 is a method according to any one of EEE 1 to 25, further comprising determining, by the processor, a second PID topic mapped to the component identifier, the system identifier, and/or the symptom identifier. Multiple similar PIDs correspond to the second PID topic and each similar PID of the multiple similar PIDs corresponds to a respective common vehicle component on the vehicle. The method also includes receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for each of the multiple similar PIDs corresponding to the second PID topic. Furthermore, the method includes determining, by the processor while the computing system operates in the second state, a PID condition for each of the multiple PIDs corresponding to the second PID topic, at least in part, by determining whether a difference between a respective parameter value for each the one or more PIDs corresponding to the second PID topic exceeds a variance threshold value. Furthermore still, the method includes displaying, on the display while the computing system operates in the second state, a descriptor of the second PID topic and an indicator of the PID condition for each of the multiple similar PIDs corresponding to the second PID topic. EEE 27 is a method according to any one of EEE 1 to 26, further comprising transmitting, by the processor to a server, a request including the vehicle identifier and the component identifier, the system identifier, and/or the symptom identifier. The method also includes receiving, in response to the transmitting the request, a response including a PID topic file corresponding to the first PID topic. EEE 28 is a method according EEE 27, wherein the PID topic file includes a list identifier that corresponds to a PID list stored within a non-transitory computer-readable memory readable by the processor. Additionally, the PID list includes data the processor uses to generate a vehicle data message for requesting parameter values for a PID corresponding to the first PID topic. EEE 29 is a method according EEE 28, wherein the PID topic file and the PID list include a common reference that the processor uses to determine the data the processor uses to generate the vehicle data message for requesting parameter values for the PID corresponding to the first PID topic. EEE 30 is a method according to any one of EEE 1 to 29, wherein the descriptor of the first PID topic and the first particular PID condition indicator corresponding to the first PID topic are displayed together on the display within a first container of a first graphical user interface. The method also includes displaying a first user-selectable control corresponding to the first container. Additionally, the method includes displaying, in response to a selection of the first user-selectable control, a user interface element including supplemental information and/or a second user-selectable control. The user interface element includes an expanded portion of the first container or a second graphical user interface displayed in place of the first graphical user interface. EEE 31 is a method according EEE 30, wherein the second user-selectable control corresponds to a component test that the computing system is programmed to perform, a functional test that the computing system is programmed to request performance of by sending a first particular vehicle data message to the vehicle, or a reset function that the computing system is programmed to request performance of by sending a second particular vehicle data message to the vehicle. EEE 32 is a method according to any one of EEE 1 to 31, further comprising transmitting, by the processor to the vehicle, a request for parameter values from the vehicle, the request including a set of PIDs, the set of PIDs including multiple PIDs corresponding to a particular electronic control unit in the vehicle. The method also includes determining, by the processor, a subset of PIDs, the subset of PIDs including some, but not all PIDs of the set of PIDs. Determining each particular PID to include in the subset of PIDs includes determining that one or more parameter values for the particular PID, received from the vehicle in response to transmitting the request, has breached a threshold corresponding to the particular PID. Additionally, determining the component identifier, the system identifier, and/or the symptom identifier includes determining the symptom identifier. Furthermore, the symptom identifier includes each determined particular PID to include in the subset of PIDs. Furthermore still, determining the first PID topic includes generating a PID topic including the subset of PIDs. EEE 33 is a method according to EEE 32, wherein the set of PIDs includes all PIDs corresponding to the particular electronic control unit. EEE 34 is a computing system comprising a processor, a display, and a non-transitory computer-readable memory. The non-transitory computer-readable memory contains executable instructions. Execution of the executable instructions by the processor causes the computing system to perform functions. The functions include determining, by a processor while a computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The computing system includes the processor and a display. The display is powered on, but does not display any PID condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit. The functions also include determining, by the processor while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. Additionally, the functions include determining, by the processor, a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the first PID topic. Moreover, the functions include switching, by the processor, operation of the computing system from the first state to a second state, the computing system is operable to display a PID condition indicator on the display while operating in the second state. The functions also include receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic. Furthermore, the functions include determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic, the PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore still, the functions include displaying, on the display while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic, the first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs, the first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. EEE 35 is a non-transitory computer-readable memory having stored therein instructions executable by a processor to cause a computing system having a display and the processor to perform functions. The functions include determining, by a processor while a computing system operates in a first state, a vehicle identifier corresponding to a vehicle operatively connected to the computing system. The display is powered on, but does not display any PID condition indicator while the computing system operates in the first state. A component identifier corresponds to a component of the vehicle. A system identifier corresponds to a system of the vehicle. A symptom identifier corresponds to a symptom the vehicle can exhibit. The functions also include determining, by the processor while the computing system operates in the first state, the component identifier, the system identifier, and/or the symptom identifier. The functions further include determining, by the processor, a first PID topic corresponding to the component identifier, the system identifier, and/or the symptom identifier. One or more PIDs correspond to the first PID topic. Still further, the functions include switching, by the processor, operation of the computing system from the first state to a second state, the computing system is operable to display a PID condition indicator on the display while operating in the second state. Additionally, the functions include receiving, by the processor while the computing system operates in the second state, parameter values automatically requested from the vehicle for the one or more PIDs corresponding to the first PID topic. Furthermore, the functions include determining, by the processor while the computing system operates in the second state, a PID condition associated with each respective PID corresponding to the first PID topic, the PID condition associated with each respective PID corresponding to the first PID topic indicates whether at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or whether none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. Furthermore still, the functions include displaying, on the display while the computing system operates in the second state, a descriptor of the first PID topic and a first particular PID condition indicator corresponding to the first PID topic, the first particular PID condition indicator corresponding to the first PID topic indicates a first quantity of PIDs, the first quantity of PIDs indicates how many PIDs corresponding to the first PID topic are associated with the PID condition in which at least one of the received parameter values corresponding to the respective PID has breached a respective PID threshold or how many PIDs corresponding to the first PID topic are associated with the PID condition in which none of the received parameter values corresponding to the respective PID has breached any respective PID threshold. EEE 36 is a computing system comprising: a display; a processor; and a non-transitory computer-readable memory having stored thereon instructions executable by the processor to perform functions, the set of functions comprising a method in accordance with any one of EEE 1 to 35. EEE 37 is a non-transitory computer-readable medium storing program instructions, that when executed by a computing device, cause a set of functions to be performed, the set of functions comprising a method in accordance with any one of EEE 1 to 35. EEE 38 is a method comprising determining, by a computing system, a vehicle identifier corresponding to a vehicle operatively coupled to the computing system. The method also includes determining, by the computing system, at least one other identifier. The method further includes transmitting, by the computing system over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier. Additionally, the method includes receiving, by the computing system from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list. Furthermore, the method includes transmitting, by the computing system to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list. Furthermore still, the method includes displaying, by the computing system on a display, a graphical user interface. The graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list. EEE 39 is a method according to EEE 38, wherein the at least one other identifier includes one or more of a component identifier, a system identifier, or a symptom identifier. Additionally, the component identifier corresponds to a component of the vehicle. Furthermore, the system identifier corresponds to a system of the vehicle. Furthermore still, the symptom identifier corresponds to a symptom the vehicle can exhibit. EEE 40 is a method according to EEE 38, wherein the at least one other identifier includes two or more component identifiers corresponding to respective components of the vehicle. EEE 41 is a method according to EEE 38, wherein the at least one other identifier includes two or more system identifiers corresponding to respective systems of the vehicle. EEE 42 is a method according to EEE 38, wherein the at least one other identifier includes two or more symptom identifiers corresponding to respective symptoms of the vehicle. EEE 43 is a method according to EEE 38, wherein the symptom identifier includes a diagnostic trouble code. EEE 44 is a method according to any one of EEE 38 to 43, wherein the request for the corresponding PID value includes a vehicle data message including a particular PID that corresponds to the PID value. EEE 45 is a method according to any one of EEE 38 to 44, wherein the computing system includes a dongle operatively coupled to the vehicle. Additionally, transmitting the request for the corresponding PID value includes transmitting, from the computing system to the dongle, data for the dongle to generate the vehicle data message. EEE 46 is a method according to any one of EEE 38 to 44, wherein the computing system includes a computer-readable memory storing an ordered list of PIDs. Additionally, the PID list includes at least one index value into the ordered list of PIDs. EEE 47 is a method according to any one of EEE 38 to 46, wherein the one or more PID topic descriptors include a particular PID topic descriptor for a first PID topic. Additionally, the response further includes a respective parameter range or expected value for at least some PIDs contained in the PID list. Moreover, the representation of one or more PIDs includes a condition icon including a first numeral. Furthermore, the first numeral indicates: (i) a quantity of PIDs of the first PID topic for which all parameter values received for a corresponding PID within the first PID topic are within a predefined range or match an expected value for the corresponding PID, or (ii) a quantity of PIDs of the first PID topic for which at least one received parameter value corresponding to a PID within the first PID topic is outside of a predefined range or not matching an expected value for the corresponding PID. EEE 48 is a method according to any one of EEE 38 to 47, wherein the one or more PID topics include a first PID topic and a second PID topic. Moreover, displaying the graphical user interface includes displaying a first container and a second container. Furthermore, the first container includes a first PID topic descriptor corresponding to the first PID topic. Additionally, the first container includes one or more first sub-containers, each first sub-container corresponds to a respective first PID that the metadata indicates is associated with the first PID topic, and each first sub-container includes a representation of the respective first PID corresponding to the first sub-container. Furthermore, the second container includes a second PID topic descriptor corresponding to the second PID topic. Furthermore still, the second container includes one or more second sub-containers, each second sub-container corresponds to a respective second PID that the metadata indicates is associated with the second PID topic, and each second sub-container includes a representation of the respective PID corresponding to the second sub-container. EEE 49 is a method according to any one of EEE 38 to 48, wherein the response includes a PID topic file. EEE 50 is a method according to EEE 49, wherein the PID topic file includes a file arranged as a hyper-text transfer protocol (HTTP) file, an extensible mark-up language (XML) file, or a java script object notation (JSON) file. EEE 51 is a method according to any one of EEE 38 to 50, wherein the at least one other identifier corresponds to an internal combustion engine within the vehicle, a component of the internal combustion engine, or a symptom of the internal combustion engine or that the component of the internal combustion engine can exhibit. Additionally, the one or more PID topic descriptors include a first PID topic descriptor. Furthermore, the first PID topic descriptor is based on metadata corresponding to a group of PIDs associated with a speed and/or load of the internal combustion engine. EEE 52 is a method according to EEE 51, wherein the group of PIDs include one or more from among: a PID corresponding to engine revolutions per minute, a PID corresponding to a crankshaft position sensor, a PID corresponding to a camshaft position sensor, or a PID corresponding to an amount of load applied to the internal combustion engine. EEE 53 is a method according to any one of EEE 38 to 52, wherein the computing system includes a computer-readable memory storing an ordered list of PID topic descriptors. Additionally, the metadata includes at least one index value into the ordered list of PID topic descriptors. EEE 54 is a method according to any one of EEE 38 to 53, wherein the PID list is part of an index list and the index list includes one or more index values to a scan tool function and metadata regarding each scan tool function contained in the index list. EEE 54 is a method according to EEE 54, wherein the scan tool function includes a functional test. EEE 56 is a method according to any one of EEE 54 to 55, wherein the scan tool function includes a reset procedure. EEE 57 is a method according to any one of EEE 54 to 56, wherein the scan tool function includes a component test. EEE 58 is a method according to any one of EEE 38 to 57, wherein the metadata regarding each PID contained in the PID list indicates one or more PID topics corresponding to the PID contained in the PID list. EEE 59 is a method according to EEE 58, wherein the metadata regarding a particular PID contained in the PID lists indicates multiple PID topics corresponding to the particular PID. EEE 60 is a method according to EEE 59, wherein the one or more PID topic descriptors include a PID topic descriptor for a general PID topic. EEE 61 is a method according to EEE 60, wherein the general PID topic corresponds to a component concept associated with multiple components and/or multiple systems of the vehicle. EEE 62 is a method according to EEE 60, wherein the general PID topic corresponds to a component concept associated with multiple symptoms that the vehicle can exhibit. EEE 63 is a method according to EEE 38 to 47, wherein displaying the graphical user interface includes displaying a container, and wherein displaying the container includes displaying a PID topic descriptor corresponding to the first PID topic, and multiple sub-containers. Each sub-container corresponds to a respective PID. EEE 64 is a method according to EEE 63, wherein displaying the graphical user interface includes displaying a user-selectable control corresponding to a first condition and a user-selectable control corresponding to a second condition. The first condition includes a PID condition in which none of the received parameter values corresponding to a PID for a particular sub-container has breached any respective PID threshold for that PID. The second condition includes a PID condition in which at least one of the received parameter values corresponding to a PID for the particular sub-container has breached a respective PID threshold for that PID. EEE 65 is a method according to EEE 64, further comprising determining the user-selectable control corresponding to the first condition is selected and responsively removing from the container each sub-container corresponding to the second condition. EEE 66 is a method according to EEE 64, further comprising determining the user-selectable control corresponding to the second condition is selected and responsively removing from the container each sub-container corresponding to the first condition. EEE 67 is a method according to any one of EEE 63 to 66, wherein the multiple sub-containers include two or more sub-containers that correspond to a respective PID for matched components in the vehicle. EEE 68 is a method according to EEE 67, wherein each of the two or more sub-containers includes an icon representing a condition of a respective one of the matched components. EEE 69 is a method according to EEE 68, wherein the condition of a particular one of the matched components is based on a comparison of parameter values corresponding to a particular PID associated with the particular one of the matched components to a threshold associated with the particular PID. EEE 70 is a method according to EEE 68, wherein the condition of a particular one of the matched components is based on a variance between parameter values corresponding to a particular PID associated with the particular one of the matched components and parameter values corresponding to PIDs for the other matched components. EEE 71 is a computing system comprising a processor, a display, and a non-transitory computer-readable memory. The non-transitory computer-readable memory contains executable instructions. Execution of the executable instructions by the processor causes the computing system to perform functions. The functions include determining, by a computing system, a vehicle identifier corresponding to a vehicle operatively coupled to the computing system, and at least one other identifier. The functions further include transmitting, by the computing system over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier. Additionally, the functions include receiving, by the computing system from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list. Furthermore, the functions include transmitting, by the computing system to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list. Furthermore still, the functions include displaying, by the computing system on a display, a graphical user interface. The graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list. EEE 72 is a non-transitory computer-readable memory having stored therein instructions executable by a processor to cause a computing system having a display and the processor to perform functions. The functions include determining, by a computing system, a vehicle identifier corresponding to a vehicle operatively coupled to the computing system, and at least one other identifier. The functions further include transmitting, by the computing system over a communication network to a remote server, a request for a PID list. The request includes the vehicle identifier and the at least one other identifier. Additionally, the functions include receiving, by the computing system from the remote server, a response to the request over the communication network. The response includes the PID list and metadata regarding each PID contained in the PID list. Furthermore, the functions include transmitting, by the computing system to the vehicle for each PID contained in the PID list, a request for a parameter value corresponding to the PID contained in the PID list. Furthermore still, the functions include displaying, by the computing system on a display, a graphical user interface. The graphical user interface includes one or more PID topic descriptors based on the metadata and a representation of one or more PIDs contained in the PID list. EEE 73 is a computing system comprising: a display; a processor; and a non-transitory computer-readable memory having stored thereon instructions executable by the processor to perform functions, the set of functions comprising a method in accordance with any one of EEE 38 to 70. EEE 74 is a non-transitory computer-readable medium storing program instructions, that when executed by a computing device, cause a set of functions to be performed, the set of functions comprising a method in accordance with any one of EEE 38 to 70. Implementations of the present disclosure can thus relate to one of the enumerated example embodiments (EEEs) listed below.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

May 20, 2026

Publication Date

September 24, 2026

Inventors

Patrick S. Merg
Roy S. Brozovich
Jacob G. Foreman
Joseph R. Grammatico
Brett A. Kelley
Joshua C. Covington
David B. Weiland

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method and system for vehicle service using paramter-identifier topic and test or reset procedure” (US-20260285342-A1). https://patentable.app/patents/US-20260285342-A1

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.