Vehicles (e.g., cars and trucks) include systems and components that require servicing from time to time. Many of those systems and components are serviced via use of a vehicle service tool.
In a first embodiment, a method is provided. The method includes configuring, via a processor, a vehicle service tool to operate in a first state in which a first user-selectable control of the vehicle service tool is operable for selecting a first category of diagnostic descriptors to use when the vehicle service tool operates in a second state. The method also includes receiving, at the processor while the vehicle service tool operates in the first state, a selection of the first user-selectable control and responsively configuring the vehicle service tool to use the first category of diagnostic descriptors when operating in the second state. The method further includes configuring, via the processor, the vehicle service tool to operate in the second state. In the second state the vehicle service tool displays a first graphical user interface and transmits requests for vehicle data messages to a vehicle. Additionally, the method includes receiving, at the processor while the vehicle service tool operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier. Further, the method includes determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier. Furthermore, the method includes outputting, within the first graphical user interface, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier.
In a second embodiment, a computing system is provided. The computing system comprises a processor and a non-transitory computer-readable memory storing executable instructions. Execution of the executable instructions by the processor causes the computing system to perform functions. The functions include configuring, via the processor, a vehicle service tool to operate in a first state in which a first user-selectable control of the vehicle service tool is operable for selecting a first category of diagnostic descriptors to use when the vehicle service tool operates in a second state. The functions also include receiving, at the processor while the vehicle service tool operates in the first state, a selection of the first user-selectable control and responsively configuring the vehicle service tool to use the first category of diagnostic descriptors when operating in the second state. The functions further include configuring, via the processor, the vehicle service tool to operate in the second state. In the second state the vehicle service tool displays a first graphical user interface and transmits requests for vehicle data messages to a vehicle. Additionally, the functions include receiving, at the processor while the vehicle service tool operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier. Further, the functions include determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier. Furthermore, the functions include outputting, within the first graphical user interface, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier.
In a third embodiment, 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 to perform functions. The functions include configuring, via the processor, a vehicle service tool to operate in a first state in which a first user-selectable control of the vehicle service tool is operable for selecting a first category of diagnostic descriptors to use when the vehicle service tool operates in a second state. The functions also include receiving, at the processor while the vehicle service tool operates in the first state, a selection of the first user-selectable control and responsively configuring the vehicle service tool to use the first category of diagnostic descriptors when operating in the second state. The functions further include configuring, via the processor, the vehicle service tool to operate in the second state. In the second state the vehicle service tool displays a first graphical user interface and transmits requests for vehicle data messages to a vehicle. Additionally, the functions include receiving, at the processor while the vehicle service tool operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier. Further, the functions include determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier. Furthermore, the functions include outputting, within the first graphical user interface, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier.
In a fourth embodiment, a computing system having a processing means and a data storage means is provided. The computing system includes means for configuring, via a processor, a vehicle service tool to operate in a first state in which a first user-selectable control of the vehicle service tool is operable for selecting a first category of diagnostic descriptors to use when the vehicle service tool operates in a second state. The computing system also includes means for receiving, at the processor while the vehicle service tool operates in the first state, a selection of the first user-selectable control and responsively configuring the vehicle service tool to use the first category of diagnostic descriptors when operating in the second state. The computing system further includes means for configuring, via the processor, the vehicle service tool to operate in the second state. In the second state the vehicle service tool displays a first graphical user interface and transmits requests for vehicle data messages to a vehicle. Additionally, the computing system includes means for receiving, at the processor while the vehicle service tool operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier. Further, the computing system includes means for determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier. Furthermore, the computing system includes means for outputting, within the first graphical user interface, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier.
Other embodiments 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.
Example embodiments are described herein with reference to the drawings.
All the figures are schematic and not necessarily to scale. Like reference numbers are used in the drawings to identify like elements unless the context or description describes otherwise.
This description describes several example embodiments, at least some of which pertain to improved methods and systems for servicing a vehicle and/or use of a computing system (e.g., a vehicle service tool (i.e., a VST)) to service a vehicle. Servicing the vehicle can include testing a component of the vehicle. Servicing the vehicle can include replacing a malfunctioning vehicle component with a replacement component and the programming, calibrating or performing a reset procedure to the replacement component via the VST.
As described below, a VST and a vehicle can operatively connect to one another using a wired or wireless connection. The vehicle can transmit a vehicle data message (VDM) according to a VDM protocol. Some vehicles uses multiple different VDM protocols to transmit VDMs. A wired connection between the VST and the vehicle can include a connection to one or more vehicle networks. In some embodiments, multiple vehicle networks in the vehicle carry VDMs according to different VDM protocols. The VST can operatively connect to the multiple vehicle networks at the same or different times.
A vehicle can transmit a VDM between two or more electronic control units (ECUs) while the vehicle operates in a normal mode (e.g., a mode in which a VST is not connected to the vehicle or a mode in which a VST is connected to the vehicle, but is not transmitting VDMs to the vehicle). On the other hand, when a VST is connected to the vehicle and operating in a diagnostic mode, the vehicle can continue transmitting a VDM between two or more ECUs, as well as transmit a VDM directed to the connected VST. In some cases, the vehicle transmits the VDM directed to the VST in response to receiving a VDM from the VST.
In accordance with at least some embodiments, the VST can transmit (to a vehicle) a VDM to request a parameter identifier (PID) parameter value. As an example, a PID parameter value can be indicative of an electrical signal received at an ECU from a sensor connected to the ECU. As another example, a PID parameter value can be indicative of a value calculated by an ECU, such as a fuel trim value calculated by an ECU for a powertrain control system.
The VDM to request the PID parameter value can include a PID. The ECU is programmed to receive the PID via the request, read a parameter value corresponding to the PID and transmit a response including the PID parameter value. As an example, a PID is defined using a hexadecimal number. As another example, a PID parameter value is represented using one or more data bits. The ECU may convert an input value determined by the ECU using a particular formula to determine the PID parameter value. For example, a formula to convert a byte representing a percentage from 0 to 100 percent can be the (hexadecimal PID parameter value)×(100/255).
In accordance with at least some embodiments, the VST can transmit (to a vehicle) a VDM to request a diagnostic trouble code (DTC) status from an ECU. The ECU can respond by transmitting (to the VST) a VDM indicative of whether a DTC is set active (i.e., current) or was previously set active (i.e., historical).
In accordance with at least some embodiments, the VST can transmit (to a vehicle) a VDM to request an ECU to perform a functional test or reset procedure. The ECU can respond by performing the requested functional test or reset procedure. During performance of the functional test the VST can gain control over one or more inputs or outputs of the ECU. The VST can transmit (to the vehicle) another VDM to request the ECU to stop or modify performance of the functional test or reset procedure.
As the quantities of ECUs in vehicles have increased and as the desire to more correctly diagnose malfunctions with ECUs has increased, the quantities of PIDs, DTCs, functional tests and reset procedures available in vehicles have also increased (e.g., from hundreds to thousands). One way to provide a technician with the ability to request PIDs or DTCs or to perform functional tests or reset procedures is to provide the technician with user-selectable controls corresponding to each PID, DTC, functional test, or reset procedure. That technician may need to scroll through pages of screens listing the PIDs, DTCs, functional tests, or reset procedures to be able to select which PIDs, DTCs, functional tests, or reset procedures the technician is interested in requesting and/or performing. Such scrolling and selecting is time consuming and burdensome to the technician.
In some cases, the technician knows a symptom or component malfunctioning in a vehicle, but does not know which PIDs, DTCs, functional tests, or reset procedures are applicable to the symptom or component. Selecting PIDs, DTCs, functional tests, or reset procedures by trial and error is time consuming and can be a waste of time if the PIDs, DTCs, functional tests, or reset procedures are inapplicable to the component, symptom, or other aspect of a vehicle being worked. The inability to select a PID, a functional test, a reset procedure, or a component test can be compounded if the technician works or multiple different makes of vehicles and/or vehicles made in different countries (at least one of which can be referred to as a foreign-make vehicle) as the different manufacturers implement PIDs, functional tests, and/or reset procedures for at least some systems using different terms to refer to the PIDs, functional tests, and/or reset procedures.
In at least some embodiments, a user can select the known symptom and/or component via a graphical user interface (GUI) to cause the VST to display PIDs, PID parameter values, and PID facet selectors. The VST can compare the PID parameter values to one or more applicable thresholds and highlight a corresponding PID facet selector to guide a technician to locate applicable tests and reset procedures that can be performed on the vehicle. In response to selection of the PID facet selector, the VST can output on a GUI user-selectable controls selectable to perform or initiate performing a test or reset procedure on the vehicle. In those or other embodiments, the VST can provide facet selectors for locating tests and/or reset procedures corresponding to the facet selectors.
In at least some embodiments, a processor, such as a processor of the VST, can refer to mapping data to determine a group of PIDs, thresholds, tests, reset procedures, and facet selectors corresponding to a symptom or component and generate a GUI for displaying the group of PIDs, PID parameter values received for the PIDs, tests, reset procedures, and the facet selectors. In response to selection of one or more facet selectors, the processor of the VST can output a GUI showing a group of PIDs (e.g., a different group of PIDs) and user-selectable controls corresponding to tests and/or reset procedures.
In at least some embodiments, the mapping data used to determine a group of PIDs for including in a GUI can include data that indicates two different PIDs corresponding to identical operating parameters of a vehicle are available using different VDM protocols. As an example, PID parameter values corresponding a speed of a vehicle or a speed of an engine (i.e., RPM) can be available via a first VDM protocol, such as a vehicle manufacturer VDM protocol and via a second VDM protocol, such as a government mandated VDM protocol.
As an example, a VST can use a first VDM protocol to send a VDM to request from the vehicle a VDM including a VDM parameter. Assuming transmission of each VDM by the VST or the vehicle using the first VDM protocol takes 0.000130 seconds to complete. Based on that example and assumption, 7,692 VDM can be sent each second (i.e., 3,846 VDM sent by the VST and 3,846 VDM sent by the vehicle). If the VST requests PID parameters for six different PIDs each second, than the VST can request and receive the PID parameters for each of the six PIDs 641 times each second. On the other hand, if the VST can request PID parameter values for two of the six PIDs using a second VDM protocol, then the VST is able to request and receive PID parameters for each of the four other PIDs 961 times each second. Displaying more frequent updates of PID parameter values on the display can be beneficial in discovering a vehicle malfunction more quickly.
As another example, displaying a GUI including a group of N quantity of PIDs, tests and reset procedures based on a quantity of selections less than N quantity of selections that would be required to individually select the N quantity of PIDs, tests and reset procedures is at least one way in which example embodiments can reduce the amount of time required to set up a VST to service a vehicle.
In this description, a user-selectable control is sometimes abbreviated as USC. A USC can be output on a display screen (or more simply, a display). In embodiments in which the display is configured as a touch screen display, the USC output on the display can be selectable to trigger a processor to perform a function corresponding to the USC. The processor can be configured to detect that a particular USC corresponds to a location of the touch screen display is contacted by a user.
Under some circumstances, however, the USC output on the display may not be selectable. For example, the USC may be output on the display to notify a user that the device including the display has the capability to perform the function, but the USC is not currently enabled to trigger performance of the function. In other words, the USC may be disabled until the user enables the USC (e.g., by paying a subscription fee, obtaining a certification credential to perform the feature, or acknowledging a safety warning).
In at least some embodiments, a USC includes a hardware key or button remote from a display. Selection of such a USC can occur by selecting (e.g., pushing the hardware key or button). Selection of such a USC can cause a change in resistance of a resistor network and a corresponding change in a voltage detected by the processor or an analog-to-digital converter. A USC including a hardware key or button can be reconfigurable. For example, selection of the USC while a first GUI is displayed triggers performance of a first set of functions and selection of the USC while a second GUI is displayed triggers performance of a second set of functions. A USC can include a graphical icon and/or text. The graphical icon and/or text can be a representative description of a set of functions (i.e., one or more functions) that is performed in response to a selection of the USC including the graphical icon and/or text.
In this description, at least some of the embodiments pertain to a GUI that includes one or more containers. A container is an area of a GUI for displaying other component(s) of the GUI. Accordingly, a container can cover at least a portion of an area of the display on which the GUI is displayed. In many instances, multiple components within a container are related to one another. For example, a container can include a PID, a PID parameter value, and a PID flag that indicates whether a PID parameter value corresponding to the PID has breached a threshold corresponding to the PID. Other containers can includes aspects corresponding to a component test, a functional test, or a reset procedure. In at least some embodiments, a container is marked using visible borders, such as line segments. In at least some of those embodiments, two containers share a common border. In at least some embodiments, a container distinguishes itself from other containers or other portions of the GUI using shading (e.g., a first color distinctly different from an adjacent second color). A container may include one or more containers. A container within another container can be referred to as a sub-container. On one hand, a container may contact one or more other containers. On the other hand, a container may not contact another container.
A container or some other portion of a GUI can include a user-selectable control (USC). The user-selectable control corresponds to one or more functions that can be initiated and/or performed in response to a selection of the USC. A USC can be embodied in a VST as a hardware USC, such as a hardware key or button. The hardware USC can be reconfigured. A GUI can show an indication of the function(s) corresponding to the hardware USC.
The communication network 7 can include one or more wireless networks and/or one or more wired networks. The wireless network(s) can carry communications using a wireless communication standard or protocol, examples of which are discussed below. The wired network(s) can carry communications using a wired communication standard or protocol, examples of which are discussed below. The communication network 7 can include one or more networks within the internet and/or a cloud computing network.
The VST 3 is operable to service the vehicle 4. The VST 3 can transmit a vehicle data message (VDM) to the vehicle 4 and can receive a VDM from the vehicle 4. The VST 3 can transmit a message to the server 6 to request information for servicing the vehicle 4 and can receive a message from the server 6 including the information for servicing the vehicle 4. The VST 3 can display at least a portion of the information for servicing the vehicle 4. As an example, the service information can include a diagnostic flowchart, a technical service bulletin, an original equipment manufacturer (OEM) position statement, a video, a schematic diagram, a component location diagram, a repair tip, a commonly-replaced parts graph, PID definitions, a PID graph, a diagnostic trouble code (DTC) definition, a safety warning, a repair order, or some other type of service information. As another example, the information can include an index value (or more simply, an index) to information stored at the VST 3, and the VST 3 can retrieve and then display the information based on the index. As an example, the index can indicate a GUI, a list of PID facet selectors, or a list of PID facets. The index can be one of multiple indices sent to the VST 3.
The VST 3 can transmit a message to the server 6 to request data for configuring the VST 3 to service the vehicle 4. The VST 3 can receive a message from the server including the data for configuring the VST 3 to service the vehicle 4. As an example, the data for configuring the VST 3 can include a GUI, information to populate a GUI, information to configure a GUI, an index value or indices, or mapping data. As another example, the data for configuring the VST 3 can include a file, such as a mark-up language file including data to populate and/or generate a GUI. As an example, a mark-up language file can include a hypertext mark-up language (HTML) file.
The vehicle 4 can include any vehicle described in this description. The vehicle 4 can include a vehicle that includes a vehicle system, component or other aspect described in this description as being a part of a vehicle. In at least some embodiments, the vehicle 4 includes at least a portion of the communication link 5.
The server 6 can operate on a computing system. The server 6 can include the computing system on which it operates. The server 6 can include one or more servers. As an example, the server 6 can be configured to provide a web service to another computing system, such as the VST 3 or a computing system within the vehicle 4. As an example, the web service can include a web service to provide the VST 3 with information for servicing the vehicle. The web service can output a GUI including containers having a descriptor of a PID, a functional test, a component test, a reset procedure, and/or a test set, and a user-selectable control for changing the descriptor from one category of descriptors to another category of descriptors.
The communication link 5 can include a wireless communication link and/or a wired communication link. As an example, the wireless communication link can include a communication link configured to carry communications using a wireless communication standard or protocol, examples of which are discussed below. As another example, the wired communication link can include a communication link configured to carry communications using a wired communication standard or protocol, examples of which are discussed below. The communication link 5 can include and/or be arranged as the wired communication link 14, the wireless communication link 15, and/or the wireless communication link 16, each of which is shown in
Next,
In the arrangement 8, the VST 3 is connected directly to the OBDC 11 using a wired communication link 14. As an example, the wired communication link 14 can be contained within a harness with multiple wires, at least one of which is configured to carry a VDM between the VST 3 and the OBDC 11. The harness can include a connector removably attachable to the OBDC 11. The wired communication link 14 can include one or more wires.
In the arrangement 9, the VST 3 is connected directly to the OBDC 11 using a wireless communication link 15. The wireless communication link 15 can include an air interface established to carry a VDM between the VST 3 and the OBDC 11. The wireless communication link 15 and 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.
In the arrangement 10, the VST 3 is connected indirectly to the OBDC 11 using a wireless communication link 16 and a dongle 18. The dongle 18 includes a connector 17 removably attachable to the OBDC 11 and a wireless transceiver and a wired transceiver. The wireless communication link 16 can include an air interface established to carry a VDM between the VST 3 and the dongle 18. The wireless communication link 16 and 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 dongle 18 can receive a VDM transmitted to the OBDC 11 over the vehicle network 13 from an ECU and can transmit a VDM onto the vehicle network 13 for transmission to an ECU connected to the OBDC 11.
Next,
The vehicle 20 includes an internal combustion engine ICE 21 including a bank 22 and a bank 23. As an example, the bank 22 can be referred to as “bank 1”, “left bank,” and/or “front bank,” and the bank 23 can be referred to as “bank 2,” “right bank,” and/or “rear bank.” The vehicle 20 includes an ECU 24, 25, 26, 27, an OBDC 28, a sensor 29, 30, an ECU controlled output (ECO) 31, 32, a battery 33, and a battery-connected circuit 34. The ECU 24, 25, 26, 27 is operatively connected to the OBDC 28 via the vehicle network 35 to allow transmission of a VDM between the OBDC 28 and the ECU connected to the vehicle network 35. The vehicle network 35 can include a wired and/or wireless network and/or can include or be arranged like the vehicle network 13 shown in
In at least some embodiments, the OBDC 28 is located within a passenger compartment of the vehicle 20, within an engine compartment of the vehicle 20, or within a storage compartment within the vehicle 20 in front of or behind the passenger compartment. The VST 3 can be removably attachable to the OBDC 28. The VST 3 can connect to the OBDC 28 via a communication link 36. In at least some embodiments, the VST 3 includes the communication link 36 (e.g., a harness). The VST 3 is typically removed after the vehicle 20 has been serviced. In that way, the VST 3 can be used to diagnose other vehicles. The OBDC 28 can be configured like and/or include the OBDC 11 shown in
The battery-connected circuit 34 can include one or more electrical circuits (e.g., one or more power circuits).
The sensor 29, 30 is a device that provides a signal to the ECU 26, 27, respectively. The signal represents some characteristic of a vehicle the ECU 26, 27 is configured to monitor. As an example, the sensor 29, 30 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 typo of sensor. The signal provided by the sensor 29, 30 can be a target signal that corresponds to a selected functional test. The ECU 26 can output a VDM that includes a data value representative of the signal on an electrical circuit connecting the ECU 26 and the sensor 29. Likewise, the ECU 27 can output a VDM that includes a data value representative of the signal on an electrical circuit connecting the ECU 27 and the sensor 30.
The ECO 31, 32 is a device controlled by the ECU 26, 27, respectively. The ECU 26, 27 can control the ECO 31, 32, respectively, using an output signal or an output condition. The output signal from an ECU can be a target signal that corresponds to a selected functional test. As an example, the ECO 31, 32 can include one from among: a fuel injector, a motor, a pump, a relay, solenoid, a transformer, or a valve. In accordance with at least some embodiments, an ECU is selectable to perform a functional test and/or provide a DTC in accordance with an industry standard, such as the SAE J1979_201202 and/or ISO 15031-5 standards for E/E diagnostic test modes. As an example, the output condition can include establishing a particular voltage level on an electrical circuit operatively connected or connectable to the ECO 31, 32. For instance, the particular voltage level can be a nominal 5-volt reference signal, a nominal 12-volt reference signal, or an electrical ground level signal (e.g., a nominal 0-volt reference level).
The output signal of the ECU 26, 27 (i.e., the ECU output signal) can be any of a variety of electrical or output signals. As an example, the ECU output signal can include an analog or digital electrical signal. As a more particular example, the ECU output signal can include a pulse-width modulated signal, a triangular waveform signal, a saw tooth waveform signal, a rectangular waveform signal, a square waveform signal, or a sinusoidal waveform signal, among others. As another example, the ECU output signal can include a video signal or an audio signal. As yet another example, the digital electrical signal can include a data transmission. As an example, a data transmission can be communicated using a serial peripheral interface (SPI) interface, an inter-integrated circuit (I2C) interface, or a universal asynchronous receiver transmitter (UART) interface, among others. In response to receiving a functional test command, a processor in the ECU can execute program instructions or logic to cause the ECU output condition or output signal to appear at and/or on the ECO 31, 32.
An ECU, such as the ECU 27 can receive from the VST 3 a VDM including an identifier of a reset procedure and responsively send an output signal to the ECO 32 or the ECUI 37 to reset the ECO 32 or the ECUI 37, respectively.
Next,
As shown in
Next,
The VST 60 can include a logic segment 61 including a processor 62 and a memory 63. The VST 60 can also include a transceiver 64, a user interface 65, a test device 66, a housing 67, a power supply 68, a vehicle connector 69, a data bus 70, and/or an electrical circuit 71. The data bus 70 can operatively connect two or more of the processor 62, the memory 63, the transceiver 64, the user interface 65, the test device 66, the power supply 68, or the vehicle connector 69 to one another. In other words, the data bus 70 ca3n provide an operative connection between two or more of the processor 62, the transceiver 64, the memory 63, the user interface 65, the test device 66, the power supply 68, and/or the vehicle connector 69. An operative connection allows for the operatively connected devices to communicate with one another.
A processor, such as the processor 62, 132 (shown in
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 embodiments of the VST 60, the processor 62 is a specific processor that is programmed to perform any function(s) described in this description as being performed by the VST 3, 60 and/or with respect to a module.
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 embodiments, 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 ATSAMS70-DTE 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.
A processor can include one or more terminals to receive an electronic signal that indicates whether a USC is selected. Accordingly, a processor or the VST receiving or determining a selection of a USC can include the processor or the VST determining that the electronic signal received on the one or more terminals has a value that indicate the USC is selected. The electronic signal can comprise an analog signal or a digital value.
A memory, such as the memory 63, 133 or 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.
A transitory memory can include, for example, CRPI or a module provided over a communication network (e.g., the communication network 7), a communication link (e.g., the communication link 5, the wired communication link 14 or the wireless communication link 15, 16), or a data bus (e.g., the data bus 70).
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.
A transceiver, such as the transceiver 64, 134 (shown in
For purposes of this description and with respect to a particular vehicle (e.g., the vehicle 4, 20, 40), 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 embodiments, the VST 3, 60 includes a harness that operatively connects to the OBDC in the particular vehicle and allows the VST 3, 60 to be disposed outside of the particular vehicle. In those or in other embodiments, the VST 3, 60 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 embodiments, 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.”
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.11ac, 802.11ad, 802.11ax, 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 5.1, 5.2, 5.3, or 5.4 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 3rd Generation 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.
In at least some of the embodiments, 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 4.0, a universal serial bus (USB) specification, such as a USB4 standard, a vehicle data message (VDM) protocol, or some other wired communication standard or protocol. Examples of a VDM protocol are listed in elsewhere in 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.
In accordance with at least some embodiments, the transceiver 64, 134 includes a network transceiver and/or a vehicle communications transceiver. As shown in
In at least some embodiments, the network transceiver includes 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 (HCl) 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 connected 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).
The network transceiver 72 can 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 transceiver 72 can be arranged to transmit an SMS message using a short message peer-to-peer protocol or using some other protocol.
The data transmitted by the transceiver 64 can 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 transceiver 64 can include a source identifier or address of the VST 60. The source identifier or address can be used to send a response to the VST 60. As an example, this data or communication can include a user identifier corresponding to a user of the VST 60, credential data corresponding to a user of the VST 60, a VDM, a GUI, or other data instead or as well.
In at least some embodiments, the user interface 65 includes a display 74, an input device 75, and/or an output device 76.
The display 74 can 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 display 74 can include a different type of display as well or instead. Each display can include one or more display screens.
In at least some embodiments, the display 74 is affixed (e.g., removably affixed) to a substrate of the housing 67 and/or to the housing 67. In those or in other embodiments, the display 74 is 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).
The display 74 is operable to display displayable content. Examples of displayable content are provided throughout this application by describing objects displayed by the display 74. As an example, the display 74 is operable to display a GUI, content of a GUI, a USC of a GUI and/or the user interface 65, a message, a notification, an indicator of a PID condition, a sub-container, a container, a PID, a parameter value, a PID condition, service information, a PID facet list, a PID facet list expander, a PID facet selector, or some other type of information or data.
The display 74 can 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 portable document format (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 embodiments, the display 74 is 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 display 74 to display content not currently displayed on the display 74. A web page displayable on the display 74 can include any content shown in or described with respect to any one or more of the GUIs shown in the drawings and/or described in this description. Other examples of content displayable on the display 74 are also possible.
The input device 75 is operable to receive user inputs from a user of the VST 60. As an example, the input device 75 includes a keyboard or keypad including one or more keys operable to be pressed or otherwise manipulated by the user. As another example, the input device 75 includes a microphone operable to receive sound waves, such as sound waves produced by the user speaking words in a vocabulary of the VST 60. In the embodiments in which the display 74 is operable as a touch screen display, the display 74 can receive user inputs from a user of the VST 60, such as a selection of a PID facet selector, a PID facet list expander, or a USC. Accordingly, the input device 75 can include the display 74 when operable as a touch screen display. As another example, the input device 75 can include a camera to capture images (e.g., an image of a user fingerprint, a user face, a vehicle, a vehicle component, a bar code, or a matrix code).
In the embodiments that include the output device 76, the output device 76 can include one or more speakers operable to convert electrical signals to audible sounds. In those or in other embodiments, the output device 76 can include 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. In the embodiments that include the output device 76, the output device 76 can include the display 74 to display content (e.g., GUIs and service information) output by the processor 62.
The test device 66 can include one or more test devices, such as one or more test devices to test the vehicle 4, 20, 40. As an example, the test device 66 can include a meter 77 and/or an oscilloscope 78. The meter 77 includes a port 79 (e.g., one or more ports). The oscilloscope 78 includes a port 80 (e.g., one or more ports). The meter 77 can include a digital volt-ohm meter (DVOM). Additionally or alternatively, the meter 77 can include a current (i.e., amperage) meter. The meter 77 includes and/or is operatively connect to the port 79. The port 79 includes 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 oscilloscope 78 can include one or more channels. The port 80 includes a port for each channel of the oscilloscope 78. Each port of the port 80 is 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.
Additionally, the test device 66 can include one or more of the following: an analog-to-digital converter (ADC) 81, a probe 82, and a signal generator 83. The signal generator 83 can output a signal onto a meter lead connected to the port 79 and/or onto an oscilloscope test lead connected to the port 80. The output signal can be used to measure a signal. For instance, the signal generator 83 can output a voltage differential across two meter leads connected to the port 79 (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 81 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 ADC 81 can be output onto the data bus 70 for transmission to the processor 62.
The probe 82 can include one or more probes. As an example, the probe 82 can include a temperature probe, such as a temperature probe including a thermocouple and a connector connectable to the port 79, 80, and/or a temperature adaptor and probe, item EEDMTEMP-1 available from Snap-on Incorporated, Kenosha, Wisconsin. As another example, the probe 82 can include a pressure probe, such a pressure adaptor for digital multimeter, item EEDM5030, available from Snap-on Incorporated, a pressure transducer and cable, item EEPV302AT, or a pressure transducer adaptor, item EEMS324PSA, each available from Snap-on Incorporated. As another example, the probe 82 can include an exhaust probe, such as a standard exhaust probe, item HHGA-7; a 5-gas exhaust probe, item HHGA-9; or a motorcycle exhaust probe, item HHGA-8; each of which is available from Snap-on Incorporated. As yet another example, a probe can include an air velocity and temperature probe, such as a wireless air velocity vane probe, item TPI-555, available Test Products International Inc., Beaverton, Oregon.
A power supply, such as the power supply 68, 139 (shown in
In at least some embodiments, the VST 60 includes a housing 67. The housing 67 surrounds at least a portion of the following: the processor 62, the transceiver 64, the memory 63, the user interface 65, the test device 66, the power supply 68, the vehicle connector 69, the data bus 70, and/or the electrical circuit 71. The housing 67 can support a substrate, such as a printed circuit board. In at least some example embodiments, at least a portion of the following: the processor 62, the memory 63, the transceiver 64, the user interface 65, the power supply 68, the vehicle connector 69, the data bus 70, and/or the electrical circuit 71 is/are mounted on and/or connected to a substrate of the housing 67. The housing 67 can be made from various materials. For example, the housing 67 can be made from a plastic material (e.g., acrylonitrile butadiene styrene (ABS)) and a thermoplastic elastomer used to form a grip on the housing 67.
The vehicle connector 69 includes one or more vehicle connectors connectable to a vehicle, such as the vehicle 4, 20, 40. The vehicle connector 69 can include a vehicle connector configured to connect to an OBDC. The vehicle connector 69 can include a dongle, such as the dongle 18.
The example embodiments can determine, generate, store (e.g., write into a memory), transmit, read, 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 memory 63, 133.
As an example, the memory 63 contains computer-readable programming instructions (CRPI) 85, a module 86 (i.e., one or more modules), a GUI 87 (i.e., one or more GUI), a component test 88 (i.e., one or more component tests), vehicle selection data 89, a vehicle data message 90 (i.e., one or more VDMs or data for generating one or more VDMs), an application 91, service information 92, and/or mapping data 93. Additionally, the memory 63 can contain any of the content within the system memory 674 shown in
The CRPI 85 can include program instructions executable by a processor, such as the processor 62. As an example, the CRPI 85 can include program instructions that are executable to cause the VST 60 to perform any function described as being performed by the VST 60, by the processor 62, and/or by some other component of the VST 60. As an example, the CRPI 85 can include program instructions executable by the processor to perform one or more functions of any one or more the function set 600, 610, 615, 620, 625, 630, 640, 645, 650, 660 shown in
The module 86 can include one or more modules. Examples of modules within the module 86 are shown in
The GUI 87 can include one or more GUIs and/or data for generating one or more GUIs. In at least some embodiments, the GUI 87 includes a GUI transmitted to the VST 60 from the server 130. Examples of a GUI contained within and/or generated based on data contained within the GUI 87 are shown in
The component test 88 can include one or more component tests, such as one or more guided component tests. Each component test can include computer-readable program instructions (e.g., a perform component test module 121) executable to perform the component test. Execution of a component test module can include configuring a test device for performing the component test for the component and/or vehicle to be tested. As an example, a component test can include a voltage test, an amperage test, a frequency test, a resistance test, a duty cycle test, or a pressure test. As another example, a component test can be specified for a particular component, such as a fuel pump voltage test or a fuel pump pressure test. As yet another example, a component test can be specified for a particular vehicle on a particular vehicle, such as a fuel pump voltage test on a 2018 Jeep Cherokee (4WD) with 3.6 L engine, or a fuel pump pressure test on a 2018 Jeep Cherokee (4WD) with a 3.6 L engine.
A guided component test can include a component test performed by the test device 66 (e.g., a test performed by the meter 77 or the oscilloscope 78). The guided component test can include one or more setup instructions executable by the processor 62 or the test device 66 to configure the meter 77 or the oscilloscope 78 to perform a particular component test. As an example, the setup instructions can include an instruction for the processor to select the meter 77 or the oscilloscope 78. As another example, the setup instructions can include an instruction to put the meter 77 in a particular measurement mode (e.g., a voltage measurement mode, an amperage measurement mode, or a resistance measurement mode). As another example, the setup instructions can include an instruction to configure the oscilloscope 78 with a particular display setting, such as a particular sweep rate or volts per division. As yet another example, the setup instructions can include an instruction to configure the oscilloscope 78 with a particular trigger mode.
A guided component test can also include test instructions. As an example, the test instructions can include an instruction to sample input signals received at the test device 66. The instruction to sample input signals can be based on whether the guided component test is for measuring a direct current signal or an alternating current signal. Such instruction can specify a sampling rate for sampling the input signals. As another example, the test instructions can include an instruction for storing the input signal samples in a memory. As yet another example, the test instructions can include an instruction to output a representation of the input signal samples on a display. In accordance with embodiments in which the test device 66, the meter 77 or the oscilloscope 78 is remote from the VST 60, the setup instructions and the test instructions can include an instruction for establishing a communication link between the VST 60 and the test device 66, the meter 77, or the oscilloscope 78 and instruction for transmitting or receiving a communication corresponding to a guided component test via the communication link.
In at least some embodiments, the guided component test includes displayable information, such as test procedures, test device connection guidance, connector views, a graph showing a known good waveform for a component corresponding to the guided component test, a graph showing a known bad waveform for a particular component corresponding to the guided component test, or expected test results.
In at least some embodiments, the component test 88 includes multiple sets of test device configuration parameters and each set of test device configuration parameters is associated with an index value. A server (e.g., the server 6, 130) can determine which set of device configuration parameters is to be used to set up the test device 66 for performing a test of a vehicle component. The server can transmit the determined set of test device configuration parameters to the VST 3, 60. Alternatively, the server can transmit an index value associated with the determined set of test device configuration parameters to the VST 3, 60. In this alternative arrangement, the computing system can determine the appropriate test device configuration parameters for the vehicle ID session based on the index value received at the VST 3, 60. Table A shows example categories of component tests and example component tests. The current probe tests can be performed with a current probe connectable to the test device 66. The two-channel tests are configured to measure or compare two signals. The transducer tests can be performed using a transducer connected to the test device 66. A component test can also include a voltage test.
The vehicle selection data 89 can include one or more vehicle selection menus or data for generating the one or more vehicle selection menus that can be output on and/or within a GUI of the GUI 87. The processor 62 can output a vehicle selection menu on the display 74 to allow a user to select a type of vehicle or a particular vehicle. The vehicle selection data 89 can also include data that represents relationships between vehicle model years and the types of vehicles that were built for and/or during each model year. For instance, for a given model year, the vehicle selection data 89 can include data that indicates all vehicle makes that include at least one type of vehicle for the given model year, and for each of those vehicle makes, the vehicle selection data 89 can include data that indicates all vehicle models that correspond to one of the vehicle makes that built at least one type of vehicle for the given model year.
The vehicle data message 90 includes one or more vehicle data messages (VDMs) and/or data to generate the one or more VDMs to be transmitted by the VCT 73. A VDM within the vehicle data message 90 can include a VDM received by the vehicle communications transceiver 73. A VDM within the vehicle data message 90 can include a VDM that is to be or has been transmitted by the VCT 73. The vehicle data message 90 can include a message map for decoding a VDM received by the VCT 73 and/or for encoding a VDM that is to be transmitted by the VCT 73. The message map can include a formula for converting data in one or more fields of a VDM to a value represented by the one or more fields. The message map can indicate which field in the VDM is a PID and which field(s) are a PID parameter value. The message map can include a textual description corresponding to each PID so that the processor can know which container or sub-container including PID is to be populated with the textual description and a parameter value corresponding to the PID. As an example, the fields can represent an engine RPM, a battery voltage, an engine coolant temperature, or any PID represented within a GUI, such as the GUI 240 shown in
The vehicle data message 90 can include one or more buffers to store PIDs and corresponding parameter values. In at least some embodiments, the buffer(s) store the PIDs and corresponding parameter values in a first in, first out (FIFO) format. The processor can read parameter values from the buffer and output the parameter values within a GUI to show a historical representation of the parameter values.
The vehicle data message 90 can include commands 101 can include a PID command 102 (i.e., one or more PID commands), a functional test command 103 (i.e., one or more functional test commands), and a reset procedure command 104 (i.e., one or more reset procedure commands). A PID command can include a PID. A functional test command can include an identifier of a functional test. A reset procedure command can include an identifier of a reset procedure. An identifier of a PID, a functional test identifier, a reset identifier, a component test identifier can be included within mapping data or an index described in this description.
The PID command 102 includes data that indicates how a VDM should be arranged to request a PID parameter value from the vehicle 4 for a particular PID. As an example, the PID command 102 can indicate a particular VDM protocol that is to be used to generate the VDM. As another example, the PID command 102 can include an ECU identifier of the ECU from which the PID parameter value is to be requested. As yet another example, the PID command 102 can include the PID. The processor 62 can determine the PID command 102 based on an index value corresponding to a PID. The PID command 102 can include a PID group identifier for one or more PIDs so that the processor 62 can determine which PIDs belong to a PID group and can populate a container with PID data regarding PIDs in the PID group.
As an example, a VDM can be arranged as $07 $DF $02 $01 $31 $42 $00 $00 $00 $00. In that example VDM, the fifth byte is the PID, the sixth byte is a parameter value. In at least some embodiments, the PID command 102 includes formulas for converting a PID parameter value to a value represented by the PID parameter value.
The functional test command 103 includes data that indicates how a VDM should be arranged for requesting the vehicle 4 to perform a particular functional test. As an example, the functional test command 103 can indicate a particular VDM protocol that is to be used to generate the VDM. As another example, the functional test command 103 can include an ECU identifier of the ECU that is configured to perform the functional test. As yet another example, the functional test command 103 can include the functional test identifier. The processor 62 can determine the functional test command 103 based on an index value corresponding to a functional test identifier. One or more functional test commands can correspond to a notification the processor 62 outputs on the display 74 before the processor 62 transmits the functional test command. As an example, the notification can include a safety alert, or a set-up instruction.
Additionally or alternatively, the processor 62 can determine the functional test command 103 based on a menu selection and program code or data that corresponds to the menu selection. The processor 62 can use data indicating a VDM protocol to determine which VCT of multiple VCTs is to be used to transmit a functional test command and/or the format for generating a VDM including the functional test command.
The reset procedure command 104 includes data that indicates how a VDM should be arranged for requesting the vehicle 4 to perform a particular reset procedure. As an example, the reset procedure command 104 can indicate a particular VDM protocol that is to be used to generate the VDM. As another example, the reset procedure command 104 can include an ECU identifier of the ECU that is configured to perform the reset procedure. As yet another example, the reset procedure command 104 can include the reset procedure identifier. The processor 62 can determine the reset procedure command 104 based on an index value corresponding to a reset procedure identifier. As an example, performing a reset procedure can include modifying a setting within an ECU (e.g., a setting that indicates the oil life setting is 100%, resetting an advanced driver assistance system (ADAS) component after a vehicle collision, or resetting a fuel injector). As another example, performing the reset procedure can include reprogramming an ECU with the vehicle. For instance, reprogramming the ECU can include flash programming a software calibration file into the ECU and/or flash programming an ECU according to SAE standard J2534. In at least some embodiments, performing the reset can include scanning a matrix code (e.g., a QR code), decoding the matrix code, requesting a software download for a component that is to be reprogrammed, receiving the software download, and reprogramming the component with the software download. As yet another example, performing the reset procedure can include re-zeroing a sensor, such as a steering wheel angle sensor. As yet another example, performing the reset procedure can include a level initiation and leveling of headlight reset procedures to adjust, for example, an angle or height of the headlight.
The application 91 can include one or more applications. As an example, the application 91 can include a browser application. As another example, the application 91 can include an application with an application programming interface (API), such as an API configured to transmit a list identifier to a server and to receive a group of diagnostic descriptors.
The application 91 can include and/or execute in conjunction with one or more application drivers. If the application driver(s) are considered to be distinct from an application, then the CRPI 85 can include the application driver. Each application driver can include CRPI that are executable for an application and a device to communicate with each other. As an example, the device can include the display 74 arranged as a touch screen display and the application driver can translate electrical signals resulting from a user contacting the display 74 to a digital value corresponding to an area of the display 74 where the user contact occurred. If the contacted area corresponds to a USC or a portion of a USC, the processor can determine the USC has been selected based on the application driver outputting the digital value.
The service information 92 can include service information for populating into a GUI. The service information can correspond to particular vehicles, particular vehicle components and systems, particular PID facets, or particular PIDs. The service information can correspond to particular tests or reset procedures. As an example, the service information 92 can include instructions, specifications, images, videos, component location information, schematic diagrams, threshold values, corresponding descriptors of PIDs, test, or procedures, or some other type of service information listed in this description or otherwise.
The mapping data 93 can include mapping data that maps a variety of data. The mapping data 93 can be referred to as a database and/or a data map.
As an example, the mapping data 93 can include a computer-readable file. For instance the mapping data 93 can contain the file 400 shown in
As yet another example, the mapping data 93 can include data that maps vehicle characteristic data to GUI templates. As an example, the vehicle characteristic data can include one or more of the following: a vehicle identifier (e.g., a YMM), a system identifier, a component identifier, or a symptom identifier, such as a DTC identifier. The GUI templates can include a template for arranging the aspects of a GUI shown in the drawings, such as the containers shown in the drawings. Table B shows an example of the aforementioned mapping data. As an example, the GUI 210 shown in
As another example, the mapping data 93 can include PIDs and PID descriptors. The PID descriptors can be mapped to a PID and to a category of PID descriptors. Table D provides an example of such mapping data.
As another example, the mapping data 93 can include functional test identifiers and functional test descriptors. The functional test descriptors can be mapped to a functional test identifier and to a category of functional test descriptors. Table E provides an example of such mapping data.
As another example, the mapping data 93 can include reset procedure identifiers and reset procedure descriptors. The reset procedure descriptors can be mapped to a reset procedure identifier and to a category of reset procedure descriptors. Table F provides an example of such mapping data.
As another example, the mapping data 93 can include component test identifiers and component test descriptors. The component test descriptors can be mapped to a component test identifier and to a category of component test descriptors. Table G provides an example of such mapping data.
As yet another example, the mapping data 93 can include data that maps various data to a USC. Table C shows example mapping data with respect to USCs shown in a GUI 320 shown in
Next
The vehicle service tool configuration module 111 can be arranged to configure a VST (e.g., the VST 3, 60) to operate in different states. Examples of such states are shown in
As an example, the vehicle service tool configuration module 111 can be arranged to configure a VST to operate in a first state in which a first USC of the VST is operable for selecting a first category of diagnostic descriptors to use when the VST operates in a second state.
Configuring the VST to operate in a first state can include the VST outputting a particular GUI on a display, such as a GUI different than a GUI output when the VST is operating in the second state or a GUI different than the GUI output just prior to the VST transitioning to the first state. As an example, the particular GUI can include the first USC of the VST is operable for selecting a first category of diagnostic descriptors.
As another example, the vehicle service tool configuration module 111 can be arranged to configure the VST 3, 60 to use the first category of diagnostic descriptors when operating in the second state. Such configuration can occur in response to the VST 3, 60 receiving a selection of the first USC while the VST 3, 60 operates in the first state. In accordance with at least some embodiments, configuring the vehicle service tool to use the first category of diagnostic descriptors when operating in the second state includes modifying a data setting the processor uses to determine which category of diagnostic descriptors to use while the vehicle service tool operates in the second state.
As another example, the vehicle service tool configuration module 111 can be arranged to configure the vehicle service tool to operate in the second state. In the second state, the vehicle service tool displays a first GUI and transmits requests for vehicle data messages to a vehicle.
The vehicle service tool configuration module 111 can be arranged to configure a VST to switch back and forth between multiple states multiple times. As an example, the vehicle service tool configuration module 111 can be arranged to configure a VST to operate in the first state, the second state, the first state again, and then the second state again.
As yet another example, in addition to the first and second states discussed above, the vehicle service tool configuration module 111 can be arranged to configure a VST to operate in a third state and/or a fourth state. In accordance with at least some embodiments, in the third state, a USC (e.g., a second USC) of the VST is operable for selecting a first category of component test descriptors to use when the VST operates in the fourth state, and in the fourth state, the VST displays a GUI (e.g., a second GUI) and outputs within the second GUI a measurement made using an oscilloscope or a meter during performance of a particular component test.
As still yet another example, the VST can include a processor. The processor can communicate with a server via the communication network 7. In accordance with this example, the vehicle service tool configuration module 111 can be arranged to configure the VST to operate in the first state based on a first communication the processor receives from a server, and configure the VST to operate in the second state based on a second communication the first processor receives from the server.
The USC selection module 112 can be configured to receive a selection of a USC while the VST operates in a particular operating state. For example, USC selection module 112 can be configured to receive, while the VST operates in a first state, a selection of the USC. In accordance with that example, the first state is a state in which the USC of the VST is operable for selecting a first category of diagnostic descriptors to use when the VST operates in a second state. As an example, the diagnostic descriptors of the first category of diagnostic descriptors include descriptors of parameter identifiers, functional test identifiers, or reset procedure identifiers.
While the USC is available for selecting the first category of diagnostic descriptors, one or more other USCs can be available for selecting one or more other respective categories of diagnostic descriptors. As an example,
The USC selection module 112 can be configured to monitor one or more inputs to the processor 62. In at least some embodiments, one of those inputs includes a particular input that is connected to the USC and perhaps to a resistor network, one or more other USCs, and a reference voltage (e.g., 5 volts DC). In accordance with those embodiments, the USC can include a button, key, or switch. A processor and the USC selection module 112 can determine a voltage at the particular input corresponds to a voltage that indicates the USC has been selected (e.g., pressed). In at least some embodiments, the inputs monitored by the USC selection module 112 are inputs connected to the display 74 arranged as a touch screen display. A processor and the USC selection module 112 can determine a voltage at the inputs connected to the display 74 corresponds to a voltage that indicates the USC has been selected (e.g., pressed). The USC selection module 112 can determine a voltage or digital value for comparison to mapping data to determine which USC has been selected without any indication of the voltage or digital value being displayed.
The USC selection module 112 can be configured to receive, while the vehicle service tool operates in the first state, a selection of a second user-selectable control corresponding to a second category of diagnostic descriptors. The diagnostic descriptor determination module 114 can determine a second diagnostic descriptor that corresponds to the first diagnostic identifier. The first diagnostic descriptor and the second diagnostic descriptor can be from different categories of diagnostic descriptors.
The USC selection module 112 can be configured to receive, while the vehicle service tool operates in a second state, a selection of a second user-selectable control corresponding to a second category of diagnostic descriptors. The diagnostic descriptor determination module 114 can determine a second diagnostic descriptor that corresponds to the first diagnostic identifier.
In accordance with at least some embodiments, the USC selection module 112 includes and/or is arranged as an application driver between the processor 62 and the display 74 arranged as a touch screen display. In this regard, the USC selection module 112 can translate electrical signals resulting from a user contacting the display 74 to a digital value corresponding to an area of the display 74 where the user contact occurred.
The vehicle data message module 113 can be configured to generate a VDM. The vehicle data message module 113 can be configured to transmit the VDM or instruct the transmitting module 120 to transmit the VDM. The VDM can include a PID, a functional test identifier, or a reset procedure identifier. The vehicle data message module 113 can be configured to generate the VDM according to a VDM protocol used by a vehicle connected to the VST 3, 60.
The vehicle data message module 113 can be configured to parse a VDM generated by a vehicle. The vehicle data message module 113 can be configured to receive the VDM from the received module 119 or directly from the VCT 73. Parsing a VDM including a PID and PID parameter value can include obtaining the PID and PID parameter value from the VDM and providing the PID and PID parameter value to the GUI output module 115 for populating the PID parameter value into a container corresponding to the PID. The processor can be configured to determine which data within VDM is the PID and which data within the VDM is the PID parameter value based on the protocol used to generate the VDM, which the processor can determine based on the vehicle and component that sent the VDM.
The diagnostic descriptor determination module 114 can be configured to determine a diagnostic descriptor corresponding to a diagnostic identifier. As an example, the diagnostic identifier can comprise a parameter identifier (i.e., PID) within a VDM sent by an ECU that controls an engine within a particular vehicle. The VDM does not include the diagnostic descriptor, but does include a PID parameter value corresponding to the PID. As an example, the PID can be hexadecimal value $0C and the PID parameter value can be hexadecimal value $IF40. The PID parameter value corresponds to how many revolutions the crankshaft turns per minute. The processor can determine the RPM by applying the PID parameter to the formula (256N+M)/4, where the N equals the first byte ($1F) of the PID parameter value in decimal (i.e., 31) and the M equals the second byte ($40) of the PID parameter value in decimal (i.e., 64). Based on that example, the engine RPM is 2,000.
The diagnostic descriptor determination module 114 can be configured to determine a diagnostic descriptor corresponding to a diagnostic identifier without the diagnostic descriptor, the PID, or any data that maps the diagnostic descriptor to the PID being displayed. Instead a processor can search a computer-readable memory containing the mapping data based on the PID. In some cases, the processor retrieves (from the memory multiple) diagnostic descriptors corresponding to the PID, each of those descriptors belonging to a different category of diagnostic descriptors. In other cases, the processor's search of the memory is further based on a previously-selected category of diagnostic descriptors such that the processor (retrieves from the memory) a single diagnostic descriptor corresponding to the PID. Retrieving one or more diagnostic descriptors includes reading the diagnostic descriptor from the memory. For an embodiment in which two different categories of diagnostic descriptors are determined, those categories can be referred to a first category of diagnostic descriptors and a second category of diagnostic descriptors.
As an example, the diagnostic descriptor determination module 114 can be configured to determine, from among a group of diagnostic descriptors corresponding to a first category of diagnostic descriptors, a particular diagnostic descriptor corresponding to a first diagnostic identifier. As an example, the first diagnostic identifier can include a PID, a functional test identifier, a reset procedure identifier, or a test set identifier. Determining the first diagnostic identifier can be carried out while determining multiple diagnostic identifiers, such as diagnostic identifiers corresponding to multiple different PIDs, diagnostic identifiers corresponding to multiple different functional tests, diagnostic identifiers corresponding to multiple different component tests, or diagnostic identifiers corresponding to multiple different reset procedures.
As another example, the diagnostic descriptor determination module 114 can be configured to determine, from among the second category of diagnostic descriptors, a second diagnostic descriptor that corresponds to the first diagnostic identifier in the vehicle data messages.
As yet another example, the first category of diagnostic descriptors includes a component test descriptor to use when the VST operates in a particular state (e.g., a state in which the VST displays a GUI and outputs within the GUI a measurement made using an oscilloscope or a meter during performance of a particular component test. The first category of diagnostic descriptors can be a particular category of diagnostic descriptors from among multiple categories of component test descriptors.
In accordance with at least some embodiments, the multiple categories of diagnostic descriptors include one or more of the following categories: an OEM category of diagnostic descriptors, an industry standard defined category of diagnostic descriptors, a normalized category of diagnostic descriptors, or a user-defined category of diagnostic descriptors. In at least some embodiments, diagnostic descriptors within the normalized category of diagnostic descriptors can be determined by a computing system remote from the VST 3, 60. The computing system can include and/or connect to the server 6, 130. The diagnostic descriptors within the normalized category of diagnostic descriptors can be determined from (e.g., based on) diagnostic identifiers corresponding to a common vehicle function, but from different vehicle makes and/or manufacturers.
In accordance with at least some embodiments, determining diagnostic identifiers for each category of multiple categories of diagnostic descriptors occurs in response to the processor determining a USC corresponding to each category of diagnostic descriptors has been selected. For example, diagnostic descriptors for PIDs with a Category A of diagnostic descriptors can be determined in response to a selection of the USC 260 within the GUI 240 shown in
Table D shows mapping data corresponding to PIDs and PID descriptors. For example, Table D shows PIDs in a left-most column and PID descriptors of four categories of PID descriptors in the four right-most columns. The Category A descriptors, the Category B descriptors, the Category C descriptors, and the Category D descriptors can be any of the example categories of diagnostic descriptors discussed above or some other category of diagnostic descriptors. The PIDs in the left-most column represent PIDs contained in and/or insertable into vehicle data messages. In accordance with at least some embodiments, the PIDs listed in the left-most column represent PIDs that take the form of hexadecimal numbers. The PID descriptors shown in Table D and in the drawings are represented as the PID plus a suffix A, B, C, or D. A person having ordinary skill in the art will understand that the PID descriptors shown in Table D and in the drawings represent textual phrases that describe vehicle functionality corresponding to each PID. As an example, the PID descriptor PIA can represent the textual phrase “vehicle speed sensor,” the PID descriptor PIB can represent the textual phrase “VSS,” the PID descriptor PIC can represent the textual phrase “vehicle speed,” and the PID descriptor PID can represent the textual phrase “speed.”
Table E shows mapping data corresponding to functional test identifiers and functional test descriptors. For example, Table E shows functional test identifiers in a left-most column and functional test descriptors of four categories of functional test descriptors in the four right-most columns. The Category A descriptors, the Category B descriptors, the Category C descriptors, and the Category D descriptors can be any of the example categories of diagnostic descriptors discussed above or some other category of diagnostic descriptors. The functional test identifiers in the left-most column represent functional test identifiers contained in and/or insertable into vehicle data messages. In accordance with at least some embodiments, the functional test identifiers listed in the left-most column represent functional test identifiers that take the form of hexadecimal numbers. The functional test descriptors shown in Table E and in the drawings are represented as the functional test identifier plus a suffix A, B, C, or D. A person having ordinary skill in the art will understand that the functional test descriptors shown in Table E and in the drawings represent textual phrases that describe vehicle functionality and/or testing corresponding to each functional test identifier. As an example, the functional test descriptor FT1A can represent the textual phrase “fuel pump control,” the functional test descriptor FT1B can represent the textual phrase “fuel pump engage,” the functional test descriptor FT1C can represent the textual phrase “fuel pump on/off,” and the functional test descriptor FT1D can represent the textual phrase “fuel pump.”
Table F shows mapping data corresponding to reset procedures identifiers and reset procedure descriptors. For example, Table F shows reset procedure identifiers in a left-most column, and reset procedure descriptors of four categories of reset procedure descriptors in the four right-most columns. The Category A descriptors, the Category B descriptors, the Category C descriptors, and the Category D descriptors can be any of the example categories of reset procedure descriptors discussed above or some other category of diagnostic descriptors. The reset procedure identifiers in the left-most column represent reset procedure identifiers contained in and/or insertable into vehicle data messages. In accordance with at least some embodiments, the reset procedure identifiers listed in the left-most column represent reset procedure identifiers that take the form of hexadecimal numbers. The reset procedure descriptors shown in Table F and in the drawings are represented as the reset procedure identifier plus a suffix A, B, C, or D. A person having ordinary skill in the art will understand that the reset procedure descriptors shown in Table F and in the drawings represent textual phrases that describe vehicle functionality and/or reset procedures corresponding to each reset procedure identifier. As an example, the reset procedure descriptor RP1A can represent the textual phrase “motor oil life,” the reset procedure descriptor RP1B can represent the textual phrase “engine lubricant life,” the reset procedure descriptor RP1C can represent the textual phrase “engine oil life,” and the reset procedure descriptor RP1D can represent the textual phrase “oil life.”
In accordance with at least some embodiments, the group of diagnostic descriptors includes multiple diagnostic descriptors corresponding to the first diagnostic identifier. The multiple diagnostic descriptors include the first diagnostic descriptor corresponding to the first diagnostic identifier. The multiple diagnostic descriptors correspond to different categories of diagnostic descriptors, such as a diagnostic descriptor from the following descriptor categories: Category A, Category B, Category C, and Category D.
The GUI output module 115 can be configured to output a GUI on a display, such as the display 74 shown in
As an example, the GUI output module 115 can output the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier. The GUI output module 115 can also be configured to output, on the first GUI, the second diagnostic descriptor and a representation of at least the first portion of the data values or at least a second portion of the data values. The GUI 240 shown in
As another example, the GUI output module 115 can be configured to output a GUI as part of configuring the VST 3, 60. In that regard, the vehicle service tool configuration module 111 can be configured to call for the execution of the GUI output module 115 to output the GUI. As another example, the GUI output module 115 can be configured to output a second GUI including the first USC. The GUI output module 115 can output the second GUI as part of configuring the VST 3, 60 to operate in the first state.
As yet another example, the GUI output module 115 can be configured to output, within the first GUI, a set of multiple operable USCs, each USC of the set of multiple operable USCs corresponds to a different category of diagnostic descriptors.
As still yet another example, the GUI output module 115 can be configured to output, on the first GUI, the second diagnostic descriptor and a representation of at least the first portion of the data values or a second portion of the data values.
As still yet another example, the GUI output module 115 can be configured to output within a GUI a measurement made using an oscilloscope or a meter during performance of a particular component test. Additionally, the GUI output module 115 can be configured to output, within a GUI, the particular component test descriptor and the measurement made using the oscilloscope or the meter during performance of the particular component test.
According to a further example, the GUI output module 115 can be configured to output a second GUI. In accordance with at least some embodiments, the second GUI includes a second USC corresponding to a second category of diagnostic descriptors different than the first category of diagnostic descriptors. The first category of diagnostic descriptors and the second category of diagnostic descriptors both include a different one of: an original equipment manufacturer category of diagnostic descriptors, an industry standard defined category of diagnostic descriptors, a normalized category of diagnostic descriptors, or a user-defined category of diagnostic descriptors.
In accordance with at least some embodiments, the GUI output module 115 outputs a GUI in which a diagnostic descriptor is contained in a USC or a container. In accordance with at least some embodiments, the GUI output module 115 outputs a GUI in which a diagnostic descriptor is located in proximity to a USC or a container and in location relative to the USC or the container such that user understands the descriptor corresponds to the USC or container. In that regard, the descriptor is closer to the USC than any other descriptor.
The GUI modification module 116 can be configured to modify a GUI. In that regard, the GUI modification module 116 can modify a GUI before the GUI is output on the display 74 and/or while the GUI is output on the display 74. Based on that latter example, the GUI modification module 116 can modify a GUI output by the GUI output module 115.
As an example, the GUI modification module 116 can be configured to modify a GUI by outputting additional PID parameters, such as the PID parameter values most-recently received from a vehicle.
As another example, the GUI modification module 116 can be configured to modify a GUI to display a second diagnostic descriptor that corresponds to a first diagnostic identifier (e.g., a first PID) and a representation of at least the first portion of the data values corresponding to the first diagnostic identifier or a second portion of the data values corresponding to the first diagnostic identifier. In accordance with this example, the GUI modification module 116 can perform such modification in response to selection of a USC corresponding to category of diagnostic descriptors different than a currently-selected category of diagnostic descriptors.
As yet another example, the GUI modification module 116 can be configured to modify a GUI by removing a container and/or a USC in response to selection of a facet selector. Part of that modification can include altering an arrangement of USCs and/or containers that remain on the GUI.
As still yet another example, the GUI modification module 116 can be configured to modify a GUI as that GUI is modified as shown in the drawings.
The template determination module 117 can be configured to determine, based on the list of diagnostic identifiers, a template for configuring a GUI (e.g., a first GUI) to display the data values corresponding to the first diagnostic identifier and to other data values contained in the vehicle data messages. As an example, a template determined by the template determination module 117 can include a quantity of containers corresponding to a quantity of diagnostic identifiers within the list of diagnostic identifiers. As another example, a template determined by the template determination module 117 can include one or more facet selectors for filtering out containers corresponding to data unrelated to the facet selectors. In accordance with at least some embodiments, a template for configuring a GUI can be stored within the memory 63, 133.
The component test descriptor determination module 118 can be configured to determine, from among a group of component test descriptors corresponding to the first category of component test descriptors, a particular component test descriptor corresponding to the particular component test. As an example, the first category of component test descriptors can be a particular category of component test descriptors from among multiple categories of component test descriptors. In at least some embodiments, the multiple categories of component test descriptors include one or more of the following categories: an OEM category of component test descriptors, an industry standard defined category of component test descriptors, a normalized category of component test descriptors, or a user-defined category of component test descriptors.
Table G shows mapping data corresponding to component test identifiers and component test descriptors. For example, Table G shows component test identifiers in a left-most column and component test descriptors of four categories of component test descriptors in the four right-most columns. The Category A descriptors, the Category B descriptors, the Category C descriptors, and the Category D descriptors can be any of the example categories of diagnostic descriptors discussed above or some other category of diagnostic descriptors. The component test identifiers in the left-most column represent component test identifiers contained in and/or insertable into instructions to the test device 66 (e.g., the meter 77 or the oscilloscope 78). In accordance with at least some embodiments, the component test identifiers listed in the left-most column represent component test identifiers that take the form of hexadecimal numbers. The component test descriptors shown in Table G and in the drawings are represented as the component test identifier plus a suffix A, B, C, or D. A person having ordinary skill in the art will understand that the component test descriptors shown in Table G and in the drawings represent textual phrases that describe component tests corresponding to each component test identifier. As an example, the component test descriptor CT1A can represent the textual phrase “mass air flow voltage,” the component test descriptor CT1B can represent the textual phrase “MAF volts,” the component test descriptor CT1C can represent the textual phrase “MAF sensor voltage,” and the component test descriptor CT1D can represent the textual phrase “MAF sensor volts.”
As an example, a Component Test List 1 shown in
The receiving module 119 can be configured to receive various types of data. The received data can be arranged as a message, an instruction, a list, a list identifier, a file, a descriptor or some other type of data. As an example, the file can include a markup language file (an XML file or an HTML file), a PDF file, or a comma separated variable (CSV) file. The receiving module 119 can be configured to output data to a transceiver and/or a receiver, such as the transceiver 64, 134, the network transceiver 72, or the vehicle communication transceiver 73. The receiving module 119 can receive data without any portion of that data being visible to a human.
As an example, the receiving module 119 can be configured to receive a group of diagnostic descriptors via execution of an application programming interface to the server 130.
As another example, the receiving module 119 can be configured to receive, from the server, one or more of the following: the list of diagnostic identifiers, a maximum data value threshold corresponding to the first diagnostic identifier, a minimum data value threshold corresponding to the first diagnostic identifier, a detailed description of the first diagnostic identifier, or a facet characteristic. As receiving those one or more aspects can include the receiving module 119 receiving a computer-readable file (e.g., a markup language file) containing those one or more aspects. The facet characteristic can indicate which diagnostic identifiers within the list of diagnostic identifiers correspond to the facet characteristic. The facet characteristic can correspond to a USC (i.e., a filter selector). As an example, the file can include the file 400, 449 or a file including aspects arranged like aspects of the file 400, 449.
As yet another example, the receiving module 119 can be configured to receive, while the VST 3, 60 operates in the first state, a selection of the first USC. Again, the first USC can be operable for selecting a first category of diagnostic descriptors to use when the VST operates in a second state.
As still yet another example, the receiving module 119 can be configured to receive, while the VST 3, 60 operates in the second state, vehicle data messages including a diagnostic identifier and data values corresponding to the diagnostic identifier. As an example, the diagnostic identifier in the vehicle data messages can include the same diagnostic identifier, such as a first diagnostic identifier or a second diagnostic identifier. As another example, the diagnostic identifier in the vehicle data messages can include different diagnostic identifiers, such as the first diagnostic identifier in a first portion of the vehicle data messages and the second diagnostic identifier in a second portion of the vehicle data messages. As yet another example, the different diagnostic identifiers can include more than two different diagnostic identifiers with respective portions of the vehicle data messages.
As still yet another example, the receiving module 119 can be configured to receive a selection indicative of a list of diagnostic identifiers selected for displaying within the first GUI. In accordance with that example, the receiving module 119 can also be configured to receive a group of diagnostic descriptors. Receipt of the group of diagnostic descriptors can occur in response to the transmitting module 120 transmitting the list identifier to the server 130. The group of diagnostic descriptors can include multiple diagnostic descriptors that correspond to a different diagnostic identifier in the list of diagnostic identifiers. The multiple diagnostic descriptors can include the first diagnostic descriptor. The multiple diagnostic descriptors can include a diagnostic descriptor from each of one of multiple categories of diagnostic descriptors.
As still yet another example, the receiving module 119 can be configured to receive a selection of a USC and responsively set the VST to use the first category of component test descriptors when the VST operates in a fourth state. In the fourth state, the VST displays a GUI and outputs within the GUI a measurement made using an oscilloscope or a meter during performance of a particular component test. The receiving module 119 can receive the USC selection while the VST operates in a third state in which a USC of the VST is operable for selecting a first category of component test descriptors to use when the VST operates in a fourth state.
As still yet another example, the receiving module 119 can be configured to receive multiple diagnostic descriptors. The multiple diagnostic descriptors can include diagnostic descriptors from different categories of diagnostic descriptors, but for a common diagnostic identifier. The multiple diagnostic descriptors can include diagnostic descriptors from a single category of diagnostic descriptors, but for different diagnostic identifiers. The multiple diagnostic descriptors can include diagnostic descriptors from different categories of diagnostic descriptors and for different diagnostic identifiers.
As still yet another example, the receiving module 119 can be configured to receive a GUI and/or data for populating a GUI.
The transmitting module 120 can be configured to transmit various types of data. The transmitted data can be arranged as a message, an instruction, a list, a list identifier, a file, a descriptor or some other type of data. The transmitting module 120 can be configured to output data to a transceiver and/or a transmitter, such as the transceiver 64, 134, the network transceiver 72, or the vehicle communication transceiver 73. The transmitting module 120 can transmit data without any portion of that data being visible to a human. The transmission of such data can occur over a communication link (e.g., the communication link 5, 36), a network (e.g., the communication network 7) or a data bus (e.g., the data bus 70).
As an example, the transmitting module 120 can be configured to transmit a list identifier via execution of an application programming interface to the server 130.
As another example, the transmitting module 120 can be configured to transmit, to a server, a list identifier corresponding to the list of diagnostic identifiers. The list of diagnostic identifiers can include a list selected for displaying within the first GUI.
As yet another example, the transmitting module 120 can configured to transmit a VDM over a communication link within a vehicle and/or connected to an OBD connector or ECU within a vehicle. The VDM can include an identifier, such as PID, a functional test identifier, or a reset procedure identifier. The VDM can include a request for the ECU and/or the vehicle to send a VDM in response to the request. As an example, the request in the VDM can include a PID and the response VDM can include the PID and a PID parameter value, or a DTC, or a VIN.
As still yet another example, the transmitting module 120 can be configured to transmit an instruction, such as an instruction to an ECU within a vehicle or an instruction to the test device 66. An instruction sent to the ECU can include an instruction to perform a functional test or reset procedure. An instruction set to the test device can include an instruction to configure the test device to perform a particular component test.
The perform component test module 121 can be arranged to configure a VST (e.g., the VST 3, 60) for performing a component test (e.g., a guided component test). As an example, configuring the VST 3, 60 can include configuring the test device 66 for performing the component test. As an example, configuring the test device 66 can include configuring the meter 77, the oscilloscope 78, and/or the signal generator 83 for performing the component test. As an example, configuring the signal generator 83 can include configuring the signal generator 83 to output a particular electrical signal (e.g., a sine wave with a particular frequency and amplitude, or a square wave with a particular frequency, duty cycle and amplitude) for providing to a component on the vehicle in order to see how the component responds to the particular electrical signal.
As another example, executing the perform component test module 121 can include outputting within a GUI (e.g., the GUI 216 shown in
The perform component test module 121 can be arranged to configured to perform the component test in response to selection of a USC corresponding to a component test, such as the USC 344 shown in
The state module 122 can be configured to determine operating states of the VST 3, 60 and/or to determine events that trigger the VST 3, 60 to change from one operating state to another operating state. The state module 122 can monitor various inputs to the processor (e.g., inputs from the transceiver 64, user interface 65, or the test device 66) or other aspects (e.g., a clock) to determine whether a triggering event has occurred.
As an example, in a first state of the VST 3, 60, a first user-selectable control of the VST 3, 60 is operable for selecting a first category of diagnostic descriptors to use when the VST 3, 60 operates in a second state. As another example, in the second state, the VST 3, 60 displays a first GUI and transmits requests for vehicle data messages to a vehicle. As yet another example, in a third state of the VST 3, 60, the VST 3, 60 displays a second GUI and outputs within the second GUI a measurement made using an oscilloscope or a meter during performance of a particular component test. As still yet another example, in a fourth state of the VST 3, 60, a second USC of the VST is operable for selecting a first category of component test descriptors to use when the vehicle service tool operates in the third state.
In accordance with yet another example, the state module 122 can be configured to cause the VST 3, 60 to operate in accordance with the states and transitions shown in a state diagram 160 shown in
Next,
The state 161 includes a state for displaying a menu. As an example, the VST 3, 60 can enter the state 161 upon powering on in response to selection of an on/off switch. While the VST 3, 60 operates in the state 161, the display 74 can output a GUI with a menu having one or more items selectable via use of the user interface 65. As an example, while the VST 3, 60 operates in the state 161, the display 74 can output a GUI, such as a GUI shown in
The VST 3, 60 can enter (e.g., transition to) the state 161 from the state 162, 163, 164, 165 via the transition 171, 174, 178, 181, respectively.
The state 162 includes a state for selecting a list, a test, and/or a test set. The VST 3, 60 can enter (e.g., transition to) the state 162 from the state 161, 163 via the transition 170, 173, respectively. As an example, the list can include a PID list (i.e., a list of one or more PIDs), a list of test sets, a functional test list (i.e., a list of one or more functional tests), a reset procedure list (i.e., a list of one or more reset procedures), or a component test list (i.e., a list of one or more component tests).
As an example, the VST 3, 60 can enter (e.g., transition to) the state 162 after selection of a system and then in response to a selection of the USC 206 shown in
The state 163 includes a state for transmitting a request and/or displaying data. As an example, the state 163 can include a state for transmitting a request to a vehicle (e.g., a VDM) and displaying (on the display 74) data based on a response received in response to the request. The response to the request can include a VDM including a PID and corresponding parameter value, or a VDM including data corresponding a functional test or reset procedure requested to be performed. The VST 3, 60 can output a GUI to display the PID and corresponding parameter value. Examples of such a GUI are shown in
As another example, the state 163 can include a state for transmitting a request to the meter 77 or the oscilloscope 78 to configure itself to make a measurement and to displaying (on the display 74) data indicative of the measurement made by the meter 77 or the oscilloscope 78 as configured according to the request. That request can include and/or be referred to as an instruction. The VST 3, 60 can output a GUI to display the measurement. Examples of such a GUI are show in
The VST 3, 60 can enter (e.g., transition to) the state 163 from the state 162 via the transition 172 and/or from the state 164 via the transition 176, 177.
The state 164 includes a state for selecting a descriptor category state. As an example, the state for selecting the descriptor category state includes a state in which the VST 3, 60 includes one or more USCs operable to select a descriptor category state. As an example, the VST 3, 60 can output a GUI 240 shown in
In at least some embodiments, while the VST 3, 60 operates in the state 164, the VST 3, 60 can change the diagnostic descriptors displayed within a GUI from a first category of diagnostic descriptors to diagnostic descriptors from a second category of diagnostic descriptors.
The VST 3, 60 can enter (e.g., transition to) the state 164 from the state 161, 163 via the transition 179, 175, respectively. In at least some embodiments, the VST 3, 60 can transition to the state 164 for selecting the descriptor category state in response to selecting a USC for selecting a descriptor category.
The state 165 includes a state for defining descriptors (e.g., one or more descriptors corresponding to PIDs, functional tests, reset procedures, or components tests). The descriptors defined while the VST 3, 60 can be contained within a user-defined category of diagnostic descriptors.
The VST 3, 60 can enter (e.g., transition to) the state 165 from the state 161 via the transition 180. As an example, the VST 3, 60 can transition to the state 165 in response to selecting a USC, such as the USC 277 shown in
Next,
The server 130 includes a logic segment 131 including a processor 132 and a memory 133. The server 130 also includes a transceiver 134, a user interface 135, a data bus 136, an electrical circuit 137, a housing, 138, and/or a power supply 139. The data bus 136 can operatively connect the logic segment 131 (e.g., the processor 132 and/or the memory 133), the transceiver 134, the user interface 135, and/or the power supply 139 to one another. In other words, the data bus 136 can provide an operative connection between two or more of the logic segment 131 (e.g., the processor 132 and/or the memory 133), the transceiver 134, the user interface 135, or the power supply 139. Examples of the processor 132, the memory 133, and the transceiver 134 are described elsewhere in this description. In at least some embodiments of the server 130, the processor 132 is a specific processor that is programmed to perform any function(s) described in this description as being performed by the server 6, 130.
The electrical circuit 137 (i.e., one or more electrical circuits) is configured to distribute electrical current throughout the server 130 and/or provide a voltage within various nodes of electrical components within the server 130. For example, the electrical circuit 137 can comprise one or more electrical circuits for carrying an electrical current from the power supply 139 to the processor 132, the memory 133, the transceiver 134, and/or the user interface 135, and one or more electrical circuits for carrying an electrical current from the processor 132, the memory 133, the transceiver 134, and/or the user interface 135 to the power supply 139. Examples of the power supply 139 are described elsewhere in this description.
The housing 138 surrounds at least a portion of the following: the logic segment 131 (e.g., the processor 132 and/or the memory 133), the transceiver 134, the user interface 135, the data bus 136, the electrical circuit 137 and/or the power supply 139. The housing 138 can support a substrate. In at least some example embodiments, at least a portion of the following: the logic segment 131 (e.g., the processor 132 and/or the memory 133), the transceiver 134, the user interface 135, the data bus 136, the electrical circuit 137 and/or the power supply 139 is/are mounted on and/or connected to a substrate of the housing 138. The housing 138 can include a server rack.
The user interface 135 can include an input device and an output device. The user interface 135 can include a display, such as a display discussed with respect to the display 74. The display can be configured as an input device and/or an output device. The user interface 135 can display a GUI output by the processor 132. The input device is configured to allow a user to input data into the processor 132.
The memory 133 can includes CRP1 140, a GUI 142, vehicle selection data 143, service information 144, and/or mapping data 145. The CRP1 140 can include a module 141 (i.e., one or more modules). The module 141 can include one or more modules of the module set 110 shown in
The CRP1 140 can include program instructions executable by a processor, such as the processor 132. As an example, the CRP1 140 can include program instructions that are executable to cause the server 130 to perform any function described as being performed by the server 130, by the processor 132, and/or by some other component of the server 130. As an example, the CRP1 140 can include program instructions executable by the processor to perform at least a portion of one or more functions of any one or more the function set 600, 610, 615, 620, 625, 630, 640, 645, 650, 660 shown in
The GUI 142 includes one or more GUIs. The GUI 142 can include a GUI that the server 130 transmits (as a service) to the VST 60. As an example, the GUI 142 can include one or more GUI in the GUI 87 shown in
The vehicle selection data 143 can include and/or be arranged as the vehicle selection data 89. The vehicle selection data 143 can include vehicle selection data for different types of vehicles (e.g., vehicles identified by different year, make and model characteristics).
The service information 144 can include service information to populate within a GUI at the server 130 before transmission to the VST 3, 60 or at the VST 3, 60 by the VST 3, 60. As an example, the service information 144 can include vehicle specifications, component specification, maintenance information, repair instructions, diagnostic instructions, diagnostic flowcharts, fluid capacity information, connector drawings, or connector pinout information. Other examples of the service information are possible.
The mapping data 145 can include some or all of the mapping data 93 shown in
As noted, the computing systems (e.g., the VST 3, 60, and/or the server 6, 130) can include a display for displaying a GUI. The drawings show various aspects of GUIs in accordance with the example embodiments. Those aspects include a USC configured to trigger a processor to perform function(s) corresponding to the USC. In at least some embodiments, a USC includes an icon indicative of a function corresponding to the USC.
In accordance with at least some embodiments, the processor executes program instructions to output a GUI (such as any GUI described in this description) on a display. If the GUI includes a USC, then the processor can execute program instructions to arm the USC such that selection of the USC while the GUI is output on the display causes a signal change at the processor to interrupt the processor to cause the processor to execute program instructions corresponding to the USC. The program instructions to arm the USC can arm other USCs within the GUI such that selection of the other USCs while the GUI is output on the display causes a signal change at the processor to interrupt the processor to cause the processor to execute program instructions corresponding to the other USCs. The processor can execute program instructions to disarm the USC when the GUI is no longer output on the display.
The GUI 185 can include a cursor 186 movable to point to a USC or another item of the GUI 185. The processor 62 can detect the USC or the other item of the GUI 185 is selected when the cursor 186 is disposed on the USC or the other item of the GUI 185 and a mouse or other selector is used to enter a single or double click input. The other GUIs shown in the figures can also include a cursor, similar to the cursor 186, for use in selecting an item of that GUI. For embodiments in which the display 74 includes a touch screen display, the GUIs shown in
As shown in
In at least some embodiments, the make selection menu 189 is populated with vehicle makes after a year is selected from the year selection menu 187. Similarly, in at least some embodiments, the model selection menu 191 is populated with vehicle models after a year is selected from the year selection menu 187 and after a make is selected from the make selection menu 189. Similarly, in at least some embodiments, the powertrain selection menu 193 is populated with powertrain identifiers after a model is selected from the model selection menu 191 is populated with vehicle models after a year is selected from the year selection menu 187 and after a make is selected from the make selection menu 189. In alternative embodiments, each of the year selection menu 187, the make selection menu 189, the model selection menu 191, or the powertrain selection menu 193 is in a separate GUI without the other of the year selection menu 187, the make selection menu 189, the model selection menu 191, and the powertrain selection menu 193.
The GUI 185 includes a USC 183 selectable to cause the VST 3, 60 to transmit a VDM to the vehicle 4, 20, 40 to request a VIN corresponding to the vehicle and to cause the processor 62 to identify the vehicle based on a response to the VDM sent to the vehicle. In at least some embodiments, the processor 62 can populate the year selection menu 187, the make selection menu 189, the model selection menu 191, and the powertrain selection menu 193 with selections based on the VIN received in the response to the VDM.
In at least some embodiments, the GUI 185 includes a USC 184 for continuing after one or more of a year, make, model and powertrain were selected using the year selection menu 187, the make selection menu 189, the model selection menu 191, and the powertrain selection menu 193, respectively. Continuing after selection of the USC 184 can include the VST 3, 60 outputting a different GUI on the display 74.
Next,
The GUI 200 includes a USC 202 to cause the VST 3, 60 to present options for changing the vehicle identifier 201. As an example, the VST 3, 60 can output the GUI 185 in response to determining the USC 202 was selected.
The GUI 200 (and other GUIs shown in the drawings) includes a USC 203 to cause the VST 3, 60 to exit the GUI including the USC 203. As an example, the VST 3, 60 can exit the GUI 200 by selecting the USC 203 and then display a different GUI, such as the GUI 185.
The GUI 200 includes a set of user-selectable controls 204. Each of those user-selectable controls corresponds to a different system of a vehicle indicated by the vehicle identifier 201. The set of user-selectable controls 204 includes a USC 205 for selecting a system referred to on the USC 205 as “Engine.” The GUI 200 shows the USC 205 with cross-hatched lines to represent that the USC 205 has been selected.
The GUI 200 includes a USC 206 for entering a system selected via a USC of the set of user-selectable controls 204. In accordance with at least some embodiments, the USC 206 can be selected after one or more user-selectable controls of the set of user-selectable controls 204 are selected.
Next,
A PID list includes a list of one or more PIDs. The PIDs in a PID list can be equivalent to a PID used by a vehicle or data mapped to a PID used by the vehicle. As an example, a PID list can be contained within a computer-readable file, such as a markup language file or a Java script object notation (JSON) file. As an example, the markup language file can include a hypertext markup language (HTML) file or an extensible markup language (XML) file. As another example, a PID list can be contained within database stored within a computer-readable memory.
The GUI 210 includes a USC 212 to cause the VST 3, 60 to present options for changing the system identifier 211. As an example, the VST 3, 60 can output the GUI 200 in response to determining the USC 212 was selected.
The GUI 200 includes a USC set 213 (i.e., a set of USCs). Each USC within the USC set 213 corresponds to a different PID list corresponding to a vehicle indicated by the vehicle identifier 201. The USC set 213 includes a USC 214 for selecting a PID list referred to on the USC 214 as “PID List 1.” The GUI 200 shows the USC 214 with cross-hatched lines to represent that the USC 214 has been selected.
The GUI 200 includes a USC 215 for entering a PID list selected via a USC of the USC set 213. In accordance with at least some embodiments, the USC 215 can be selected after one or more user-selectable controls of the USC set 213 are selected.
Next,
A test set list includes a list of test sets. A test set within a test set list includes a set of tests and related diagnostics and procedures for servicing a vehicle. As example, the tests can include one or more functional tests or component tests. As another example, the diagnostics and procedures can include one or more PID requests or reset procedures. The GUI 375 shown in
The GUI 220 includes a USC set 221. Each USC within the USC set 221 corresponds to a different test set corresponding to a vehicle indicated by the vehicle identifier 201 and a system indicated by the system identifier 211. The USC set 221 includes a USC 223 for selecting a test set referred to on the USC 214 as “Test Set 1.” The GUI 200 shows the USC 223 with cross-hatched lines to represent that the USC 223 has been selected.
The GUI 220 includes a USC 222 for entering a test set selected via a USC of the USC set 221. In accordance with at least some embodiments, the USC 222 can be selected after one or more user-selectable controls of the USC set 221 are selected.
Next,
A functional test list includes a list of functional tests. A functional test within a functional test list can be performed to diagnose or test a vehicle and/or vehicle component. As an example, a functional test can include a toggle test to switch a component, such as a solenoid, relay, or switch between two operating states, or a variable control test to command a certain value for a system or component, such as varying a spark timing in one degree increments or an EGR valve duty cycle in ten percent increments.
The GUI 225 includes a USC set 226. Each USC within the USC set 226 corresponds to a different functional test list corresponding to a vehicle indicated by the vehicle identifier 201 and a system indicated by the system identifier 211. The USC set 226 includes a USC 228 for selecting a test set referred to on the USC 228 as “Functional Test List 1.” The GUI 225 shows the USC 228 with cross-hatched lines to represent that the USC 228 has been selected.
The GUI 225 includes a USC 227 for entering a functional test list selected via a USC of the USC set 226. In accordance with at least some embodiments, the USC 227 can be selected after one or more user-selectable controls of the USC set 226 are selected.
Next,
A reset procedure list includes identifiers of one or more reset procedures. In
The GUI 230 includes a set of user-selectable controls 231. Each of those user-selectable controls corresponds to a different reset procedure list corresponding to a vehicle indicated by the vehicle identifier 201 and a system indicated by the system identifier 211. The set of user-selectable controls 231 includes a USC 233 for selecting a reset procedure list referred to on the USC 233 as “Reset Procedure List 1.” The GUI 230 shows the USC 233 with cross-hatched lines to represent that the USC 233 has been selected.
The GUI 230 includes a USC 232 for entering a reset procedure list selected via a USC of the set of user-selectable controls 231. In accordance with at least some embodiments, the USC 232 can be selected after one or more user-selectable controls of the set of user-selectable controls 231 are selected.
Next,
A component test list includes a list of component tests. A component test within a component test list can be performed to diagnose or test a vehicle and/or vehicle component. As an example, a component test within the list of component tests can include a component test discussed with respect to Table A or any other component test discussed in this description.
The GUI 235 includes a USC set 236. Each of those user-selectable controls corresponds to a different component test list corresponding to a vehicle indicated by the vehicle identifier 201 and a system indicated by the system identifier 211. The USC set 236 includes a USC 238 for selecting a component test list referred to on the GUI 235 as “Component Test List 1.” The GUI 235 shows the USC 238 with cross-hatched lines to represent that the USC 238 has been selected.
The GUI 235 includes a USC 237 for entering a component test list selected via a USC of the USC set 236. In accordance with at least some embodiments, the USC 237 can be selected after one or more user-selectable controls of the USC set 236 are selected.
Next,
The GUI 240 includes a USC 242 selectable to cause the VST 3, 60 to present options for changing the PID list identifier 241. As an example, the VST 3, 60 can output the GUI 210 in response to determining the USC 242 was selected from the GUI 240.
The GUI 240 includes a container set 243 (e.g., PID containers or a set of containers). As shown in
The container 244 includes a PID descriptor 253 and a USC 254 selectable to show other user-selectable controls corresponding to a PID indicated by the PID descriptor 253. Each of the other containers within the container set 243 also includes a PID descriptor and a USC (similar to the USC 254) selectable to show other user-selectable controls corresponding to a PID indicated by the PID descriptor within the container 244. For example, the container 252 includes a PID descriptor 265 and a USC 266 selectable to show other user-selectable controls corresponding to a PID indicated by the PID descriptor 265, and the container 251 includes a PID descriptor 267 and a USC 268 selectable to show other user-selectable controls corresponding to a PID indicated by the PID descriptor 267. All of the PID descriptors shown in the container set 243 are shown to include a suffix “A” to represent that those PID descriptors are arranged according to a category A of PID descriptors.
Each container within the container set 243 includes one or more PID parameter values. For example, the container 244 includes a PID parameter value 255. A person having ordinary skill in the art will understand that the PID parameter value 255 can be numeric (e.g., 12.0, as in 12.0 volts, or 35, as in 35 PSI). As another example, the container 246 includes PID parameter values arranged as a graph 279 of multiple PID parameter values. A PID parameter value can be accompanied by a unit identifier (e.g., volts, amperes, kilopascals, pounds per square inch (PSI), revolutions per minute (RPM), among others).
A PID container can include a PID parameter value range. For example, the container 251 includes a PID parameter value range 256 corresponding to a PID parameter value 257. As an example, if the PID parameter value 257 represents a voltage, the PID parameter value range 256 can include two voltage values such as 0.10 volts and 5.25 volts, such that the PID parameter value 257 can be expected to be between 0.10 volts and 5.25 volts when the system indicated by the system identifier 211 is operating without malfunctioning.
A PID container can include malfunction indicator to indicate when a parameter value corresponding to a particular PID has breached a threshold value corresponding to the particular PID. The threshold value can be an upper or lower value of a PID parameter value range. As an example, a malfunction indicator can include a flag icon, such as the flag icon 258 within the container 248. The flag icon 258 can be configured using a particular color (e.g., red or black) after a malfunction has been detected. The flag icon 258 can be configured using a different color (e.g., green or while) if no malfunction corresponding to the particular PID has been detected. In at least some embodiments, the flag icon 258 is not present if the malfunction for the particular PID has not been detected.
The GUI 240 also includes a user-selectable control set 259 including a USC 260, 261, 262, 263. The USC 260, 261, 262, 263 is operable for selecting a PID descriptor category. The GUI 240 represents the PID descriptor categories as Category A, Category B, Category C, and Category D. The GUI 240 includes a USC 264 that is selectable to cause the VST 3, 60 to change the PID descriptors within the container set 243 from a currently-selected PID descriptor category to a PID descriptor category selected using the USC 260, the USC 261, the USC 262, or the USC 263. As discussed above, the PID descriptors within the container set 243 are arranged according to the Category A of PID descriptors.
The container 250 includes a USC 339. The USC 339 can be referred to as an information button. Any other or all other containers including a PID descriptor can include a USC like the USC 339, but that USC is not shown in all drawings including such container to improve clarity of the drawings. The USC 339 is selectable to cause the processor to determine supplemental information regarding the PID corresponding to the container including the USC 339. As an example, the processor 62 can determine supplemental information from one or more data sources (e.g., the server 130 and/or the memory 63). In accordance with at least some embodiments, the supplemental information accessible via use of the USC 339 can be accessed for display via a USC (like the USC 254) within the same container as the USC 339. The description corresponding to
Next,
Next,
The USC 270 is selectable to cause the VST 3, 60 clear PID parameter values corresponding to the PID associated with the container 252. In some embodiments, the USC 270 is selectable to cause the VST 3, 60 clear PID parameter values corresponding to all PIDs for which PID parameter values are being received. As an example, clearing PID parameter values can include the VST 3, 60 deleting PID parameter values stored in a computer-readable memory and/or storing PID parameter values received after selecting the USC 270 over PID parameter values stored in the computer-readable memory prior to selecting the USC 270. As an example, clearing PID parameter values can include clearing a minimum PID parameter value, a maximum PID parameter value, and/or a graph of PID parameter values.
The USC 271 is selectable to cause the VST 3, 60 to display a graph of PID parameter values within the container 252. The VST 3, 60 can change a size of the container 252 so that the graph fits within the container 252. The VST 3, 60 can remove a PID parameter value, a PID parameter maximum value, and/or PID parameter value from within the container 252 in response to a selection of the USC 271.
The USC 272 is selectable to cause the VST 3, 60 to change a descriptor category of the PID descriptor 265 or to cause the VST 3, 60 to output one or more USC that are selectable to cause the VST 3, 60 to change the descriptor category of the PID descriptor 265. Examples of those one or more USC are shown in
Other examples of functions available to be performed by the VST 3, 60 in response to selection of a USC that is available upon selection of a USC within a container, such as the USC 254 within the container 244 or the USC 266 within the container 252 are also possible.
Selection of the USC 339 can act an interrupt to cause the processor to search for and/or request supplemental information corresponding to the PID. For example, the processor can search the memory 63 for the supplemental information. In at least some embodiments, supplemental information corresponding to a PID is stored in the memory 63, such as within the service information 92 and/or the mapping data 93 (e.g., supplemental information contained within a file, such as the file 400, 449). As another example, if the memory 63 does not include the supplemental information corresponding to the PID, then the processor can transmit to the server 130 a request for the supplemental information corresponding to the PID. Upon receiving the supplemental information, the processor can write the supplemental information into the memory 63 and/or cause the supplemental information to be output on the display. Examples of displaying supplemental information corresponding to a PID is discussed below.
As an example, the supplemental information 281 includes alternative PID descriptors 224 corresponding to PID P7 (i.e., P7B, P7C, P7D) as well as the PID descriptor (i.e., P7A) within the container 250 when the USC 339 was selected. As another example, the supplemental information 281 can include a PID operation description 229 corresponding to PID P7. As still yet another example, the supplemental information 281 includes minimum parameter value 282 and maximum parameter value 283 (received during a current data session) corresponding to the PID indicated by the container including the USC 339. The current data session can be initiated by connection of the VST 60 to the vehicle. The supplemental information 281 also includes a threshold value 284, such as a threshold parameter value that corresponds to one or more signals the ECU monitors to determine whether to set a diagnostic trouble code corresponding to the PID. Other examples of supplemental information output within the container 280 in response to a selection of the USC 339 are also possible.
As an example, a PID operation description for a PID corresponding to short-term fuel trim can describe how the engine controller ECU adjusts an amount of fuel being provided to the engine to maintain stoichiometrically balanced combustion in the engine over a relatively short time period. As another example, a PID operation description for a PID corresponding to long-term fuel trim can describe how the engine controller ECU adjusts an amount of fuel being provided to the engine to maintain stoichiometrically balanced combustion in the engine over a relatively long time period. The aforementioned PID operation descriptions may include descriptions for a particular bank of the engine. As yet another example, a PID operation description for an oxygen sensor can indicate how a ratio for the oxygen sensor is calculated, a minimum value, a maximum value and a units indicator. Other examples of PID operation descriptions are possible.
Although
Next,
The USC 273, 274, 275, 276 is selectable to cause the VST 3, 60 to use the category A of PID descriptors, category B of PID descriptors, category C of PID descriptors, or category D of PID descriptors, respectively for the PID descriptor 265.
Next,
Next,
Next,
Next,
The GUI 285 includes a set of containers 286 (e.g., PID containers). As shown in
The GUI 285 also includes a USC 305 that is selectable to cause the VST 3, 60 to output a USC for selecting a PID descriptor category. As an example, the USC 305 can be configured as a drop-down menu to output a USC 306, 307, 308, 309 when the USC 305 is selected. As shown in
Next,
Next,
By comparing
Next,
The GUI 320 includes a USC 322 selectable to cause the VST 3, 60 to present options for changing the functional test list identifier 321. As an example, the VST 3, 60 can output the GUI 225 in response to determining the USC 322 was selected from the GUI 320.
The GUI 320 includes a USC set 323. As shown in
The suffix A or B is used in
The GUI 320 also includes a USC set 328 including a USC 329, 330, 337, 338. The USC 329, 330, 337, 338 is operable for selecting a functional test descriptor category. The GUI 320 represents the functional test descriptor categories as Category A, Category B, Category C, and Category D. The GUI 320 includes a USC 331 that is selectable to cause the VST 3, 60 to change the functional test descriptors within the USC set 323 from a currently-selected functional test descriptor category to a functional test descriptor category selected using the USC 329, the USC 330, the USC 337, or the USC 338. In the view of the GUI 320 shown in
A person having ordinary skill in the art will understand that the USC set 328 can include fewer than or more than four USCs to respectively select from among a number of categories of functional test descriptors less than or greater than four. The USC 330 is shown with an X to indicate that the USC 330 has been selected. In at least some embodiments, selecting a functional test descriptor category via a USC, such as the USC 330 causes the VST 3, 60 to change the functional test descriptors within and/or corresponding to that USC to select a functional test descriptor category without having to select another USC, such as the USC 331.
The USC 324, 325, 326, 327 includes a USC 419. The USC 419 can be referred to as an information button. Any other or all other containers including a functional test descriptor can include a USC like the USC 419, but that USC is not shown in all drawings including such container to improve clarity of the drawings. The USC 419 is selectable to cause the processor to determine supplemental information regarding the functional test corresponding to the container including the USC 419. As an example, the processor 62 can determine supplemental information from one or more data sources (e.g., the server 130 and/or the memory 63). The description corresponding to
Next,
In accordance with at least some embodiments, one or more aspects of the GUI 320 as shown in
In
Next,
Additionally, the view of the GUI 320 shown in
Selection of the USC 419 can act an interrupt to cause the processor to search for and/or request supplemental information corresponding to the functional test. For example, the processor can search the memory 63 for the supplemental information. In at least some embodiments, supplemental information corresponding to a functional test is stored in the memory 63, such as within the service information 92 and/or the mapping data 93. As another example, if the memory 63 does not include the supplemental information corresponding to the functional test, then the processor can transmit to the server 130 a request for the supplemental information corresponding to the functional test. Upon receiving the supplemental information, the processor can write the supplemental information into the memory 63 and/or cause the supplemental information to be output on the display. Examples of displaying supplemental information corresponding to a functional test is discussed below.
As an example, the supplemental information 421 includes alternative functional test descriptors 422 corresponding to functional test FT4 (i.e., FT4A, FT4C, FT4D) as well as the functional test descriptor (i.e., FT4B) within the USC 327 when the USC 419 was selected. As another example, the supplemental information 421 can include a functional test operation description 423 correspond to functional test FT4. As yet another example, the supplemental information 421 includes a diagnostic success rate 424, an average completion time 425, and a complexity value 426. The diagnostic success rate 424 can include data that indicates how successful technicians were in repairing a vehicle based on performing the functional test to a similar vehicle. The average completion time 425 can include data that indicates how long it typically takes to perform the functional test. The complexity value 426 can include data that indicates how challenging technicians find performing the functional test relative to other functional tests for the vehicle and/or component being diagnosed. Other examples of supplemental information output within the container 420 in response to a selection of the USC 419 are also possible.
The functional test operation description 423 includes data that describes functional test operation of a functional test indicated at and/or within the USC 327. As an example, a functional test operation description can indicate which vehicle component(s) are controlled during performance of the test and/or which circuits (e.g., electrical circuits) within the vehicle are affected directly by performance of the test. As another example, a functional test operation description can indicate whether a functional test is a toggle test that switches a vehicle component and/or circuit between two operating states, or a variable control test that commands a vehicle component and/or circuit to a particular value from among more than two possible values (such as multiple duty cycle values of a pulse width modulated (PWM) signal.
In at least some embodiments, the processor 62 modifies the GUI 320 in response to a selection of the USC 419. In that regard, the processor 62 modifies the GUI 320 by outputting container 420 within the GUI 320. In at least some of those embodiments, the container 420 is arranged as a pop-up container that overlays at least a portion of the USC 327 that includes the USC 419 selected to cause output of the container 420. In at least some other embodiments, the container 420 is displayed in proximity to the USC 327 without overlaying any portion of the USC 327.
Next,
The GUI 340 includes a USC 342 selectable to cause the VST 3, 60 to present options for changing the component test list identifier 341. As an example, the VST 3, 60 can output the GUI 235 in response to determining the USC 342 was selected from the GUI 340.
The GUI 340 includes a USC set 343. As shown in
The suffix A or B is used in
The GUI 340 also includes a USC set 348 including a USC 349, 350, 372, 373. The USC 349, 350, 372, 373 is operable for selecting a component test descriptor category. The GUI 340 represents the component test descriptor categories as Category A, Category B, Category C, and Category D. The GUI 340 includes a USC 351 that is selectable to cause the VST 3, 60 to change the component test descriptors within the USC set 343 from a currently-selected component test descriptor category to a component test descriptor category selected using the USC 349 or the USC 350. In the view of the GUI 340 shown in
A person having ordinary skill in the art will understand that the USC set 348 can include fewer than or more than four USCs to respectively select from among a number of categories of functional test descriptors less than or greater than four. The USC 350 is shown with an X to indicate that the USC 350 has been selected. In at least some embodiments, selecting a component 1 test descriptor category via a USC, such as the USC 350 causes the VST 3, 60 to change the component test descriptors within and/or corresponding to that USC to select a component test descriptor category without having to select another USC, such as the USC 351.
The USC 344, 345, 346, 347 includes a USC 429. The USC 429 can be referred to as an information button. Any other or all other containers including a component test descriptor can include a USC like the USC 429, but that USC is not shown in all drawings including such container to improve clarity of the drawings. The USC 429 is selectable to cause the processor to determine supplemental information regarding the component test corresponding to the container including the USC 429. As an example, the processor 62 can determine supplemental information from one or more data sources (e.g., the server 130 and/or the memory 63). The description corresponding to
Next,
In
Next,
Additionally, the view of the GUI 340 shown in
Selection of the USC 429 can act an interrupt to cause the processor to search for and/or request supplemental information corresponding to the component test. For example, the processor can search the memory 63 for the supplemental information. In at least some embodiments, supplemental information corresponding to a component test is stored in the memory 63, such as within the service information 92 and/or the mapping data 93. As another example, if the memory 63 does not include the supplemental information corresponding to the component test, then the processor can transmit to the server 130 a request for the supplemental information corresponding to the component test. Upon receiving the supplemental information, the processor can write the supplemental information into the memory 63 and/or cause the supplemental information to be output on the display. Examples of displaying supplemental information corresponding to a component test is discussed below.
As an example, the supplemental information 431 includes alternative component test descriptors 434 corresponding to functional test CT2 (i.e., CT2A, CT2C, CT2D) as well as the component test descriptor (i.e., CT2B) within the USC 345 when the USC 429 was selected. As another example, the supplemental information 431 can include a component test operation description 435 corresponding to component test CT2. As yet another example, the supplemental information 431 includes a diagnostic success rate 436, an average completion time 437, and a complexity value 438. The diagnostic success rate 436 can include data that indicates how successful technicians were in repairing a vehicle based on performing the component test to a similar vehicle. The average completion time 437 can include data that indicates how long it typically takes to perform the component test. The complexity value 438 can include data that indicates how challenging technicians find performing the component test relative to other component tests for the vehicle and/or component being diagnosed. Other examples of supplemental information output within the container 430 in response to a selection of the USC 429 are also possible.
The component test operation description 435 includes data that describes component test operation of a component test indicated at and/or within the USC 345. As an example, a component test operation description can indicate what type of test is performed by a component test corresponding to the component test operation description. As an example, a component test operation description can indicate a type of measurement made during the test, such as a voltage, current, resistance, frequency, pressure, or timing measurement. As another example, a component test description can indicate a type of measurement device (e.g., an oscilloscope, a multi-meter, or a probe specified for the component test). As yet another example, a component test operation description can indicate how the measurement device is to be connected to a vehicle to carry out the component test. Other examples of a component test operation description are also possible.
In at least some embodiments, the processor 62 modifies the GUI 340 in response to a selection of the USC 429. In that regard, the processor 62 modifies the GUI 340 by outputting container 430 within the GUI 340. In at least some of those embodiments, the container 430 is arranged as a pop-up container that overlays at least a portion of the USC 345 that includes the USC 429 selected to cause output of the container 430. In at least some other embodiments, the container 430 is displayed in proximity to the USC 345 without overlaying any portion of the USC 345.
Next,
The GUI 360 includes a USC 362 selectable to cause the VST 3, 60 to present options for changing the reset procedure list identifier 361. As an example, the VST 3, 60 can output the GUI 230 in response to determining the USC 362 was selected from the GUI 360.
The GUI 360 includes a USC set 363. As shown in
The suffix A or B is used in
The GUI 360 also includes a USC set 368 including a USC 369, 370, 393, 394. The USC 369, 370, 393, 394 is operable for selecting a reset procedure descriptor category. The GUI 360 represents the reset procedure descriptor categories as Category A, Category B, Category C, and Category D. The GUI 360 includes a USC 371 that is selectable to cause the VST 3, 60 to change the reset procedure descriptors within the USC set 363 from a currently-selected reset procedure descriptor category to a reset procedure descriptor category selected using the USC 369, the USC 370, the USC 393, or the USC 394. In the view of the GUI 360 shown in
A person having ordinary skill in the art will understand that the USC set 368 can include fewer than or more than four USCs to respectively select from among a number of categories of functional test descriptors less than or greater than four. The USC 370 is shown with an X to indicate that the USC 370 has been selected. In at least some embodiments, selecting a reset procedure descriptor category via a USC, such as the USC 370 causes the VST 3, 60 to change the reset procedure descriptors within and/or corresponding to that USC to select a reset procedure descriptor category without having to select another USC, such as the USC 371.
The USC 444, 445, 446 includes a USC 439. The USC 439 can be referred to as an information button. Any other or all other containers including a reset procedure descriptor can include a USC like the USC 439, but that USC is not shown in all drawings including such container to improve clarity of the drawings. The USC 439 is selectable to cause the processor to determine supplemental information regarding the reset procedure corresponding to the container including the USC 439. As an example, the processor 62 can determine supplemental information from one or more data sources (e.g., the server 130 and/or the memory 63). The description corresponding to
Next,
In
Next,
Additionally, the view of the GUI 360 shown in
Selection of the USC 439 can act an interrupt to cause the processor to search for and/or request supplemental information corresponding to the reset procedure. For example, the processor can search the memory 63 for the supplemental information. In at least some embodiments, supplemental information corresponding to a reset procedure is stored in the memory 63, such as within the service information 92 and/or the mapping data 93. As another example, if the memory 63 does not include the supplemental information corresponding to the reset procedure, then the processor can transmit to the server 130 a request for the supplemental information corresponding to the reset procedure. Upon receiving the supplemental information, the processor can write the supplemental information into the memory 63 and/or cause the supplemental information to be output on the display. Examples of displaying supplemental information corresponding to a reset procedure is discussed below.
As an example, the supplemental information 441 includes alternative reset procedure descriptors 520 corresponding to reset procedure RP3 (i.e., RP3A, RP3C, RP3D) as well as the reset procedure descriptor (i.e., RP3B) within the USC 446 when the USC 439 was selected. As another example, the supplemental information 441 can include a reset procedure operation description 521 corresponding to component test PR3. As yet another example, the supplemental information 441 includes instructions 522 to perform a reset procedure (e.g., the reset procedure RP3). Other examples of supplemental information output within the container 440 in response to a selection of the USC 439 are also possible.
The reset procedure operation description 521 includes data that describes reset procedure operation of a reset procedure indicated at and/or within the USC 446. As an example, a reset procedure operation description can indicate what an ECU within the vehicle does when it performs the reset. As another example, a reset procedure operation description can indicate how long it takes to perform the reset procedure. As yet another example, a reset procedure operation description can indicate an instruction for how the VST is to be operated and/or an operating state of the vehicle required for the reset procedure to be performed.
In at least some embodiments, the processor 62 modifies the GUI 360 in response to a selection of the USC 439. In that regard, the processor 62 modifies the GUI 360 by outputting container 440 within the GUI 360. In at least some of those embodiments, the container 440 is arranged as a pop-up container that overlays at least a portion of the USC 446 that includes the USC 439 selected to cause output of the container 440. In at least some other embodiments, the container 440 is displayed in proximity to the USC 446 without overlaying any portion of the USC 446.
Next,
The GUI 375 includes a USC 377 selectable to cause the VST 3, 60 to present options for changing the test set identifier 376. As an example, the VST 3, 60 can output the GUI 220 in response to determining the USC 377 was selected from the GUI 375.
The GUI 375 includes a set of containers 378 (e.g., test set containers). As shown in
The suffix A or B is used in
The GUI 375 also includes a user-selectable control set 388 including a USC 389, 390, 391, 395. The USC 389, 390, 391, 395 is operable for selecting a descriptor category. The GUI 375 represents the descriptor categories as Category A, Category B, Category C, and Category D. The GUI 375 includes a USC 392 that is selectable to cause the VST 3, 60 to change the descriptors within the set of containers 378 from a currently-selected descriptor category to a descriptor category selected using the USC 389, the USC 390, the USC 391, or the USC 395. In the view of the GUI 375 shown in
A person having ordinary skill in the art will understand that the user-selectable control set 388 can include a different quantity of USC to respectively select from a different quantities of categories descriptors. The USC 390 is shown with an X to indicate that the USC 390 has been selected. In at least some embodiments, selecting a descriptor category via a USC, such as the USC 390 causes the VST 3, 60 to change the descriptors within and/or corresponding to that USC to select a descriptor category without having to select another USC, such as the USC 392.
Next,
In
Next,
Next,
Next,
The GUI 216 includes a container 315 including a textual measurement 316. As an example, the textual measurement 316 is a textual voltage measurement. The VST 3, 60 can be configured to show other textual measurements within the container 315, such as an electrical current, an electrical resistance, a pressure or some other type of measurement that can be made using the meter 77. The GUI 216 includes textual historical measurement values 317 (e.g., a minimum and maximum measurement value). The GUI 216 includes meter settings 318 to indicate how the processor configured the meter 77 to perform the component test corresponding to the component test descriptor 314. The GUI 216 includes a USC 319 that is selectable to cause the VST 3, 60 to configure the oscilloscope 78 for performing the component test corresponding to the component test descriptor 314. Additionally, the VST 3, 60 can output a different GUI (e.g., a GUI 217 shown in
Next,
The GUI 217 includes a container 332 including a graphical measurement 333 and a cursor 334 indicative of a most-recent measurement. As an example, the graphical measurement 333 is a graphical voltage measurement. The VST 3, 60 can be configured to show other textual measurements within the container 332, such as an electrical current, an electrical resistance, a pressure or some other type of measurement that can be made using the oscilloscope 78. The GUI 217 includes the textual historical measurement values 317. The GUI 217 includes oscilloscope settings 335 to indicate how the processor configured the oscilloscope 78 to perform the component test corresponding to the component test descriptor 314. The GUI 217 includes a USC 336 that is selectable to cause the VST 3, 60 to configure the meter 77 for performing the component test corresponding to the component test descriptor 314. Additionally, the VST 3, 60 can output a different GUI (e.g., a GUI 216 shown in
Next,
The GUI 218 includes a functional test descriptor 353, which is an example of the functional test descriptor FT1B corresponding to the USC 324 in
The GUI 218 includes an instruction 367. The instruction 367 can include guidance for use of the USC 354 and the USC 355. As an example, the instruction 367 can include guidance indicating that the USC 354 and the USC 355 are active or reacted to by the vehicle when a speed of the vehicle is zero. The VST 3, 60 can highlight the USC 354 or the USC 355 to indicate that the USC 354 or the USC 355 was the most-recently selected USC.
Next,
The GUI 219 includes a reset procedure descriptor 357, which is an example of the reset procedure descriptor RP1A corresponding to the USC 364 in
The GUI 219 include an indicator 359. The indicator 359 indicates an oil file is three percent. After selection of the USC 358 and the ECU resetting the motor oil life setting, the indicator 359 can indicate one hundred percent. Other examples of indicators corresponding to different reset procedures are possible.
Next,
The file 400 includes header elements 401. The header elements 401 include an XML declaration and references. The XML declaration lists a version and an encoding attribute of the XML file. The references refers to a schema location, and a type of style sheet. Other examples of data contained within the header elements 401 are also possible.
The file 400 includes elements 402-418. The elements are between an opening tag and a closing tag. Each opening tag includes two brackets like the two brackets shown in an opening tag 432. Each closing tag includes two brackets and a forward slash like the two brackets and slash shown in a closing tag 433.
The file 400 includes a PID list element 402 that includes elements 403-418. The element 403 includes a PID list descriptor. The element 404 includes a vehicle identifier. The element 405, 406 includes PID characteristics.
The element 405 includes an element 407 listing a hexadecimal representation of a PID, an element 408 listing a PID descriptor from a first PID descriptor category, an element 409 listing a PID descriptor from a second PID descriptor category, an element 410 listing a PID descriptor from a third PID descriptor category, an element 411 listing a maximum range value, an element 412 listing a minimum range value, and an element 427 including a PID operation description. Other elements of a file, such as the file 400, the file 449 (shown in
The element 406 includes an element 413 listing a hexadecimal representation of a PID, an element 414 listing a PID descriptor from a first PID descriptor category, an element 415 listing a PID descriptor from a second PID descriptor category, an element 416 listing a PID descriptor from a third PID descriptor category, an element 417 listing a maximum range value, and an element 418 listing a minimum range value.
As an example, the first, second, and third PID descriptor categories referenced with respect to the file 400 can pertain to Category A, Category B, and Category C, respectively, of the PID descriptor categories shown in
Next,
The file 449 includes header elements 450. The header elements 450 include an XML declaration and references. The XML declaration lists a version and an encoding attribute of the XML file. The references refers to a schema location, and a type of style sheet. Other examples of data contained within the header elements 450 are also possible.
The file 449 includes elements 451-514. The elements are between an opening tag and a closing tag. Each opening tag includes two brackets like the two brackets shown in an opening tag 515. Each closing tag includes two brackets and a forward slash like the two brackets and slash shown in a closing tag 516.
The file 449 includes a PID list element 451 that includes elements 452-514. The element 452 includes a PID list descriptor. The element 453 includes a vehicle identifier. The element 454 includes a protocol identifier (e.g., VDM protocol used by a vehicle identified by the vehicle identifier in element 453). The element 455, 467, 468, 491, 492 includes PID characteristics. The element 467, 468 is shown in
The element 455 includes an element 456 listing a system identifier, an element 457 listing a hexadecimal representation of a PID, an element 458 listing a PID descriptor from a first PID descriptor category, an element 459 listing a PID descriptor from a second PID descriptor category, an element 460 listing a PID descriptor from a third PID descriptor category, an element 461 listing a maximum range value, an element 448 including a PID operation description, and an element 462 listing aspects of a facet (e.g., a facet characteristic or a PID facet characteristic). The element 462 includes an element 463 listing a facet subject, an element 464 listing a location facet, an element 465 listing a units type, and an element 466 listing a measurement type.
Turning to
The element 468 includes an element 480 listing a system identifier, an element 481 listing a hexadecimal representation of a PID, an element 482 listing a PID descriptor from a first PID descriptor category, an element 483 listing a PID descriptor from a second PID descriptor category, an element 484 listing a PID descriptor from a third PID descriptor category, an element 485 listing a maximum range value, and an element 486 listing aspects of a facet (e.g., a facet characteristic). The element 486 includes an element 487 listing a facet subject, an element 488 listing a location facet, an element 489 listing a units type, and an element 490 listing a measurement type.
Turning to
The element 492 includes an element 504 listing a system identifier, an element 505 listing a hexadecimal representation of a PID, an element 506 listing a PID descriptor from a first PID descriptor category, an element 507 listing a PID descriptor from a second PID descriptor category, an element 508 listing a PID descriptor from a third PID descriptor category, an element 509 listing a maximum range value, and an element 510 listing aspects of a facet (e.g., a facet characteristic). The element 510 includes an element 511 listing a facet subject, an element 512 listing a location facet, an element 513 listing a units type, and an element 514 listing a measurement type.
Additionally or alternatively, a file including elements like the file 400, 449 can include elements corresponding to a functional test, a component test, a reset procedure, and/or a test.
Next,
Block 601 includes configuring, via a processor, a vehicle service tool to operate in a first state in which a first USC of the vehicle service tool is operable for selecting a first category of diagnostic descriptors to use when the vehicle service tool operates in a second state. The function(s) of block 601 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can configure a vehicle service tool to operate in a first state in which a first USC of the vehicle service tool is operable for selecting a first category of diagnostic descriptors to use when the vehicle service tool operates in a second state, as discussed with respect to the vehicle service tool configuration module 111.
Next, block 602 includes receiving, at the processor while the vehicle service tool operates in the first state, a selection of the first user-selectable control and responsively configuring the vehicle service tool to use the first category of diagnostic descriptors when operating in the second state. The function(s) of block 602 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the receiving module 119 and a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can receive a selection of the first user-selectable control while the vehicle service tool operates in the first state, as discussed with respect to the receiving module 119. Additionally, the processor can responsively configure the vehicle service tool to use the first category of diagnostic descriptors when operating in the second state, as discussed with respect to the vehicle service tool configuration module 111.
Next, block 603 includes configuring, via the processor, the vehicle service tool to operate in the second state, wherein in the second state the vehicle service tool displays a first graphical user interface and transmits requests for vehicle data messages to a vehicle. The function(s) of block 603 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can configure the vehicle service tool to operate in the second state so that the vehicle service tool can display a first graphical user interface and transmit requests for vehicle data messages to a vehicle, as discussed with respect to the vehicle service tool configuration module 111.
Next, block 604 includes receiving, at the processor while the vehicle service tool operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier. The function(s) of block 604 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the receiving module 119, in accordance with the example embodiments. As an example, the processor can receive vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier while the vehicle service tool operates in the second state, as discussed with respect to the receiving module 119.
Next, block 605 includes determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier. The function(s) of block 605 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the diagnostic descriptor determination module 114, in accordance with the example embodiments. As an example, the processor can determine, from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier, as discussed with respect to the diagnostic descriptor determination module 114.
Next, block 606 includes outputting, within the first graphical user interface, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier. The function(s) of block 606 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the GUI output module 115, in accordance with the example embodiments. As an example, the processor can output, within the first graphical user interface, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier, as discussed with respect to the GUI output module 115.
Next,
Block 611 includes receiving, at the processor, a selection of a list of diagnostic identifiers selected for displaying within the first graphical user interface. The function(s) of block 611 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the receiving module 119, in accordance with the example embodiments. As an example, the processor can receive a selection of a list of diagnostic identifiers selected for displaying within the first graphical user interface, as discussed with respect to the receiving module 119.
Next, block 612 includes transmitting, from the processor to the server, a list identifier corresponding to the list of diagnostic identifiers. The function(s) of block 612 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the transmitting module 120, in accordance with the example embodiments. As an example, the processor can transmit a list identifier corresponding to the list of diagnostic identifiers, as discussed with respect to the transmitting module 120.
Next, block 613 includes receiving, at the processor in response to transmitting the list identifier, the group of diagnostic descriptors. The function(s) of block 613 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the receiving module 119, in accordance with the example embodiments. As an example, the processor can receive the group of diagnostic descriptors in response to transmitting the list identifier, as discussed with respect to the receiving module 119.
Next,
Block 616 includes receiving, at the processor from the server, one or more of the following: the list of diagnostic identifiers, a maximum data value threshold corresponding to the first diagnostic identifier, a minimum data value threshold corresponding to the first diagnostic identifier, or a detailed description of the first diagnostic identifier. The function(s) of block 616 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the receiving module 119, in accordance with the example embodiments. As an example, the processor can receive, from the server, one or more of the following: the list of diagnostic identifiers, a maximum data value threshold corresponding to the first diagnostic identifier, a minimum data value threshold corresponding to the first diagnostic identifier, or a detailed description of the first diagnostic identifier, as discussed with respect to the receiving module 119.
Next,
Block 621 includes determining, at the processor based on the list of diagnostic identifiers, a template for configuring the first graphical user interface to display the data values corresponding to the first diagnostic identifier and to other data values contained in the vehicle data messages. The function(s) of block 621 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the template determination module 117, in accordance with the example embodiments. As an example, the processor can determine, based on the list of diagnostic identifiers, a template for configuring the first graphical user interface to display the data values corresponding to the first diagnostic identifier and to other data values contained in the vehicle data messages, as discussed with respect to the template determination module 117.
Next,
Block 626 includes receiving a selection of the second user-selectable control. The function(s) of block 626 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the USC selection module 112, in accordance with the example embodiments. As an example, the processor can receive a selection of the second user-selectable control, as discussed with respect to the USC selection module 112.
Next, block 627 includes modifying, by the processor, the first graphical user interface to display a second diagnostic descriptor that corresponds to the first diagnostic identifier and a representation of at least the first portion of the data values corresponding to the diagnostic identifier or a second portion of the data values corresponding to the first diagnostic identifier. The function(s) of block 627 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the GUI modification module 116, in accordance with the example embodiments. As an example, the processor can modify the first graphical user interface to display a second diagnostic descriptor that corresponds to the first diagnostic identifier and a representation of at least the first portion of the data values corresponding to the diagnostic identifier or a second portion of the data values corresponding to the first diagnostic identifier, as discussed with respect to the GUI modification module 116.
Next,
Block 631 includes configuring the vehicle service tool to operate in the first state again. The function(s) of block 631 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can configure the vehicle service tool to operate in the first state again, as discussed with respect to the vehicle service tool configuration module 111.
Next, block 632 includes receiving, at the processor while the vehicle service tool operates in the first state, a selection of a second user-selectable control corresponding to a second category of diagnostic descriptors. The function(s) of block 632 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the USC selection module 112, in accordance with the example embodiments. As an example, the processor can receive, while the vehicle service tool operates in the first state, a selection of a second user-selectable control corresponding to a second category of diagnostic descriptors, as discussed with respect to the USC selection module 112.
Next, block 633 includes configuring, via the processor, the vehicle service tool to operate in the second state again. The function(s) of block 633 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can configure, via the processor, the vehicle service tool to operate in the second state again, as discussed with respect to the vehicle service tool configuration module 111.
Next, block 634 includes determining, at the processor from among the second category of diagnostic descriptors, a second diagnostic descriptor that corresponds to the first diagnostic identifier in the vehicle data messages. The function(s) of block 634 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the diagnostic descriptor determination module 114, in accordance with the example embodiments. As an example, the processor can determine, from among the second category of diagnostic descriptors, a second diagnostic descriptor that corresponds to the first diagnostic identifier in the vehicle data messages, as discussed with respect to the diagnostic descriptor determination module 114.
Next, block 635 includes outputting, on the first graphical user interface, the second diagnostic descriptor and a representation of at least the first portion of the data values or at least a second portion of the data values. The function(s) of block 635 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the GUI output module 115, in accordance with the example embodiments. As an example, the processor can output, on the first graphical user interface, the second diagnostic descriptor and a representation of at least the first portion of the data values or at least a second portion of the data values, as discussed with respect to the GUI output module 115.
Next,
Block 641 includes receiving, at the processor, multiple diagnostic descriptors corresponding to a second diagnostic identifier, wherein the multiple diagnostic descriptors corresponding to the second diagnostic identifier include a second diagnostic descriptor corresponding to the second diagnostic identifier. The function(s) of block 641 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the receiving module 119, in accordance with the example embodiments. As an example, the processor can receive multiple diagnostic descriptors corresponding to a second diagnostic identifier, wherein the multiple diagnostic descriptors corresponding to the second diagnostic identifier include a second diagnostic descriptor corresponding to the second diagnostic identifier, as discussed with respect to the receiving module 119.
Next, block 642 includes receiving, at the processor, vehicle data messages including the second diagnostic identifier and data values corresponding to the second diagnostic identifier. The function(s) of block 642 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle data message module 113, in accordance with the example embodiments. As an example, the processor can receiving vehicle data messages including the second diagnostic identifier and data values corresponding to the second diagnostic identifier, as discussed with respect to the vehicle data message module 113.
Next, block 643 includes determining, at the processor from among the multiple diagnostic descriptors corresponding to the second diagnostic identifier, the second diagnostic descriptor corresponding to the second diagnostic identifier. The function(s) of block 643 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the diagnostic descriptor determination module 114, in accordance with the example embodiments. As an example, the processor can determine, from among the multiple diagnostic descriptors corresponding to the second diagnostic identifier, the second diagnostic descriptor corresponding to the second diagnostic identifier, as discussed with respect to the diagnostic descriptor determination module 114.
Next,
Block 646 includes outputting, within the first graphical user interface, a set of multiple operable user-selectable controls, each user-selectable control of the set of multiple operable user-selectable controls corresponds to a different category of diagnostic descriptors. The function(s) of block 646 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the GUI output module 115, in accordance with the example embodiments. As an example, the processor can output, within the first graphical user interface, a set of multiple operable user-selectable controls, each user-selectable control of the set of multiple operable user-selectable controls corresponds to a different category of diagnostic descriptors, as discussed with respect to the GUI output module 115.
Next, block 647 includes receiving, at the processor, a selection of a second user-selectable control corresponding to a second category of diagnostic descriptors to use when the vehicle service tool operates in a second state. The function(s) of block 647 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the USC selection module 112, in accordance with the example embodiments. As an example, the processor can receive a selection of a second user-selectable control corresponding to a second category of diagnostic descriptors to use when the vehicle service tool operates in a second state, as discussed with respect to the USC selection module 112.
Next, block 648 includes determining, at the processor from among the second category of diagnostic descriptors, a second diagnostic descriptor corresponding to the first diagnostic identifier in the vehicle data messages. The function(s) of block 648 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the diagnostic descriptor determination module 114, in accordance with the example embodiments. As an example, the processor can determine, from among the second category of diagnostic descriptors, a second diagnostic descriptor corresponding to the first diagnostic identifier in the vehicle data messages, as discussed with respect to the diagnostic descriptor determination module 114.
Next, block 649 includes outputting, on the first graphical user interface, the second diagnostic descriptor and a representation of at least the first portion of the data values or a second portion of the data values. The function(s) of block 649 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the GUI output module 115, in accordance with the example embodiments. As an example, the processor can output, on the first graphical user interface, the second diagnostic descriptor and a representation of at least the first portion of the data values or a second portion of the data values, as discussed with respect to the GUI output module 115.
Next,
Block 651 includes configuring, via the processor, the vehicle service tool to operate in a third state in which a second user-selectable control of the vehicle service tool is operable for selecting a first category of component test descriptors to use when the vehicle service tool operates in a fourth state. The function(s) of block 651 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can configure the vehicle service tool to operate in a third state in which a second user-selectable control of the vehicle service tool is operable for selecting a first category of component test descriptors to use when the vehicle service tool operates in a fourth state, as discussed with respect to the vehicle service tool configuration module 111.
Next, block 652 includes receiving, at the processor while the vehicle service tool operates in the third state, a selection of the second user-selectable control and responsively setting the vehicle service tool to use the first category of component test descriptors when operating in the fourth state. The function(s) of block 652 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the receiving module 119, in accordance with the example embodiments. As an example, the processor can receive, while the vehicle service tool operates in the third state, a selection of the second user-selectable control and responsively setting the vehicle service tool to use the first category of component test descriptors when operating in the fourth state, as discussed with respect to the receiving module 119.
Next, block 653 includes configuring, via the processor, the vehicle service tool to operate in the fourth state, wherein in the fourth state the vehicle service tool displays a second graphical user interface and outputs within the second graphical user interface a measurement made using an oscilloscope or a meter during performance of a particular component test. The function(s) of block 653 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can configure the vehicle service tool to operate in the fourth state, wherein in the fourth state the vehicle service tool displays a second graphical user interface and outputs within the second graphical user interface a measurement made using an oscilloscope or a meter during performance of a particular component test, as discussed with respect to the vehicle service tool configuration module 111.
Next, block 654 includes determining, at the processor from among a group of component test descriptors corresponding to the first category of component test descriptors, a particular component test descriptor corresponding to the particular component test. The function(s) of block 654 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the component test descriptor determination module 118, in accordance with the example embodiments. As an example, the processor can determine, from among a group of component test descriptors corresponding to the first category of component test descriptors, a particular component test descriptor corresponding to the particular component test, as discussed with respect to the component test descriptor determination module 118.
Next, block 655 includes outputting, within the second graphical user interface, the particular component test descriptor and the measurement made using the oscilloscope or the meter during performance of the particular component test. The function(s) of block 655 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the GUI output module 115, in accordance with the example embodiments. As an example, the processor can output, within the second graphical user interface, the particular component test descriptor and the measurement made using the oscilloscope or the meter during performance of the particular component test, as discussed with respect to the GUI output module 115.
Next,
Block 661 includes configuring, via the processor, the vehicle service tool to operate in the third state. In the third state, the vehicle service tool displays a second graphical user interface and outputs within the second graphical user interface a measurement made using an oscilloscope or a meter during performance of a particular component test. The function(s) of block 661 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the vehicle service tool configuration module 111, in accordance with the example embodiments. As an example, the processor can configure the vehicle service tool to operate in the third state, as discussed with respect to the vehicle service tool configuration module 111. In the third state the vehicle service tool displays a second graphical user interface and outputs within the second graphical user interface a measurement made using an oscilloscope or a meter during performance of a particular component test.
Next, block 662 includes determining, at the processor from among the first category of diagnostic descriptors, the component test descriptor corresponding to the particular component test. The function(s) of block 662 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the component test descriptor determination module 118, in accordance with the example embodiments. As an example, the processor can determine, from among the first category of diagnostic descriptors, the component test descriptor corresponding to the particular component test, as discussed with respect to the component test descriptor determination module 118.
Next, block 663 includes outputting, within the second graphical user interface, the component test descriptor and the measurement made using the oscilloscope or the meter during performance of the particular component test. The function(s) of block 663 can be performed by a processor (e.g., one or more hardware processors) configured by machine-readable instructions including a module that is the same or similar to the GUI output module 115, in accordance with the example embodiments. As an example, the processor can output, within the second graphical user interface, the component test descriptor and the measurement made using the oscilloscope or the meter during performance of the particular component test, as discussed with respect to the GUI output module 115.
A vehicle is a mobile machine that can be used to transport a person, people, and/or cargo. 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® 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, diesel fuel, 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.
A vehicle manufacturer can build various quantities of vehicles each calendar year (i.e., January 1st to December 31st). In some instances, a vehicle manufacturer defines a model year for a particular vehicle model to be built. The model year can start on a date other than January 1st and/or can end on a date other than December 31st. The model year can span portions of two calendar years. A vehicle manufacturer can build one vehicle model or multiple different vehicle models. Two or more different vehicle models built by a vehicle manufacturer during a particular calendar year can have the same of different defined model years. The vehicle manufacturer can build vehicles of a particular vehicle model with different vehicle options. For example, the particular vehicle model can include vehicles with six-cylinder engines and vehicles with eight-cylinder engines. The vehicle manufacturer or another entity can define vehicle identifying information for each vehicle built by the vehicle manufacturer. Particular vehicle identifying information identifies particular sets of vehicles (e.g., all vehicles of a particular vehicle model for a particular vehicle model year or all vehicles of a particular vehicle model for a particular vehicle model year with a particular set of one or more vehicle options).
As an example, the particular vehicle identifying information can comprise indicators of characteristics of the vehicle such as when the vehicle was built (e.g., a vehicle model year), who built the vehicle (e.g., a vehicle make (i.e., vehicle manufacturer)), 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). In accordance with that example, the particular vehicle identifying information can be referred to by an abbreviation YMMEF, where each letter in the order shown represents a model year identifier, vehicle make identifier, vehicle model name identifier, engine type identifier, and fuel type identifier, respectively, or YMMF, where each letter in the order shown represents a model year identifier, vehicle make identifier, vehicle model name identifier, and fuel type identifier, respectively, or YMME, where each letter in the order shown represents a model year identifier, vehicle make identifier, vehicle model name identifier, and engine type identifier, respectively, or an abbreviation YMM, where each letter in the order shown represents a model year identifier, vehicle make identifier, and vehicle model name identifier, respectively. As yet another example, any of the aforementioned forms of vehicle identifiers can include information regarding a market such that the vehicle identifiers take the form of YMMM, YMMFM, YMMEM, or YMMEFM, where the last “M” represents a market. The marked for example, could be the United States market, the United Kingdom market, the German market, the Canadian market or the market of some other country or region. Other aspects of a vehicle, such as an engine displacement of internal combustion engines, or sub-models designators, can also be represented with the vehicle identifying information.
An example YMME is 2021/Toyota/Camry/4Cyl, in which “2021” 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 (i.e., a four cylinder internal combustion engine) within the vehicle. Another example YMME is 2016/Freightliner/Cascadia/Cummins ISX15 EPA, in which “2016” represents the model year the vehicle was built, “Freightliner” represents the name of the vehicle manufacturer Daimler Trucks North America, Cleveland, North Carolina, “Cascadia” represents a vehicle model built by that manufacturer, and “Cummins ISX15 EPA” represents an engine manufacturer and model within the vehicle. An example YMM is 2016/Freightliner/Cascadia. An example YM is 2016/Freightliner. 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.
In some cases, different types of vehicles (e.g., vehicles with different YMM, YMMM, YMME, YMMEM, YMMF, YMMFM, YMMEF, or YMMEFM combinations) are part of a vehicle leveraging group. As an example, a vehicle leveraging group may be defined for three different YMM combinations based on different years (e.g., 2022 MM, 2021 MM, and 2020 MM), wherein the make and model name does not change. The leveraging group may be useful because any vehicle within the leveraging group may have a common set of vehicle data messages available to communicate with an off-board computing system. Accordingly, any vehicle within the leveraging group can perform the same functional tests and reset procedures, and be configured to respond to a common set of vehicle data messages.
Some vehicles, such as automobiles, are associated with a unique 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 or multi-dimensional bar code indicative of a VIN associated with that vehicle.
A vehicle network (e.g., the vehicle network 13 shown in
In at least some embodiments, a VDM protocol works in conjunction a Unified Diagnostic Services (UDS) protocol, such as the ISO® 14229-1:2020 standard for Road vehicles—UDS—Part 1: application layer, the ISO® 14229-2 standard for Road vehicles—unified diagnostic services, session layer services, or ISO® 14229-3:2022 standard for Road Vehicles—UDS on CAN embodiment (UDSonCAN). A VDM sent on a CAN vehicle bus according the UDS protocol can include a CAN message identifier, a protocol control information filed, a service identifier (SID), and data parameter value requests. Table H shows example SIDs sent to a ECU from a VST and example SIDs sent in response to the VST from the ECU.
As an example, the processor 62 can transmit a VDM with a SID $2A to request an ECU to transmit VDMs with PID parameter data periodically. Moreover, the processor 62 can include a data rate, such as slow, medium, or fast to set a transmission rate for the ECU, or a data rate of stop to end the periodic transmission of PID parameter data from the ECU for the requested PID.
As another example, the processor 62 can transmit a VDM with a SID $2F to request the ECU to perform a functional test or a reset procedure. In other words, the VST 3, 60 and/or the processor 62 can gain control over an analog or digital input or output of the ECU by sending a VDM with the SID $2F.
As yet another example, the processor 62 can transmit a VDM with a SID $22 to request a PID parameter value from an ECU, a SID $14 to clear DTCs, or a SID $19 to read DTCs. In at least some embodiments, a VDM protocol can be unidirectional instead of bidirectional. 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 64 (e.g., the vehicle communications transceiver 73) 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.
An OBDC, such as the OBDC 11, 28, 53 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 connector 16M, 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 VST 3, 60 can operatively connect to an OBDC in order to receive a 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. An operative connection between the OBDC and the VST 3, 60 can occur via the arrangement 8, 9, 10 shown in
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 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 embodiments, the ECU is operable to perform the functional test and/or provide the DTC in accordance with an industry standard, such as the SAE J1979_201202 and/or ISO 15031-5 standards for E/E diagnostic test modes.
Next,
Depending on the desired configuration, the system memory 674 can 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 memory 674 can include one or more applications 675, and program data 677. The application 675 can include an algorithm 676 that is arranged to perform the functions described as being performed by the VST 3, 60 or the server 6, 130. The program data 677 can include system data 678 that could be directed to any number of types of data, such as the computer-readable data stored in the memory 63, 133. In some example embodiments, the applications 675 can be arranged to operate with the program data 677 on an operating system executable by the processor 672.
The computing system 670 can have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration 671 and any devices and interfaces. For example, storage devices 680 can be provided including removable storage devices 681, non-removable storage devices 682, 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 63, 133.
The system memory 674 and the storage devices 680 are examples of computer-readable memory, such as the memory 63, 133. The system memory 674 and the storage devices 680 can 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 670.
The computing system 670 can 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 675, or the program data 677 can include an application downloaded to the communication interfaces 687 from the APP STORE® online retail store, from the GOOGLE PLAY® online retail store, or another source of the applications. A component of the VST 3, 60, such as the display 74 and/or the transceiver 64, can be embodied in the small-form factor electronic device.
The computing system 670 can 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 system 670 can be configured as an embedded system in which the processor 672 includes an embedded processor and the system memory 674 includes an embedded memory.
The computing system 670 can also include output interface 683 that can include a graphics processing unit 684, which can be configured to communicate to various external devices such as a display device 686 or a speaker via an A/V port 685 or a communication interface 687. The communication interface 687 can include a network controller 688, which can be arranged to facilitate communications with the other computing system 690 over a network communication via a communication port 689. 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, 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.
For the VST 3, 60, the communication interface 687 can include the network transceiver 72 and/or the vehicle communications transceiver 73, and the communication port 689 can include a communication port connectable to a printer for printing a paper copy of GUI content.
In
In at least some embodiments, the computer program product 694 is provided using a signal bearing medium 695. The signal bearing medium 695 can include one or more programming instructions 696 that, when executed by a processor can provide functionality or portions of the functionality described above with respect to
The one or more programming instructions 696 can be, for example, computer executable and/or logic implemented instructions. In some examples, a computing system such as the computer program product 694 of
The VST 3, 60 can include any of the components of the computing system 670. The processor 62 can be configured like the processor 672. The memory 63 can be configured as part of or all of the system memory 674 and/or the storage devices 680. The transceiver 64 can be configured as part of or all of the communication interface 687.
In at least some embodiments, the VST 3, 60, the server 6, 130 and/or the computing system 670 includes 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 (e.g., a power supply) 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 CRP1 contained in a computer-readable memory to perform some function can include executing all of the program instructions of those CRP1 or only a portion of those CRP1.
While various aspects and embodiments are described herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments 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 embodiments 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 embodiments. 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 embodiment including a listed component or function independently and each embodiment including a combination of the listed components or functions. For example, an embodiment 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 embodiments: (i) an embodiment including A, but not B and not C, (ii) an embodiment including B, but not A and not C, (iii) an embodiment including C, but not A and not B, (iv) an embodiment including A and B, but not C, (v) an embodiment including A and C, but not B, (v) an embodiment including B and C, but not A, and/or (vi) an embodiment including A, B, and C. For the embodiments including component or function A, the embodiments can include one A or multiple A. For the embodiments including component or function B, the embodiments can include one B or multiple B. For the embodiments including component or function C, the embodiments can include one C or multiple C. In accordance with the aforementioned example and at least some of the example embodiments, “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.
Embodiments of the present disclosure can thus relate to one of the enumerated example embodiments (EEEs) listed below.
EEE 1 is a method comprising: configuring, via a processor, a VST to operate in a first state in which a first USC of the VST is operable for selecting a first category of diagnostic descriptors to use when the VST operates in a second state; receiving, at the processor while the VST operates in the first state, a selection of the first USC and responsively configuring the VST to use the first category of diagnostic descriptors when operating in the second state; configuring, via the processor, the VST to operate in the second state, wherein in the second state the VST displays a first GUI and transmits requests for vehicle data messages to a vehicle; receiving, at the processor while the VST operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier; determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier; and outputting, within the first GUI, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier.
EEE 2 is the method of EEE 1, wherein the group of diagnostic descriptors includes multiple diagnostic descriptors corresponding to the first diagnostic identifier, wherein the multiple diagnostic descriptors include the first diagnostic descriptor corresponding to the first diagnostic identifier, and wherein the multiple diagnostic descriptors correspond to different categories of diagnostic descriptors.
EEE 3 is the method of any one of EEE 1 to 2, further comprising: receiving, at the processor, a selection indicative of a list of diagnostic identifiers selected for displaying within the first GUI; transmitting, from the processor to a server, a list identifier corresponding to the list of diagnostic identifiers; and receiving, at the processor in response to transmitting the list identifier, the group of diagnostic descriptors, wherein the group of diagnostic descriptors includes multiple diagnostic descriptors that correspond to a different diagnostic identifier in the list of diagnostic identifiers, and wherein the multiple diagnostic descriptors include the first diagnostic descriptor.
EEE 4 is the method of EEE 3, wherein transmitting the list identifier and receiving the group of diagnostic descriptors occur via execution of an application programming interface to the server.
EEE 5 is the method of any one of EEE 3 to 4, further comprising: receiving, at the processor from the server, one or more of the following: the list of diagnostic identifiers, a maximum data value threshold corresponding to the first diagnostic identifier, a minimum data value threshold corresponding to the first diagnostic identifier, a detailed description of the first diagnostic identifier, or a facet characteristic.
EEE 6 is the method of EEE 5, wherein the first facet corresponds to a sensor type, an engine cylinder number, an engine bank identifier, a spatial position, a measurement type, or a units type.
EEE 7 is the method of EEE 5, wherein the first facet corresponds to parameter identifiers associated with received parameter values that breach an associated parameter value threshold.
EEE 8 is the method of any one of EEE 3 to 7, further comprising: determining, at the processor based on the list of diagnostic identifiers, a template for configuring the first GUI to display the data values corresponding to the first diagnostic identifier and to other data values contained in the vehicle data messages.
EEE 9 is the method of any one of EEE 1 to 8, wherein configuring the VST to operate in the first state includes the processor outputting a second GUI, and wherein the second GUI includes the first USC.
EEE 10 is the method of EEE 9, wherein the second GUI includes a second USC corresponding to a second category of diagnostic descriptors different than the first category of diagnostic descriptors, and wherein the first category of diagnostic descriptors and the second category of diagnostic descriptors both include a different one of: an original equipment manufacturer category of diagnostic descriptors, an industry standard defined category of diagnostic descriptors, a normalized category of diagnostic descriptors, or a user-defined category of diagnostic descriptors.
EEE 11 is the method of any one of EEE 1 to 10, wherein the first GUI includes a second USC corresponding to a second category of diagnostic descriptors, and wherein the method further comprises: receiving a selection of the second USC; and modifying, by the processor, the first GUI to display a second diagnostic descriptor that corresponds to the first diagnostic identifier and a representation of at least the first portion of the data values corresponding to the first diagnostic identifier or a second portion of the data values corresponding to the first diagnostic identifier.
EEE 12 is the method of any one of EEE 1 to 11, configuring, via the processor, the VST to operate in the first state again; receiving, at the processor while the VST operates in the first state, a selection of a second USC corresponding to a second category of diagnostic descriptors; configuring, via the processor, the VST to operate in the second state again; determining, at the processor from among the second category of diagnostic descriptors, a second diagnostic descriptor that corresponds to the first diagnostic identifier in the vehicle data messages; and outputting, on the first GUI, the second diagnostic descriptor and a representation of at least the first portion of the data values or at least a second portion of the data values.
EEE 13 is the method of any one of EEE 1 to 12, further comprising: receiving, at the processor, multiple diagnostic descriptors corresponding to a second diagnostic identifier, wherein the multiple diagnostic descriptors corresponding to the second diagnostic identifier include a second diagnostic descriptor corresponding to the second diagnostic identifier; receiving, at the processor, vehicle data messages including the second diagnostic identifier and data values corresponding to the second diagnostic identifier; and determining, at the processor from among the multiple diagnostic descriptors corresponding to the second diagnostic identifier, the second diagnostic descriptor corresponding to the second diagnostic identifier, wherein the first GUI further includes the second diagnostic descriptor corresponding to the second diagnostic identifier and a representation of at least a portion of the data values corresponding to the second diagnostic identifier.
EEE 14 is the method of any one of EEE 1 to 13, wherein the first category of diagnostic descriptors is an original equipment manufacturer defined category of diagnostic descriptors, an industry standard defined category of diagnostic descriptors, a normalized category of diagnostic descriptors, or a user-defined category of diagnostic descriptors.
EEE 15 is the method of any one of EEE 1 to 14, wherein the processor includes a first processor at the VST, and wherein configuring the VST to operate in the first state is based on a first communication the first processor receives from a server, and wherein configuring the VST to operate in the second state is based on a second communication the first processor receives from the server.
EEE 16 is the method of any one of EEE 1 to 15, wherein configuring the VST to use the first category of diagnostic descriptors when operating in the second state includes modifying, via the processor, a data setting the processor uses to determine which category of diagnostic descriptors to use while the VST operates in the second state.
EEE 17 is the method of any one of EEE 1 to 16, further comprising: outputting, within the first GUI, a set of multiple operable USCs, each USC of the set of multiple operable USCs corresponds to a different category of diagnostic descriptors; receiving, at the processor, a selection of a second USC corresponding to a second category of diagnostic descriptors to use when the VST operates in the second state; determining, at the processor from among the second category of diagnostic descriptors, a second diagnostic descriptor corresponding to the first diagnostic identifier in the vehicle data messages; and outputting, on the first GUI, the second diagnostic descriptor and a representation of at least the first portion of the data values or a second portion of the data values.
EEE 18 is the method of EEE 17, wherein the diagnostic descriptors of the first category of diagnostic descriptors include descriptors of parameter identifiers, functional test identifiers, or reset procedure identifiers.
EEE 19 is the method of any one of EEE 1 to 18, further comprising: configuring, via the processor, the VST to operate in a third state in which a second USC of the VST is operable for selecting a first category of component test descriptors to use when the VST operates in a fourth state; receiving, at the processor while the VST operates in the third state, a selection of the second USC and responsively setting the VST to use the first category of component test descriptors when operating in the fourth state; configuring, via the processor, the VST to operate in the fourth state, wherein in the fourth state the VST displays a second GUI and outputs within the second GUI a measurement made using an oscilloscope or a meter during performance of a particular component test; determining, at the processor from among a group of component test descriptors corresponding to the first category of component test descriptors, a particular component test descriptor corresponding to the particular component test; and outputting, within the second GUI, the particular component test descriptor and the measurement made using the oscilloscope or the meter during performance of the particular component test.
EEE 20 is the method of any one of EEE 1 to 19, wherein the first category of diagnostic descriptors includes a component test descriptor to use when the VST operates in a third state, and wherein the method further comprises: configuring, via the processor, the VST to operate in the third state, wherein in the third state the VST displays a second GUI and outputs within the second GUI a measurement made using an oscilloscope or a meter during performance of a particular component test; determining, at the processor from among the first category of diagnostic descriptors, the component test descriptor corresponding to the particular component test; and outputting, within the second GUI, the component test descriptor and the measurement made using the oscilloscope or the meter during performance of the particular component test.
EEE 21 is the method of any one of EEE 19 to 20, wherein the particular component test includes a current probe test, a two-channel test, or a voltage test.
EEE 22 is the method of any one of EEE 19 to 21, further comprising: transmitting, from the processor to the oscilloscope or meter, an instruction for configuring the oscilloscope or meter to perform the particular component test.
EEE 23 is the method of any one or EEE 1 to 22, wherein the first GUI includes a second USC, a second diagnostic descriptor corresponding to a second diagnostic identifier, and a representation of data values corresponding to the second diagnostic identifier, wherein the second USC corresponds to a facet filter, and wherein the method further comprises: receiving, at the processor, a selection of the second USC while the VST displays the first GUI; and modifying the first GUI in response to receiving the selection of the second USC.
EEE 24 is the method of EEE 23, wherein the facet characteristic corresponds to the first diagnostic identifier, but not the second diagnostic identifier, and wherein modifying the first GUI includes removing, from the first GUI, the second diagnostic identifier and the data values corresponding to the second diagnostic identifier.
EEE 25 is the method of EEE 23, wherein the facet characteristic corresponds to the second diagnostic identifier, but not the first diagnostic identifier, and wherein modifying the first GUI includes removing, from the first GUI, the first diagnostic identifier and at least the first portion of the data values corresponding to the first diagnostic identifier.
EEE 26 is the method of EEE 23, wherein neither of the first diagnostic identifier nor the second diagnostic identifier corresponds to the facet characteristic, and wherein modifying the first GUI includes removing, from the first GUI, the first diagnostic identifier, at least the first portion of the data values corresponding to the first diagnostic identifier, the second diagnostic identifier, and the data values corresponding to the second diagnostic identifier.
EEE 27 is the method of any one of EEE 1 to 26, wherein outputting the first diagnostic descriptor and the representation of at least a first portion of the data values corresponding to the first diagnostic identifier includes outputting the first diagnostic descriptor and the representation of at least a first portion of the data values corresponding to the first diagnostic identifier within a container.
EEE 28 is the method of any one of EEE 1 to 27, further comprising executing one or more of the following modules: a vehicle service tool configuration module, a USC selection module, a vehicle data message module, a diagnostic descriptor determination module, a GUI output module, a GUI modification module, a template determination module, a component test descriptor determination module, a receiving module, a transmitting a module, a perform component test module, or a state module.
EEE 29 is the method of any one of EEE 1 to 28, further comprising: displaying a GUI including one or more identifiers corresponding to a respective list of parameter identifiers, tests, reset procedures, or test sets; and receiving a selection of a USC corresponding to a particular list of parameter identifiers, tests, reset procedures, or test sets, wherein the VST displays the first GUI in response to receiving a selection of the USC corresponding to the particular list of parameter identifiers, tests, reset procedures, or test sets.
EEE 30 is the method of any one of EEE 1 to 29, further comprising: transmitting, via the processor to the vehicle, a vehicle data message including a test identifier to initiate performance of a functional test by a vehicle component in the vehicle.
EEE 31 is the method of EEE 30, wherein at least a first group of the data values corresponding to the first diagnostic identifier represent functionality of the vehicle component during performance of the functional test.
EEE 32 is the method of EEE 31, wherein at least a second group of the data values corresponding to the first diagnostic identifier represent functionality of the vehicle component before performance of the functional test.
EEE 33 is the method of any one of EEE 31 to 32, wherein at least a third group of the data values corresponding to the first diagnostic identifier represent functionality of the vehicle component after performance of the functional test.
EEE 34 is the method of any one of EEE 1 to 29, further comprising: transmitting, via the processor to the vehicle, a vehicle data message including a procedure identifier to initiate performance of a reset procedure by a vehicle component in the vehicle.
EEE 35 is the method of EEE 34, wherein at least a first group of the data values corresponding to the first diagnostic identifier represent functionality of the vehicle component during performance of the reset procedure.
EEE 36 is the method of EEE 35, wherein at least a second group of the data values corresponding to the first diagnostic identifier represent functionality of the vehicle component before performance of the reset procedure.
EEE 37 is the method of any one of EEE 35 to 36, wherein at least a third group of the data values corresponding to the first diagnostic identifier represent functionality of the vehicle component after performance of the reset procedure.
EEE 38 is the method of any one of EEE 34 to 37, wherein performance of the reset procedure includes calibrating the vehicle component with one or more calibration parameter values.
EEE 39 is the method of any one of EEE 1 to 38, further comprising: receiving, by the processor from a server, a computer-readable file including the group of diagnostic descriptors.
EEE 40 is the method of EEE 39, wherein the computer-readable file includes a markup language file, a comma separated variable file, or a portable document format file.
EEE 41 is the method of any one of EEE 1 to 40, wherein receiving the selection of the first USC includes the processor receiving a digital signal from an application driver of a touch screen display and determining, from mapping data, the digital signal corresponds to the first USC.
EEE 42 is the method of any one of EEE 1 to 40, wherein receiving the selection of the first USC includes the processor determining a voltage signal at an input of the processor and determining, from mapping data, the voltage signal corresponds to the first USC.
EEE 43 is the method of any one of EEE 1 to 42, wherein the first graphical user interface includes a second user-selectable control, wherein the second user-selectable control corresponds to a parameter-identifier, functional test, component test or reset procedure represented by the first diagnostic descriptor, and wherein the method further comprises receiving, at the processor, a selection of the second user-selectable control and responsively modifying the first graphical user interface to display supplemental information corresponding to the parameter-identifier, functional test, component test or reset procedure represented by the first diagnostic descriptor.
EEE 44 is the method of EEE 43, wherein the first graphical user interface includes a first container, wherein the first container includes the first diagnostic descriptor, and wherein modifying the first graphical user interface includes outputting a second container including the supplemental information.
EEE 45 is the method of EEE 43, wherein the second container is arranged as a pop-up container that overlays at least a portion of the first container.
EEE 46 is the method of EEE 43, wherein the second container is arranged as a pop-up container disposed in proximity to the first container without overlaying at least a portion of the first container.
EEE 47 is the method of any one of EEE 43 to 46, wherein the supplemental information includes an operation description corresponding to the parameter-identifier, functional test, component test or reset procedure represented by the first diagnostic descriptor.
EEE 48 is the method of any one of EEE 1 to 47, further comprising executing program instructions to arm the first USC while the first GUI is displayed such that a selection of the first USC causes a signal change at the processor to interrupt the processor to cause the processor to execute program instructions to select the first category of diagnostic descriptors to use when the VST operates in the second state.
EEE 49 is a computing system comprising: a processor; and a non-transitory computer-readable memory storing executable instructions. Execution of the executable instructions by the processor causes the computing system to perform functions comprising: configuring, via the processor, a VST to operate in a first state in which a first USC of the VST is operable for selecting a first category of diagnostic descriptors to use when the VST operates in a second state; receiving, at the processor while the VST operates in the first state, a selection of the first USC and responsively configuring the VST to use the first category of diagnostic descriptors when operating in the second state; configuring, via the processor, the VST to operate in the second state, wherein in the second state the VST displays a first GUI and transmits requests for vehicle data messages to a vehicle; receiving, at the processor while the VST operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier; determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier; and outputting, within the first GUI, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier.
EEE 50 is a computing system comprising: a processor; and a non-transitory computer-readable memory storing executable instructions to perform the method of any one of EEE 1 to 48.
EEE 51 is a non-transitory computer-readable memory having stored therein instructions executable by a processor to cause a computing system to perform functions comprising: configuring, via the processor, a VST to operate in a first state in which a first USC of the VST is operable for selecting a first category of diagnostic descriptors to use when the VST operates in a second state; receiving, at the processor while the VST operates in the first state, a selection of the first USC and responsively configuring the VST to use the first category of diagnostic descriptors when operating in the second state; configuring, via the processor, the VST to operate in the second state, wherein in the second state the VST displays a first GUI and transmits requests for vehicle data messages to a vehicle; receiving, at the processor while the VST operates in the second state, vehicle data messages including a first diagnostic identifier and data values corresponding to the first diagnostic identifier; determining, at the processor from among a group of diagnostic descriptors corresponding to the first category of diagnostic descriptors, a first diagnostic descriptor corresponding to the first diagnostic identifier; and outputting, within the first GUI, the first diagnostic descriptor and a representation of at least a first portion of the data values corresponding to the first diagnostic identifier.
EEE 52 is a non-transitory computer-readable memory having stored therein instructions executable by a processor to cause a computing system to perform the method of any one of EEE 1 to 48.