WO2017083457A2 - Methods and systems for switching vehicle data transmission modes based on detecting a trigger and a request for a vehicle data message - Google Patents

Methods and systems for switching vehicle data transmission modes based on detecting a trigger and a request for a vehicle data message Download PDF

Info

Publication number
WO2017083457A2
WO2017083457A2 PCT/US2016/061228 US2016061228W WO2017083457A2 WO 2017083457 A2 WO2017083457 A2 WO 2017083457A2 US 2016061228 W US2016061228 W US 2016061228W WO 2017083457 A2 WO2017083457 A2 WO 2017083457A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
vdtm
vehicle
vehicle data
vdm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2016/061228
Other languages
French (fr)
Other versions
WO2017083457A3 (en
Inventor
Patrick O'mahony
Roy S. BROZOVICH
Stephen P. WARD
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snap On Inc
Original Assignee
Snap On Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Snap On Inc filed Critical Snap On Inc
Publication of WO2017083457A2 publication Critical patent/WO2017083457A2/en
Publication of WO2017083457A3 publication Critical patent/WO2017083457A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/052Detecting movement of traffic to be counted or controlled with provision for determining speed or overspeed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C2205/00Indexing scheme relating to group G07C5/00
    • G07C2205/02Indexing scheme relating to group G07C5/00 using a vehicle scan tool
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • a vehicle scanner device may request serial data from a vehicle and receive the serial data from the vehicle in response to the request.
  • the vehicle scanner device may establish a wireless communication link with a display device and transmit the received serial data to the display device over the wireless communication link for displaying the serial data at the display device.
  • a bandwidth of the wireless communication link may be defined as one or more of a width of the communication link and a capacity to move data through the communication link.
  • the wireless communication link may have one or more communication channels.
  • the width of the communication link may be defined as a frequency range or band.
  • a variety of factors may influence a rate at which the communication link transfers the serial data from the vehicle scanner device to the display device. Changes in that transfer rate may impact how the display device displays the serial data received from the vehicle.
  • a device conncctablc to a vehicle such as a vehicle interface device (VID)
  • VID vehicle interface device
  • the VID may be configured to determine which particular VDTM of the multiple VDTM is to be used at any particular time based on one or more conditions associated with the VID.
  • the VID may be configured to select the particular VDTM and to switch its operation to the particular VDTM.
  • the VID may establish a communication link for transmitting vehicle data messages received from the vehicle to another device, such as a vehicle data receptor (VDR).
  • VDR vehicle data receptor
  • the communication link may have a maximum data transfer rate for transmitting vehicle data messages to the VDR and that data transfer rate may decrease for various reasons, such as, but not limited to, an increase in interference with the communication link, an increase in distance between the VID and the VDR, and changing communication channels (e.g., a high bandwidth communication channel to a low bandwidth communication channel).
  • the data transfer rate across the communication link may increase from the present data transfer rate until the maximum data transfer rate is obtained.
  • the communication link may be a wireless communication link, a wired communication link, or a combination of a wireless communication and wired communication links.
  • an example embodiment may take the form of a method comprising:
  • each vehicle data message includes a data identifier and a data value
  • detecting, by a processor of the first device a first trigger to change a VDTM for transmitting vehicle data messages over a communication link from the first device to a second device
  • determining, by the processor a first VDTM based on the first trigger and one or more requests for the vehicle data messages
  • switching, by the first device from operating in a prior VDTM to the first VDTM
  • transmitting over the communication link from the first device to the second device according to the first VDTM, at least a portion of the vehicle data messages received while the first device is operating in the first VDTM.
  • an example embodiment may take the form of a system comprising: (i) a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, (ii) a first transceiver configured to establish a communication link with a second transceiver, (iii) a processor; and (iv) a computer-readable medium containing computer-readable program instructions that are executable by the processor to perform a set of functions, wherein the set of functions includes: (a) detecting a first trigger to change a VDTM for transmitting vehicle data messages over the communication link, (b) determining a first VDTM based on the first trigger and one or more requests for the vehicle data messages, (c) switching operation of the system from a prior VDTM to the first VDTM, and (d) transmitting, from the first transceiver, at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM.
  • an example embodiment may take the form of a system comprising: (a) a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value, (b) a first transceiver configured to establish a communication link with a second transceiver, and (c) a processor that is connected to the service data link connector and to the first transceiver, and is programmed to: (i) detect a first trigger to change a VDTM for transmitting vehicle data messages over the communication link, (ii) determine a first VDTM based on the first trigger and one or more requests for the vehicle data messages, (iii) switch operation of the system from a prior VDTM to the first VDTM, and (iv) provide the first transceiver with at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM for transmission to the second transceiver.
  • Figure I is a block diagram of a system in accordance with the example embodiments.
  • FIG. 2 is a block diagram of a VID in accordance with the example embodiments.
  • Figure 3 is a block diagram of a computer-readable medium in accordance with the example embodiments.
  • FIG. 4 is a block diagram of a VDR in accordance with the example embodiments.
  • Figure 5 is a flowchart depicting a set of functions that may be carried out in accordance with one or more example embodiments.
  • FIG. 6 is a depiction of an example VDR in accordance with the example embodiments.
  • Figure 7 includes bar graphs showing variability of data values within vehicle data messages.
  • This description describes several example embodiments including, but not limited to, embodiments pertaining to a device, such as a VID, that is configured to switch from one VDTM to another VDTM.
  • the VID may determine which VDTM to switch to based, at least in part, on detecting a trigger to change a VDTM for transmitting vehicle data messages over a communication link.
  • the VID may transmit requests for vehicle data messages to a vehicle and receive vehicle data messages from the vehicle in response to the requests.
  • the VID may determine which vehicle data messages, or some portion(s) thereof, that arc to be transmitted to another device based on the present VDTM used by the VID when the vehicle data messages arc received or when the vehicle data messages arc to be transmitted.
  • the VID may also send vehicle data messages that were received at the VID prior to the VID switching to the present VDTM.
  • Transmission of a vehicle data message or a portion thereof from the VID to a VDR or a display device may include transmitting a data value of the vehicle data message to the VDR or the display device with or without the identifier of the vehicle data message.
  • the description includes examples of data values within various messages or within a computer-readable medium.
  • the example data values may include hexadecimal data values.
  • the data values in this description contained within square brackets (i.e., [ J) represent hexadecimal data values.
  • the example data values may include binary data values and decimal data values.
  • the binary data values arc identified as being binary data values. Any described data value not identified as a binary or hexadecimal data value may be considered to be a decimal data value.
  • the example embodiments arc not limited to using binary, decimal, and hexadecimal data values.
  • Either or both of a vehicle data link connector and a service vehicle data link connector may be referred to more simply as a “data link connector” or a “DLC.” Moreover a service vehicle data link connector may be referred to a vehicle DLC connector.
  • FIG. 1 is a block diagram of a system 100 in accordance with the example embodiments described herein.
  • the system 100 may include all of the components shown in Figure I or any proper subset of the components shown within the system of Figure I .
  • the system 100 may include a vehicle 102 having an electronic control unit (ECU) 104, an ECU 106, an ECU 108, a vehicle data link connector (VDLC) 1 10, and a battery 1 12.
  • the VDLC 1 10 may include or be referred to as an on-board diagnostics (OBD) II connector.
  • An OBD II connector may include slots for retaining up to 16 connector terminals, but the VDLC 1 10 is not necessarily so limited.
  • a battery power conductor 128 and a chassis ground conductor 130 may connect the battery 1 12 to the VDLC 1 10.
  • a device that connects to the VDLC 1 10 may draw an electric current provided to the VDLC 1 10 from the battery 1 12 for operating the device.
  • a vehicle such as the vehicle 102 or the vehicle 104, is a mobile machine that may be used to transport a person, people, or cargo.
  • any vehicle described herein may be driven or otherwise guided along a path (e.g., a paved road or otherwise) on land, in water, or in the air or outer space.
  • a path e.g., a paved road or otherwise
  • any vehicle described herein may be wheeled, tracked, railed or skied.
  • any vehicle described herein may include an automobile, a motorcycle, a light-duty truck, a medium-duty truck, a heavy-duty truck, a semi-tractor, or a farm machine.
  • any vehicle described herein may include or use any appropriate voltage or current source, such as a battery, an alternator, a fuel cell, and the like, providing any appropriate current or voltage, such as about 12 volts, about 42 volts, and the like.
  • any of the vehicles described herein may include or use any desired system or engine. Those systems or engines may include items that use fossil fuels, such as gasoline, natural gas, propane, and the like, electricity, such as that generated by a battery, magneto, fuel cell, solar cell and the like, wind and hybrids or combinations thereof.
  • a vehicle may include one or more vehicle communication links for carrying vehicle data messages throughout the vehicle. Each vehicle communication link (VCL) may include one or more conductors.
  • vehicle 102 includes a VCL 124 and a VCL 126.
  • VCL 124 and VCL 126 may include one or two conductors of a VCL for carrying vehicle data messages in accordance with a vehicle data message (VDM) protocol.
  • VDM protocol corresponding to any VCL within the vehicle 102 may include, but is not limited to, a Society of Automotive Engineers (SAE) J 1850 (pulse width modulated (PWM) or variable pulse width (VPW)) VDM protocol, an International Organization for Standardization (ISO) 15764-4 controller area network (CAN) VDM protocol, an ISO 9141-2 K-Linc VDM protocol, or an ISO 14230-4 KWP2000 K-Linc VDM protocol.
  • SAE Society of Automotive Engineers
  • PWM pulse width modulated
  • VW variable pulse width
  • ISO International Organization for Standardization
  • CAN controller area network
  • ISO 9141-2 K-Linc VDM protocol an ISO 9141-2 K-Linc VDM protocol
  • the VDLC 1 10 may include conductor terminals that connect to a conductor in the vehicle 102.
  • the VDLC 1 10 may include a connector terminal connected to a conductor 128 that connects to a positive terminal of the battery 1 12 and a conductor 130 that connectors to a negative terminal of die battery 1 12.
  • the ECU 104, the ECU 106, and the ECU 108 may control various aspects of vehicle operation or components within the vehicle 102.
  • the ECU 104, the ECU 106, and the ECU 108 may include a powcrtrain system ECU, an engine ECU, a supplemental inflatable restraint (SIR) system (i.e., an air bag system) ECU, an entertainment system ECU, or some other ECU.
  • SIR supplemental inflatable restraint
  • the ECU 104, the ECU 106, and the ECU 108 may receive inputs (e.g., a sensor input), control output devices (e.g., a solenoid), generate a vehicle data message (such as a VDM based on a received input or a controlled output), and detect a fault or failure condition within the vehicle 102 and set a diagnostic trouble code (DTC) as being active or history.
  • inputs e.g., a sensor input
  • control output devices e.g., a solenoid
  • DTC diagnostic trouble code
  • Two or more ECU such as the ECU 106 and the ECU 108, may send a VDM to each other and receive a VDM from the other ECU(s). Transmission of those VDM may occur over a VCL, such as VCL 126.
  • the system 100 also includes a vehicle interface device (VID) 1 14, a vehicle data receptor device 1 18 (or more simply, "vehicle data receptor” or “VDR”), a display 120, and a network 122.
  • VIP vehicle interface device
  • VDR vehicle data receptor
  • a communication link 132 may connect the VDR 1 18 and the display 120.
  • a communication link 134 may connect the VDR 1 18 and the network 122.
  • the network 122 may include one or more of the communication links 132 and 134.
  • the display 120 may include a computer monitor, a display of a tablet device, a display of a smart phone or some other type of display.
  • the display 120 may be configured to display any data described herein as being displayed or displayablc at a VDR.
  • any display or display device described herein may include or be configured as (i) a capacitivc touchscreen display, (ii) a resistive touchscreen display, (iii) a plasma display, (iv) a light emitting diode (LED) display, (v) as a cathode ray tube display, (vi) an organic light-emitting diode (OLED) display, such as an active-matrix OLED or a passive-matrix OLED, (vii) a touch-screen display such as a color touch screen used on a MODIS 1 M ultra integrated diagnostic system (reference number EEMS328W) available from Snap-on Incorporated of Kenosha, Wisconsin, (viii) a backlit color liquid crystal display (LCD) having a resistive touch screen or panel, or (ix) some other display.
  • a capacitivc touchscreen display e.g., a resistive touchscreen display
  • a plasma display e.g., a plasma display
  • LED light emitting diode
  • the network 122 may include a local area network (LAN) within a vehicle repair shop, the Internet, or some other type of network.
  • the network 122 may include a wireless network, a wired network, or a combination of a wireless network and a wired network.
  • the VID 1 14 may be configured to establish a connection to the vehicle 102 and to the VDR 1 18. That connection to the VDR 1 18 may include a communication link 1 16.
  • the communication link 116 may include a wireless communication link, a wired communication link, or a combination of a wireless communication link and a wired communication link.
  • a gateway or access point may be used to link a wireless communication link and a wired communication link.
  • the communication link 1 16 may provide a maximum data transfer rate for transmitting requests for vehicle data messages to the VID 1 14 and for transmitting vehicle data messages to the VDR 1 18.
  • the communication link 1 16 may carry out communications according to any of a variety of communication protocols or standards.
  • the communication protocol used by the communication link 1 16 may be an Institute of Electrical and Electronic Engineers (IEEE) 802.15.1 standard for wireless personal area networks (PANs) or a Bluetooth version 4.1 standard developed at the Bluetooth Special Interest Group (SIC) of Kirkland, Washington.
  • the communication protocol used by the communication link 1 16 may be an IEEE 802.1 1 standard for wireless LANs, which is sometimes referred to as a Wi-Fi standard.
  • the communication protocol used by the communication link 1 16 may be a cellular phone standard, such as standard for 3G or 4G cellular phone communications.
  • the communication protocol used by the communication link 1 16 may include an IEEE 802.3 Ethernet standard.
  • Other examples of the communication standards or protocols used by the communication link 116 are also possible.
  • the VDR 118 may transmit requests for vehicle data messages to the VXD 114 over the communication link 116.
  • the VID 114 may transmit the received requests for vehicle data messages, or some portion thereof, to the vehicle 102.
  • the VID 1 14 may receive vehicle data messages in response to the requests for vehicle data messages transmitted to the vehicle 102.
  • the VID 1 14 may transmit the received vehicle data messages, or some portion thereof, to the VDR 1 18 over the communication link 1 16.
  • Figure I shows a connection 136 that connects the VDLC 1 10 and the VID 1 14 together.
  • the connection 136 may include terminals in the VDLC 1 10 and terminals in the VID 114 that arc rclcasably conncctablc to each other.
  • the connection 136 may include a wireless communication link established between the VDLC 1 10 and the VID 114.
  • the connection 136 may include a wired communication link between the VDLC 1 10 and the VID 1 14.
  • FIG. 2 is a block diagram of a vehicle interface device 2(H) in accordance with the example embodiments described herein.
  • the VID 200 may operate within the system 100 in place of or in addition to the VID 1 14.
  • the VID 1 14 may be arranged like the VID 200, such that the VID 114 operates like the VID 200.
  • the VID 114 may include the VID 200 or any one or more of the components thereof.
  • the VID 200 may operate in the same manner as the VID 1 14.
  • the VID 200 may include all of the components shown in Figure 2 or any proper subset of the components shown within the VID in Figure 2.
  • the VID 200 may include a processor 202, a computer-readable medium 204, a service data link connector (SDLC) connector 206, a VDM transceiver 208, a transceiver 210, a battery 212, and a power interface 214.
  • One or more of the battery 212 and the power interface 214 may provide an electric current to one or more of the processor 202, the computer-readable medium 204, the VDM transceiver 208, and the transceiver 2 lOby way of a power bus 218.
  • the VID 200 may include a power bus 216 for providing electric current from the SDLC 206 to the power interface 214.
  • One or more of the power busses 216 and 218 may include an electrical ground circuit.
  • the VID 200 may be configured with various power source arrangements other than that shown in Figure 2.
  • the VID 200 may include a power source arrangement that includes the power interface 214, but does not include the battery 212.
  • the VID 200 may include a power arrangement that includes the battery 212, but docs not include the power interface 214.
  • the power interface 214 may include a power cord for connection or transformer for connection of the VID 200 to a typical alternating current (AC) power source (e.g., a 120 volt AC, 60 hertz, power source).
  • AC alternating current
  • a processor such as processor 202 or any other processor discussed herein, may include one or more general purpose processors (e.g., INTEL'S) single core microprocessors or INTEL® multicorc microprocessors) or one or more special purpose processors (e.g., digital signal processors). Additionally or alternatively, a processor may include an application specific integrated circuit (ASIC). Processor 202 may be configured to execute computer-readable program instructions, such as the CRPI 222 shown in Figure 3. Furthermore, any processor described herein may be programmed to perform any function or any combination of functions described herein as being performed by that processor or performed by the device that includes that processor.
  • general purpose processors e.g., INTEL'S
  • special purpose processors e.g., digital signal processors
  • ASIC application specific integrated circuit
  • Processor 202 may be configured to execute computer-readable program instructions, such as the CRPI 222 shown in Figure 3.
  • any processor described herein may be programmed to perform any function or any combination of functions described herein as being
  • a computer-readable medium such as the computer-readable medium 204 or any other computer-readable medium discussed or shown herein, may include a non-transitory computer-readable medium.
  • a non-transitory computer-readable medium may include volatile or non-volatile storage components, such as optical, magnetic, organic or other memory or disc storage, which may be integrated in whole or in part with a processor, or which may be separate from a processor.
  • a non-transitory computer readable medium may include, but is not limited to, a random-access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM), or any other device that is capable of providing data or executable instructions that may be accessed by a processor, such as processor 202.
  • a computer-readable medium may be referred to by other terms such as, but not limited to, a "computer-readable storage medium,” a "data storage device,” a “memory device,” a “memory,” or a "computer-readable data storage device.”
  • a computer-readable medium may include a transitory computer-readable medium.
  • the transitory computer-readable medium may include, for example, CRPI provided over a communication link, such as a communication link which is connected to or is part of the network 1 14.
  • the communication link may include a digital or analog communication link.
  • the communication link may include a wired communication link or a wireless communication link.
  • the computer-readable medium may be readable by a processor.
  • the SDLC 206 may include a connector that provides a rclcasablc connection of the VI D 200 to the vehicle 102.
  • that rclcasablc connection may be carried out, at least in part, by wired conductors of the connection 136.
  • the SDLC 206 may include a connector with terminals that arc rclcasably conncctablc to terminals within the VDLC 1 10.
  • the SDLC 206 may include an OBD II connector that meets the SAE J 1962 specification such as the connector 16M, part number 12110252, available from Delphi Automotive LLP of Troy, Michigan.
  • the rclcasablc connection between the VID 200 and the vehicle 102 may be carried out using a wireless connection of the connection 136.
  • the SDLC 206 may include a wireless transceiver to transmit VDM to and receive VDM from a version of the VDLC 110 configured for wireless communication of VDM.
  • the SDLC 206, and one or more of the processor 202, the computer-readable medium 204, the VDM transceiver 208, and the transceiver 210 may connect to a data bus 220 configured for transmission of VDM received from a vehicle.
  • the VDM transceiver 208 may transmit a VDM for transmission over a vehicle communication link, such as VCL 124 or VCL 126.
  • VDM transceiver 208 may receive a VDM transmitted over a VCL, such as VCL 124 or VCL 126.
  • the transceiver 210 may include one or more transceivers, such as (i) one or more wired transceivers that transmit and receive communications by way of a wired communication link or network, or (ii) one or more wireless transceiver that transmit and receive communications by way of a wireless communication link or network.
  • a wireless transceiver may include one or more antennas.
  • a wireless transceiver may be configured to carry out wireless communications (i.e., transmitting and receiving of wireless communications) according to one or more wireless communication protocols or standards.
  • a wireless transceiver may carry out communications according to an IEEE 802.15.1 standard or a Bluetooth version 4.1 standard.
  • a wireless transceiver may carry out communications according to an IEEE 802.1 1 standard.
  • a wireless transceiver may carry out communications according to a cellular phone standard.
  • Other examples of a wireless communication protocol or standard used by a wireless transceiver arc also possible.
  • At least a portion of one or more of the computer-readable medium 204, the VDM transceiver 208, and the transceiver 210, may be included within the processor 202.
  • the processor 202 may execute computer-readable program instructions so that the VID 200 operates in a particular data acquisition mode.
  • the VID 200 may operate in a pull data acquisition mode in which the VID 200 requests specific data messages from the vehicle 102.
  • the pull data acquisition mode may be used for instances in which the vehicle 102 communicates vehicle data messages according to an ISO standard 15765 for controller area networks, or some other standard or protocol.
  • Any request for a vehicle data message described herein may include a request for a vehicle data parameter.
  • Any request for a vehicle data parameter may include a data identifier (e.g., a parameter identifier (PID)).
  • PID parameter identifier
  • the VID 200 may operate in a push data acquisition mode in which the VID 200 transmits to the vehicle 102 a request for data parameters to be streamed to the VID 200 and the VID selects the particular data messages that arc to be sent to the VDR 1 18.
  • the request for data messages may be a request for all data messages for each data identifier provided from a particular ECU in the vehicle 102.
  • the request for data message may be a request for all data messages for each data identifier associated with diagnosing a particular symptom (e.g., a failure mode) on the vehicle 102.
  • the push data acquisition may be used for instances in which the vehicle 102 communicates vehicle data messages according to a diagnostic data link (DDL) protocol (e.g., DDL I or DDL2) used on vehicles built by Nissan Motor Company Ltd., Nishi-ku, Yokohama, Japan, or some other protocol.
  • DDL diagnostic data link
  • the VID 200 may simultaneously operate in both a data acquisition mode and a VDTM.
  • Figure 3 shows example data that may be stored in the computer-readable medium 204. That data may include, but arc not limited to, CRPI 222, VDM 224, pairing data 226, prior VDM data values 228, and thresholds 230.
  • the CRPI 222 may include program instructions that arc executable by the processor 202 to carry out, at least in part, any of the functions described herein as being performed by the VID 1 14 or the VID 200 or by any one or more of the components thereof.
  • the VDM 224 may include the VDM received from one or more vehicles.
  • the VID 200 may delete the VDM received from a prior vehicle that is not presently connected to the VID 200, but the VID 200 is not necessarily so limited.
  • the VID 200 may delete the VDM received from a vehicle presently connected to the VID 200. That deletion can, for example, occur after the transceiver 210 transmits at least a portion of stored VDM to the VDR 1 18 or after the processor 202 determines that no portion of the VDM is to be sent to the VDR 1 18.
  • the pairing data 226 may include a link key associated with another device (e.g., a "second device” described herein, or a VDR), and a link key for any other device that has paired with the VID 200.
  • the link key or any other portion of the pairing data 226 may be used when the VID 200 establishes a wireless communication link with another device.
  • the prior VDM data values 228 may include data values and corresponding data identifiers of instances of VDM that the VID 200 transmitted to the VDR 118. Examples of the prior VDM data values arc shown in, and described with respect to, Table 1 below.
  • the prior VDM data values 228 may include multiple data values pertaining to a particular data identifier, and a data value representing an aggregation of the multiple data values.
  • the multiple data values may include engine RPM data values equal to 750 RPM, 750 RPM, 1,000 RPM, 1,000 RPM, and 1 ,100 RPM.
  • the aggregation value may equal an average RPM data value equal to 920 RPM.
  • the prior VDM data values 228 may include some, but not all, data of the data values of a VDM received by the VID 1 14.
  • a VDM from an ECU for an SIR system may include data values that indicate whether the vehicle brake pedal is being applied, whether an occupant is detected in a passenger seat, and whether one or more scat belts in the vehicle 102 arc connected.
  • a prior VDM data value may include data that indicates some but not all of those items of SIR system VDM.
  • the thresholds 230 may include one or more thresholds for comparing to a VDM data value, which may include comparing the VDM data value to a threshold.
  • a result of such comparison may indicate the VDM data value is less than the threshold, equals the threshold, or exceeds the threshold. Determining a result of such comparison may be used as a trigger to store the compared VDM data value within prior VDM data values 228 or as a trigger to transmit the VDM data value to the VDR 118.
  • the thresholds 230 may include one or more thresholds pertaining to data transfer rates. A pair of those thresholds pertaining to data transfer rates may define a range of data transfer rates.
  • the processor may determine a data transfer rate for the communication link 1 16 and compare the determined data transfer rate to the defined ranges of data transfer rates to determine whether a change in data transfer rate for transmitting VDM has occurred.
  • a VDTM may be associated with one or more of the defined ranges of data transfer rates.
  • a VDTM may be selected upon determining that a present data transfer rate is within a range of data transfer rates associated with the selected VDTM. Any one or more other threshold described herein may be stored within the thresholds 230.
  • FIG. 4 is a block diagram of a vehicle data receptor 400 in accordance with the example embodiments described herein.
  • the VDR 400 may operate within the system 100 in place of or in addition to the VDR 1 18.
  • the VDR 1 18 may be arranged like the VDR 400, such that the VDR 1 18 may perform one or more of the functions described herein as being performed by the VDR 400.
  • the VDR 1 18 may include the VDR 400 or any one or more of the components thereof.
  • the VDR 400 may perform one or more of the functions described herein as being performed by the VDR 118.
  • the VDR 400 may include all of the components shown in Figure 4 or any proper subset of the components shown within the VDR in Figure 4.
  • the VDR 400 may include a processor 402, a computer-readable medium 404, a transceiver 406, a network interface 408, a battery 410, a power interface 412, and a user interface 414, two or more of which may be communicatively coupled or linked together via a system bus, network, or other connection mechanism 4 IS.
  • One or more of the battery 410 and the power interface 412 may provide an electric current to one or more of the processor 402, the computer-readable medium 404, the transceiver 406, the network interface 408, and the user interface 414 by way of a power bus (not shown).
  • the power interface 414 may, but is not limited, to receiving electric current from an alternating current power outlet.
  • the processor 402 may execute CRPI stored within the computer-readable medium 404 to carry out, at least in part, any of the functions described herein as being performed by the VDR 1 18 or the VDR 400 or by any one or more of the components thereof.
  • the CRPI within the computer-readable medium 404 may include program instruction to cause a display 416 (shown in Figure 6) to display any data described herein as being displayed or displayablc by the VDR 1 18 or the VDR 400.
  • the transceiver 406 may include one or more transceivers, such as (i) one or more wired transceivers that transmit and receive communications by way of a wired communication link or network, or (ii) one or more wireless transceiver that transmit and receive communications by way of a wireless communication link or network.
  • the transceiver 406 may include one or more antennas.
  • the transceiver 406 may be configured to carry out wireless communications according to one or more wireless communication protocols, similar to the transceiver 210.
  • the transceiver 406 may be used to establish a wireless connection with another device, such as the VID 1 14, the VI D 200, or the display 120.
  • the network interface 408 may interface (e.g., connect to by way of a wired or wireless communication link) to any of a variety of components, communication links, or networks.
  • the network interface 408 may interface to the communication link 132 that is connected to the display 120, which is located remotely from the VDR 400.
  • the display 120 may display the VDM (or any portion thereof) the VDR 400 receives from the VID 1 14.
  • the display 120 may display requests for VDM that the VDR 400 will or has transmitted to the VID 1 14.
  • the network interface 408 may interface to a network 122 (e.g., the Internet) by way of the communication link 134.
  • the VDR 400 may transmit the VDM it receives to a computcr- readable medium connected to the network 122. That computer-readable medium may include a database of the VDM.
  • the user interface 414 may include the display 416.
  • the display 416 may display items to guide selection of a VDM to request from the VID 1 14.
  • the display 416 may display the VDM received from the VID 1 14.
  • the VDM received from the VID 1 14 may include only a portion of the VDM that the VID 1 14 received from the vehicle 102. For instance, the portion of the VDM may include some or all of the data values contained with the VDM.
  • the user interface 414 may include one or more components (e.g., a touch screen, a mouse, or keyboard) configured for entering data, such as selection of a VDM, into the VDR 400.
  • One or more of the VDR 1 18 and the VDR 400 may include, be configured as, or include components of a smart phone (such as an IPHONECR ) smartphonc from Apple Inc. of Cupertino, California, or a GALAXY S ⁇ K> smartphonc from Samsung Electronics Co., Ltd.
  • a smart phone such as an IPHONECR
  • Apple Inc. of Cupertino, California
  • GALAXY S ⁇ K> smartphonc from Samsung Electronics Co., Ltd.
  • a tablet device such as an IPADOt ) tablet device from Apple Inc., or a SAMSUNG GALAXY TAB tablet device from Samsung Electronics Co., Ltd.
  • a vehicle diagnostic tool such as a VERSUS® PRO diagnostic and information system (model number EEMS327 or EEMS327W) available from Snap-on Incorporated, Kenosha, Wisconsin.
  • FIG. 6 is a depiction of the VDR 400 in accordance with the example embodiments.
  • the VDR 400 includes the user interface 414, the display 416, and input elements 417, 418, 419, 420, and 421.
  • Those input elements may be rcconfigurablc based on the content being displayed or to be displayed by the display 416.
  • the input clement 417 may be used to input data for requesting a data value from the vehicle 102.
  • the input element 418 may be used to request a DTC from the vehicle 102.
  • the input element 419 may be used to adjust a threshold associated with a VDM data value.
  • the display 416 may display an indicator 422 that indicates which data values displayed by the VDR 400 arc present data values, an indicator 424 that indicates which data values displayed by the VDR 400 arc aggregated data values, and an indicator 426 that indicates which data valued displayed by the VDR 400 arc historical data values.
  • a data value 428 is a present data value indicating engine RPM.
  • a data value 430 is an aggregated data value indicating a throttle position. The display 416 may indicate how many data values the aggregated data value is based on, such as 5 consecutive data values for the data value 430.
  • a display value 432 is a historical data value for an oxygen sensor.
  • the display 416 may display a time (e.g., 5 seconds).
  • the time may indicate when the historical data value was received by the VDR 416 or some other time associated with the data value 432.
  • the display 416 may display a threshold associated with a historical data value.
  • a displayed value may include a data identifier (e.g., engine RPM), or a units (e.g., percent or volts) associated with a data value.
  • the display 416 may display an indicator 434 to indicate that the VID 1 14 or the VID 200 has changed VDTM or to indicate which VDTM the VID 1 14 or the VID 200 is presently using.
  • Figure 5 is a flowchart depicting a set of functions 500 (or more simply "the set 500") that may be carried out in accordance with one or more example embodiments described herein.
  • the set 500 includes the functions shown in blocks labeled with even numbers 502 through 510 inclusive.
  • the following description of the set 500 includes references to elements shown in other figures in this application, but the functions of the set 500 arc not limited to be carried out by the referenced elements.
  • a variety of methods may be performed using all of the functions shown in the set 500 or any proper subset of the functions shown in the set 500. Any of those methods may be performed with other functions such as one or more of the other functions described herein.
  • Block 502 includes receiving, at a first device (e.g., the VID 1 14), multiple instances of vehicle data messages.
  • Each VDM may include a data identifier and a data value.
  • the data identifier may include one or more data identifiers.
  • the data value may include one or more data values.
  • Each VDM may be generated by an ECU in a vehicle, such as any one of the ECU 104, the ECU 106, and the ECU 108 in the vehicle 102.
  • a VDM received by the VID 1 14 may be received in response to a request for the VDM that the VID 1 14 sent to the vehicle 102.
  • That request may be arranged in accordance with a push data acquisition mode or a pull data acquisition mode (both of which arc described elsewhere in this description), but the request is not necessarily so limited.
  • a VDM received at the VID 1 14 may be received in an unsolicited manner in that the VID 1 14 did not request the VDM.
  • the VID 1 14 may eavesdrop on data being communicated on a VCL between multiple ECU within the vehicle 102.
  • a VDM may comprise a VDM in accordance with one or more SAE standards, such as an SAE J 1979 standard regarding E/E Diagnostic Test Modes and an SAE J 1850 standard regarding a Class B Data Communications Network Interface.
  • a VDM may include a response to a present powcrtrain diagnostic data request message (e.g., a read PID value message) that includes a service identifier (e.g.,
  • the data identifier may include one or more of the service identifier and the parameter identifier, and the data value may include the payload of the VDM.
  • a service identifier in a VDM may equate to a service identifier in a request for a VDM (e.g.,
  • a fixed value e.g.,
  • the bar graph for the engine coolant temperature shows that the data values for some VDM, at least over the time period tl to tl4, may have less variability with respect to other VDM with the same parameter identifier.
  • the bar graph for engine RPM shows that the data values for some VDM, at least over the time period tl to tl4, may have greater variability with respect to other VDM with the same parameter identifier.
  • the data values of the engine coolant temperature and the engine RPM shown in Figure 7 show that it may be desirable to sample the data values of different parameter at different rates in order to be able to display an accurate representation of the data values at the display 120.
  • the engine coolant temperature remains steady at 90° C, whereas during that same time period, the engine RPM increases and decreases multiple times.
  • the processor 202 may be programmed with computer-readable experience-based information such that the processor 202 samples the data values of some requested VDM more frequently than the data values of other requested VDM.
  • the cxpcricnccd-bascd information may indicate multiple sets of vehicle operating conditions and which VDM should be requested when and at what rate when the processor detects each set of operating conditions is occurring.
  • the cxpcricnccd-bascd information may, for example, be arranged in the form of CRPI or other processor logic.
  • the multiple instances of vehicle data messages may include multiple instances of a VDM having an identical data identifier and no other VDM.
  • the multiple instances of vehicle data messages may include at least two VDM having different data identifiers.
  • the VID 1 14 may store at least a portion of one or more of the vehicle data messages in the computer- readable medium 204 as prior VDM data values 228.
  • the prior VDM data values 228 may include metadata associated with each instance of storing at least a portion of a VDM.
  • the metadata may include data that indicates a vehicle identifier (ID) of a vehicle that transmitted the VDM, an ECU ID that indicates an ECU that generated the VDM, and data that indicates a time, such as a time the VDM is received at the VI D 1 14 or a time the data is stored at the prior VDM data values 228.
  • a stored time may include a calendar date and is not limited to times representing an hour, minute, and seconds of a day, as shown in Table 1.
  • the stored portion(s) of the VDM may be stored in relation to the metadata.
  • Table 1 includes example data that may be stored in the prior VDM data values 228.
  • VDM data values 228 stored in the computer-readable medium 204 may include data that identifies a vehicle identifier, such as a vehicle identification number (VIN) associated with a vehicle, or a portion of a VIN.
  • VIN 1 may be associated with vehicle 102.
  • VIN 2 may be associated with another vehicle.
  • An ECU identifier may represent a powcrtrain control module (PCM) ECU or another type of ECU within a vehicle.
  • An ECU ID may represent a numeric identifier associated with an ECU.
  • the three right-most columns in Table I show example mode ID, parameter ID, and data values that may be stored in the prior VDM data values 228.
  • the example data values represent a data value of a parameter that corresponds to the parameter ID in the row including the data value.
  • the mode ID [01] may indicate present vehicle data.
  • a mode ID [02] may indicate frcczc-framc data that existed at the time an ECU detected a fault.
  • Other examples of a mode ID arc also possible.
  • the parameter ID 1011 may indicate monitor data.
  • 011, may be bitwise encoded (as shown in the second and third rows of Table 1).
  • the A7 bit may represent whether a malfunction indicator lamp in vehicle 102 is on or off.
  • the BO and B4 bits may represent whether a cylinder misfire test for the vehicle 102 is available and incomplete, respectively.
  • may indicate an engine coolant temperature.
  • the parameter ID [OC] may indicate engine revolutions per minute (RPM).
  • the parameter ID [1A] may indicate an oxygen sensor voltage value for oxygen sensor 3, bank 2.
  • the parameter ID 11 11 may indicate a throttle positon.
  • may indicate a fuel level input. Other examples of a parameter ID arc also possible.
  • Storing one or more data values of a VDM may include storing the data valuc(s) from the VDM that was most recently transmitted to the VDR 1 18 from the VI D 1 14. Storing one or more data values of a VDM may also include storing the data valuc(s) from the VDM most recently received at the VID.
  • block 504 includes detecting, at a processor 202 of the first device (eg., the VID 1 14), a first trigger to change a VDTM for transmitting vehicle data messages over a communication link (e.g., the communication link 1 16) from the first device to a second device (e.g., the VDR 1 18).
  • Processor 202 may execute CRPI 222 to make the detection of block 504. Execution of the CRPI 222 may cause the processor 202 to detect the first trigger to change the VDTM for transmitting vehicle data messages.
  • Detecting the first trigger may include detecting one or more detectable triggers (e.g., trigger events), such as one or more of the following example trigger events listed below.
  • detecting the first trigger may include the processor 202 determining that the VID 1 14 is receiving vehicle data messages from the vehicle 102 at a rate that exceeds a rate at which the VID 1 14 is transmitting the vehicle data messages to the VDR 1 18. If the VID 1 14 is presently receiving vehicle data messages from the vehicle 102 at a rate that exceeds the rate at which the VID 1 14 is transmitting the vehicle data messages to the VDR 1 18, then detecting the first trigger may include the processor 202 determining that the VID 1 14 is receiving vehicle data messages from the vehicle 102 at a rate that does not exceed (i.e., less than) a rate at which the VID 1 14 is transmitting the vehicle data messages to the VDR 1 18.
  • the ratc(s) referred to in this and other examples may be bits per second, bytes per second, messages per second, or some other rate.
  • detecting the first trigger may include the processor 202 determining that the VID 114 has not received an acknowledgement from the VDR 1 18 for one or more VDM transmitted from the VID 1 14 to the VDR 1 18. The lack of receiving an acknowledgment may occur as a result of a distance between the VID 1 14 and the VDR 1 18 increasing. If the VID 1 14 has previously determined it has not received an acknowledgement from the VDR 1 18 for one or more VDM transmitted from the VID 1 14 to the VDR 1 18, then detecting the first trigger may include determining that the VID 1 14 has received an acknowledgement from the VDR 1 18 for one or more VDM transmitted from the VID 1 14 to the VDR 1 18.
  • detecting the first trigger to change the VDTM may include receiving, at the first device, a mode selection entered at the first device, or a mode selection entered at the second device and subsequently transmitted to the first device.
  • a manual or automatic mode for the VDR 1 18 may be selected though use of a user interface (e.g., the user interface 414).
  • the manual mode may be selected along with one or more inputs, such as a VDM data identifier, a data rate, or a data value threshold.
  • the automatic mode may be selected such that the VID 114 or the VDR 118 select at least one of a VDM data identifier, a data rate or a data value threshold to set parameters at the VID 114 for transmitting VDM to the VDR 1 18.
  • detecting the first trigger to change the VDTM may include receiving, at the first device (e.g., the VID 1 14) from the second device (&#., the VDR 1 18), data indicating whether a user is looking at a display of the second device.
  • User interface 414 may include a camera for detecting when the user is looking at a display of the user interface 414. If the user is not looking at the display, a VDTM may be selected to send fewer VDM or send VDM less often to the VDR 118. Then, when the user is looking at the display, a VDTM may be selected to send more VDM or send VDM more often to the VDR 118.
  • VDTM may be beneficial when the VID 114 or the VDR 118 use an electric current from a battery for their operating power as the processing of VDM (e.g., transmitting a request for a VDM or receiving a VDM) may lead to depletion of the battery charge for processing VDM the user will not sec.
  • detecting the first trigger to change the VDTM may include determining, at the first device, a change in speed of a vehicle that provides the vehicle data messages to the first device. As the speed of the vehicle increases or exceeds a speed threshold, a VDTM may be selected to send fewer VDM so that there arc fewer VDM to view via user interface 414 in the event a user of the VDR 118 is driving the vehicle. As the speed of the vehicle decreases or goes below a speed threshold, a VDTM may be selected to send more VDM as compared to the quantity of VDM sent with higher vehicle speeds.
  • detecting the first trigger to change the VDTM may include detecting a change in signal strength of a signal transmitted from the VDR 1 18.
  • a change in signal strength may allow for or require a change in the data transfer rate between the VID 1 14 and the VDR 1 18.
  • detecting an increase in signal strength may allow for increasing the data transfer rate between the VID 1 14 and the VDR 1 18, whereas detecting a decrease in signal strength may require decreasing the data transfer rate between the VID 114 and the VDR 118.
  • block 506 includes determining, at the processor 202, a first vehicle data transmission mode based on the first trigger and one or more requests for vehicle data messages. Multiple examples of making this determination arc described below. Two or more of those example determinations may be combined to carry out the determination of block 506.
  • the one or more requests for VDM may include at least one of one or more requests for vehicle data messages that the VID 1 14 receives from the VDR 1 18.
  • the one or more requests for VDM may include one or more requests for VDM that the VID 1 14 transmits to the vehicle 102.
  • the vehicle 102 may transmit the VDM in response to those one or more requests.
  • the one or more requests for VDM may be, but is not required to be, arranged according to a request for a VDM while the VID 1 14 is operating in a push data acquisition mode or a pull data acquisition mode.
  • the one or more requests for VDM may remain active continually until such time that the VID 1 14 changes the one or more requests for VDM (e.g., until the VID 1 14 transmits another one or more requests for VDM).
  • one or more requests for VDM may cease if an electric current being provided to one or more of the VID 114 and the vehicle 102 is interrupted.
  • determining the first VDTM may include determining a threshold for each VDM requested by the VDR 1 18.
  • Processor 202 may determine the threshold from the thresholds 230 based on a determined data transfer rate.
  • the thresholds 230 may include one or more thresholds that is associated with both a common VDM and a respective data transfer rate.
  • Processor 202 may determine the threshold by modifying (e.g., increasing or decreasing) a threshold used for a particular VDM for a prior VDTM.
  • the processor 202 may increase the threshold for the oxygen sensor voltage VDM to 0.3 volts or some other voltage value greater than 0.2 volts. In other words, the processor 202 may determine an increased threshold when the data transfer rate for transmitting VDM decreases and determine a decreased threshold when the data transfer rate for transmitting VDM increases.
  • determining a VDTM may include determining a priority associated with a data identifier of a VDM and cither adding or removing the VDM including the data identifier to a list of VDM to be transmitted to the VDR 1 18 while the VID 1 14 operates in the VDTM.
  • a VDM including the data identifier may be added to the list in response to determining an increase in the data transfer rate for transmitting VDM or a VDM including the data identifier may be removed from the list in response to determining a decrease in the data transfer rate for transmitting VDM.
  • the VDM added to the list may include a requested VDM having the lowest priority not presently being sent to the VDR 1 18.
  • the VDM removed from the list may include a requested VDM having the lowest priority presently being sent to the VDR 1 18.
  • the respective priority associated with one or more VDM may be based on cxpcricnccd-bascd information (EBI).
  • the EBI may indicate which VDM arc most pertinent (e.g. , having a highest or greater priority) to a symptom being diagnosed or a vehicle part suspected as being faulty as compared to other VDM.
  • the EBI may be stored in the computer-readable medium 204 for use by the processor 202 to determine the respective priority of the VDM identified by the one or more requests for the VDM. Additionally or alternatively, the EBI may be stored in the computer-readable medium 404 for use by the processor 402 to determine the respective priority of the VDM identified by the one or more requests for the VDM.
  • the EBI may be stored in a computer-readable medium within or connected to the network 122.
  • the VID 1 14 or the VDR 1 18 may request the EBI from a server within or connected to the network 122 and having access to the EBI. Either one or both of the VID 1 14 and the VDR 1 18 may transfer the EBI to the other.
  • determining a VDTM may include determining that a VDM including a first data identifier, that is received while the first device is operating in the VDTM, will be transmitted from the VID 1 14 to the VDR 1 18 if a difference between (i) the data value of the VDM including the first data identifier that is received while the VID 1 14 is operating in the VDTM, and (ii) a data value of a VDM including the first data identifier that was most recently transmitted from the VID 1 14 to the VDR 1 18, exceeds a threshold value within the thresholds 230.
  • the threshold value is associated with the VDM.
  • determining a VDTM may include determining that the VID 1 14 will transmit a status message, such as a heartbeat message or a keep-alive message, to the VDR 1 18. This VDTM may be selected when a data transfer rate for transmitting VDM to the VDR 1 18 is relatively low as compared to the other VDTM described herein.
  • Sending or receiving the status message or an acknowledgment in response thereto may be carried out to prevent the VID 1 14 and the VDR 1 18 from disconnecting a communication link established between those devices, and from having to repeatedly reestablish the communication link if the link were to disconnect as a result of at least one of the VID 1 14 and the VDR 1 18 disconnecting from the other based on a determination that the other is no longer near the other.
  • the first VDTM may be any of the VDTM described herein, or some other VDTM.
  • the prior VDTM may be a VDTM other than the first VDTM.
  • a second VDTM may be a VDTM other than the first VDTM.
  • block 508 includes switching, at the first device (eg., the VID 114), from operating in a prior VDTM to the first VDTM.
  • the VID 1 14 may transmit to the VDR 1 18 an indication that indicates the VID 1 14 has switched or is switching from operating in the prior VDTM to the first VDTM, and similarly transmit such indications any other time it switches VDTM.
  • Several examples regarding operating in the prior VDTM and in the first VDTM arc listed below. These examples arc referred to as example VDTM.
  • Any example VDTM that includes transmitting a VDM may include transmitting the entire VDM or a portion of the VDM.
  • Each VDM transmitted or received in the example embodiments may include a data identifier.
  • the data identifier of the VDM discussed in the examples is a first data identifier unless specified otherwise.
  • the first data identifier may include a first identifier value ( ⁇ ?.#., [01]) for requesting data or a second identifier value (e.g., [41]) for reporting data.
  • a first identifier value ⁇ ?.#., [01]
  • a second identifier value e.g., [41]
  • the example VDTM may be carried out for each set of VDM with different data identifiers (e.g., a set of VDM with a second data identifier, a set of VDM with a third data identifier, etcetera) and for multiple sets of VDM.
  • the prior VDTM referred to in block 508 may include, but is not limited to, any one or more of the example VDTM described herein. Any two or more of the example VDTM may be carried out in combination for the prior VDTM unless doing so would cause conflict.
  • the first VDTM referred to in block 508 may include, but is not limited to, any one or more of the other example VDTM described herein. Any two or more of the example VDTM may be carried out in combination for the first VDTM unless doing so would cause conflict.
  • operating in the prior VDTM may include transmitting, over the communication link 1 16 from the VID 1 14 to the VDR 1 18, a VDM including a data identifier that is received while the VID 1 14 is operating in the prior VDTM.
  • operating in the first VDTM may include transmitting, over the communication link 1 16 from the VID 1 14 to the VDR 1 18, a VDM including a data identifier that is received while the VID 114 is operating in the first VDTM.
  • one of the prior VDTM and the first VDTM may be a conditional VDTM in which the VID 1 14 transmits the VDM only if the data values of the two most-rcccntly-rcccivcd VDM with the first identifier arc different, whereas the other of the prior VDTM and the first VDTM may cause the VDM to be transmitted regardless of whether the data values of the two most-rcccntly-rcccivcd VDM with the first identifier arc the same or different.
  • Switching operation to the conditional VDTM of the first example may be beneficial when a decrease in the data transfer rate has been detected or when the data transfer rate has decreased at a threshold amount.
  • Table 2 illustrates example data showing whether the data value gets transmitted when the VID 1 14 is operating in the conditional VDTM of the first example VDTM.
  • one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 118 by the VID 1 14 only if a data value of the most-rcccnt ly-rcce i ved VDM of the two most-rcccntly- received VDM with the same data identifier as compared to the data value of the other most- recently-received VDM has changed by an amount greater than a display value resolution [e.g.
  • the VID 1 14, for the other of the prior VDTM and the first VDTM transmits the two most-recently- rcccivcd VDM regardless of whether a difference of the data values of those two VDM is greater than the display value resolution.
  • the display resolution may pertain to the resolution used to display decimal values on the display 416.
  • Table 3 illustrates example data values of the two most-rcccntly-rcccivcd VDM with respect to example display resolutions and whether the most-rcccnt data value gets transmitted when the VID 1 14 is operating in the conditional VDTM of the second example VDTM.
  • one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 1 IX by the VID 1 14 only if a data value of the most-rcccntly-rcccivcd VDM of the two most-rcccntly- rcccivcd VDM with the same data identifier as compared to the data value of the other most- recently-received VDM has changed by an amount greater than a predetermined data value amount based on prior experience of diagnosing a vehicle.
  • the prior experience may be an experience of one or more diagnosticians or EBI.
  • the computer-readable medium 404 may store a predetermined data value for a data identifier.
  • the computer-readable medium 404 may store different data values (for use as the predetermined data value) for a common data identifier, where the different data values arc dependent upon one or more characteristics of a vehicle, such as a make, model, and year of vehicle 102.
  • Table 4 illustrates an example of experience data that may be stored for four different data identifiers and two different vehicles.
  • one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 118 by the VID 1 14 only if a data value of the most-rcccntly-rcccivcd VDM of the two most-rcccntly- rcccivcd VDM with the same data identifier as compared to the data value of the other most- rcccntly-rcccivcd VDM has changed by an amount greater than a certain percentage (e.g., a proportion) of the data value of the of the other most-rcccntly-rcccivcd VDM.
  • Two or more of the various data identifiers may be associated with the same or different percentages in regard to the fourth example VDTM.
  • Table S shows an example of data values for some example data identifiers in regard to the fourth example VDTM.
  • is thirty percent (i.e., 30%)
  • the most recent data value of 0.03 volts would be transmitted to the VDR 1 18 as the percentage change for that data value is 200% and is greater than the threshold percentage.
  • the most recent data value of 1.13 volts would not be transmitted for the conditional VDTM of the fourth example VDTM as the percentage change is 2.7 % and is less than the threshold percentage.
  • both of the most recent data values would be sent to the VDR 1 18.
  • one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 1 18 by the VID 1 14 only if a data value of the most-rcccntly-rcccivcd VDM is not associated with a data identifier on a list of restricted data identifiers.
  • the list of restricted identifiers may be changed dynamically to add data identifiers) if the determined the data transfer rate for transmitting VDM has decreased and to remove data idcntificr(s) if the determined the data transfer rate for transmitting VDM has increased.
  • the various data identifiers may be prioritized so that the processor 202 may determine which data identifiers) to add back or to remove from the list of data identifiers.
  • the prioritization of data identifiers may be selected based on the experience of one or more diagnosticians or on EBI mined from vehicle service records regarding the servicing of multiple vehicles.
  • the processor 202 may be programed to make the foregoing determination based on that selected prioritization of data identifiers.
  • Multiple lists of prioritized data identifiers may be stored in the computer-readable medium 204. One or more of those lists may be associated with a vehicle characteristic or a vehicle symptom such that the processor 202 may select an appropriate list of data identifiers for dynamically changing the list of restricted identifiers based on the VID 200 being connected to a particular vehicle or being used to resolve a particular vehicle symptom.
  • one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 1 18 by the VID 1 14 only if a threshold time value has passed since the VID 1 14 last transmitted a data value of a VDM with the same data identifier.
  • the other of the prior VDTM and the first VDTM may include transmitting the VDM to the VDR 1 18 upon receipt of the VDM.
  • the various data identifiers may be associated with the same or different threshold times.
  • for engine RPM may have a short threshold time (e.g., 0.3 seconds) and a data identifier
  • the processor 202 may dynamically change the threshold times in response to determining an increase or decrease in the data transfer rate for transmitting VDM. [0099] Carrying out the conditional VDTM of the sixth example VDTM may include changing a time interval between occurrences of the VI D 1 14 requesting, from the vehicle 102, a vehicle data message including a particular data identifier.
  • changing the time interval may include increasing the time interval if the difference between (i) the data value of a most-rcccntly received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (a) the data value of an carlicr-rcccivcd vehicle data message including the particular data identifier and (b) the threshold associated with the vehicle data message including the particular data identifier.
  • changing the time interval may include decreasing the time interval if the difference between (i) the data value of the most-rcccntly received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, is greater than the difference between (a) the data value of the earlier-received vehicle data message including the particular data identifier and (b) the threshold associated with the vehicle data message including the particular data identifier.
  • the processor 202 may switch to one or more the described conditional VDTM of the example VDTM in order to restrict or further restrict transmission of data from the VID 1 14 to the VDR 1 18 and to decrease the data transfer rate for transmitting such data. Conversely, the processor 202 may stop using one or more of the described conditional VDTM and switch to one of the other example VDTM in order to transmit more data from the VID 1 14 to the VDR 1 18_and to increase the data transfer rate for transmitting such data.
  • the conditional VDTM may be prioritized in the following order from greatest to lowest priority: the first example VDTM, the second example VDTM, the third example VDTM, the fourth example VDTM, the fifth example VDTM, and the sixth example VDTM. Any other permutation of those example VDTM or a proper subset of those example VDTM may be used to prioritize the VDTM.
  • switching from the prior VDTM to the first VDTM may result in increasing a data transfer rate of the VDM.
  • the increased data transfer rate may result in the VID 1 14 receiving relatively more acknowledgments from the VDR 1 18 over a given time period as compared to a prior time period of equal or substantially equal time, or receiving a particular amount of acknowledgments over a relatively shorter time period as compared to an amount of time it took to previously receive the same number of acknowledgments from the VDR 118.
  • the increased data transfer rate may allow the VDR 118 to request an increased amount of data, such as (i) an increased number of VDM relative to a number of VDM previously requested by the VDR I IK, (ii) transmitting VDM at an increased rate relative to a most-recent request for transmitting VDM at a particular rate, or (iii) VDM that have a larger payload than the VDM previously requested by the VDR 1 18.
  • the first VDTM may include a VDTM in which at least some of a set of VDM received during the prior VDTM (or the VDM requested by the active one or more requests for VDM) arc not to be transmitted from the VID 1 14 to the VDR 1 18.
  • the one or more requests for VDM may be used to determine which VDM belong to the set of presently- received VDM. For example, the determination may be based on an amount of data (e.g., a number of data bits or bytes) that is to be transmitted to the VDR 1 18 in order to provide the requested VDM. As another example, the determination may be based on how often each request for the requested VDM is being received or a requested interval for providing the requested VDM.
  • the first VDTM may include a VDTM in which VDM in addition to a set of VDM received during the prior VDTM (or the VDM requested by the active one or more requests for VDM) may be transmitted from the VID 1 14 to the VDR 1 18.
  • the one or more requests for VDM may be used to determine which VDM belong to the set of received VDM.
  • transmitting the VDM may include transmitting all data values of all the VDM.
  • transmitting the VDM may include transmitting all data values and data identifiers of all the VDM.
  • transmitting the VDM may include transmitting each VDM of all the VDM in its entirety.
  • switching from the prior VDTM to the first VDTM may result in decreasing a data transfer rate of the VDM.
  • the decreased data transfer rate may result in the VID 1 14 receiving relatively fewer acknowledgments from the VDR 1 18 over a given time period as compared to a prior time period of equal or substantially equal time, or receiving a particular amount of acknowledgments over a relatively longer time period as compared to an amount of time it took to previously receive the same number of VDR acknowledgments from the VDR 1 18.
  • the decreased data transfer rate may cause the VDR 1 18 to request an decreased amount of data, such as (i) an decreased number of VDM relative to a number of VDM previously requested by the VDR 1 18, (ii) transmitting VDM at an decreased rate relative to a most-recent request for transmitting VDM at a particular rate, or (iii) VDM that have a smaller payload than the VDM previously requested by the VDR 118.
  • switching from the prior VDTM to the first VDTM may result in changing the data transfer rate such that an amount of time between the VID 1 14 transmitting two consecutive VDM to the VDR 1 IX or an average (i.e., mean) time between the VID 1 14 transmitting two consecutive VDM to the VDR 1 18 for a number of VDM exceeding two VDM, for the first VDTM has increased or decreased by at least a threshold amount with respect to the prior VDTM.
  • switching from the prior VDTM to the first VDTM may result in changing the VID 114 from transmitting vehicle data messages to the VDR 118 at a data rate that exceeds a threshold data transmission value during the prior VDTM to the VID 114 transmitting vehicle data messages to the VDR 1 18 at a data rate that docs not exceed (i.e., is less than) a threshold data transmission value for the first VDTM.
  • switching from the prior VDTM to the first VDTM may result in the VID 1 14 switching from transmitting VDM using a first communication protocol to transmitting VDM using a second communication protocol that is different than the first communication protocol.
  • the first communication protocol may be a communication protocol in accordance with one of an IEEE 802.1S.I standard and a 3G cellular phone communication standard and the second communication protocol may be a communication protocol in accordance with the other of those two standards.
  • Other examples of the first and second communication protocols arc also possible.
  • block S10 includes transmitting, over the communication link (e.g., the communication link 1 16) from the first device (e.g., the VID 1 14) to the second device (e.g., the VDR 1 18) according to the first VDTM, at least a portion of the vehicle data messages received while the first device is operating in the first VDTM.
  • the VDR 118 may display the received portion and transmit an acknowledgment to the VID 1 14 to confirm that the portion was received at the VDR 118.
  • Another example function includes determining, by the processor 202, a second change in the data transfer rate for transmitting vehicle data messages over the network from the first device to the second device.
  • Another example function includes determining, by the processor 202, a second VDTM based on the second change in the data transfer rate and the one or more requests for the vehicle data messages.
  • the first VDTM may be any of the example VDTM described herein or some other VDTM and the second VDTM may be any other of the example VDTM described herein or some other VDTM.
  • Another example function includes switching, by the first device (e.g., the VID 114), from operating in the first VDTM to the second VDTM.
  • the first device may transmit to the second device (e.g. y the VDR 118) an indication the first device switched from operating in the first VDTM to the second VDTM.
  • Another example function includes transmitting, over the network from the first device to the second device according to the second VDTM, at least a portion of the vehicle data messages, received while the first device is operating in the second VDTM.
  • Another example function includes determining a difference between a prior data value and another data value of a most-rcccntly received vehicle data message including the particular data identifier and determining whether to transmit the other data value to the transceiver of the VDR 1 18 based on whether the difference exceeds the threshold that is associated with the particular data identifier.
  • the computer-readable medium 204 includes CRPI 222. Accordingly, a computer-readable medium may store program instructions, that when executed by a computing device (e.g., the processor 202), cause a set of functions to be performed. For purposes of this description, the program instructions that perform this set of functions to be performed when executed by the computing device is referred to herein as "the set of example CRPI.”
  • functions performed by execution of the set of example CRPI by the processor 202 may include: (i) receiving, at a first device (e.g., the VID 1 14), multiple instances of vehicle data messages, wherein each VDM includes a data identifier and a data value, (it) determining, by the processor 202 of the first device, a first trigger for transmitting VDM over a communication link from the first device to a second device (e.g., the VDR 1 18), (iii) determining, by the processor, a first VDTM to cause a change in a data transfer rate of the VDM and one or more requests for the VDM, (iv) switching, by the first device, from operating in a prior VDTM to the first VDTM, and (v) transmitting, over the communication link from the first device to the second device according to the first VDTM, at least a portion of the VDM received while the first device is operating in the first VDTM.
  • a first device e.g., the VID 1
  • the set of example CRPI may include all or any proper subset of the functions (i), (ii), (iii), (iv), and (v) listed in the previous paragraph and at least one other function of any of the functions described herein as being performed by the VID 1 14, the VID 200, or any component of the VID 200.
  • the functions of the set 500 may be repeated, for example, in response to receiving additional VDM.
  • the prior VDTM may be the first VDTM mat was switched to in block 508 prior to repeating the function of block 508.
  • Embodiments of the present disclosure may thus relate to one of the enumerated example embodiment (EEEs) listed below.
  • EEE I is a method comprising: receiving, at a first device, multiple instances of vehicle data messages, wherein each vehicle data message includes a data identifier and a data value; detecting, by a processor of the first device, a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over a communication link from the first device to a second device; determining, by the processor, a first VDTM based on the first trigger and one or more requests for the vehicle data messages; switching, by the first device, from operating in a prior VDTM to the first VDTM; and transmitting, over the communication link from the first device to the second device according to the first VDTM, at least a portion of the vehicle data messages received while the first device is operating in the first VDTM.
  • VDTM vehicle data transmission mode
  • EEE 2 is the method of EEE 1, further comprising: detecting, by the processor, a second trigger to change a VDTM for transmitting vehicle data messages over the communication link from the first device to the second device; determining, by the processor, a second VDTM based on the second trigger and the one or more requests for the vehicle data messages; switching, by the first device, from operating in the first VDTM to the second VDTM; and transmitting, over the communication link from the first device to the second device according to the second VDTM, at least a portion of the vehicle data messages, received while the first device is operating in the second VDTM.
  • EEE 3 is the method of EEE I or 2, wherein one of the first VDTM and the second VDTM uses a decreased data transfer rate and the other includes an increased data transfer rate, wherein the decreased data transfer rate results in the first device determining at least some data values of a first set of presently-received vehicle data messages are not to be transmitted from the first device to the second device, and wherein the increased data transfer rate results in the first device determining that all data values of a second set of presently- received vehicle data messages arc to be transmitted from the first device to the second device.
  • EEE 4 is the method of any one of EEEs I or 2, wherein determining the first trigger includes determining the first device is receiving vehicle data messages at a rate that exceeds a rate at which the first device is transmitting vehicle data messages to the second device.
  • EEE 5 is the method of any one of EEEs I or 2, wherein determining the first trigger includes determining that the first device is transmitting vehicle data messages to the second device at a rate that exceeds a threshold data transfer rate.
  • EEE 6 is the method of any one of EEEs 1-5, wherein switching from operating in the prior VDTM to the first VDTM includes switching from transmitting vehicle data messages using a first communication protocol to transmitting vehicle data messages using a second communication protocol that is different than the first communication protocol.
  • EEE 7 is the method of any one of EEEs 1-6, wherein detecting the first trigger to change the VDTM includes receiving, by the first device, a manual mode selection entered at the first device or at the second device.
  • EEE 8 is the method of any one of EEEs 1-7, wherein detecting the first trigger to change the VDTM includes receiving, by the first device from the second device, data indicating whether a user is looking at a display of the second device.
  • EEE 9 is the method of any one of EEEs 1-8, wherein detecting the first trigger to change the VDTM includes determining, by the first device, a change in speed of a vehicle that provides the vehicle data messages to the first device.
  • EEE 10 is the method of any one of EEEs 1-9, wherein determining the first VDTM includes determining that a vehicle data message including a first data identifier, that is received while the first device is operating in the first VDTM, will be transmitted from the first device to the second device if a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM and a data value of a vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value.
  • EEE 1 1 is the method of any one of EEEs I- 10, wherein operating in the prior VDTM includes transmitting, over the communication link from the first device to the second device, a vehicle data message including a first data identifier that is received while the first device is operating in the prior VDTM only if a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the prior VDTM and a data value of another vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value, and wherein operating in the first VDTM includes transmitting, over the communication link from the first device to the second device, a vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM regardless of whether or not a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM and a data value of another vehicle data message including the first
  • EEE 12 is the method of any one of EEEs 1-1 1, further comprising: transmitting, over the communication link from the first device to the second device, an indication the first device switched from operating in the prior VDTM to the first VDTM.
  • EEE 13 is the method of any one of EEEs 1-12, wherein the one or more requests for the vehicle data messages include one or more requests, for vehicle data messages, transmitted from the first device to a vehicle that provides the multiple instances of vehicle data messages received by the first device.
  • EEE 14 is the method of any one of EEEs 1-13, wherein the one or more requests for the vehicle data messages include one or more requests, for vehicle data messages, received by the first device from the second device.
  • EEE IS is the method of any one of EEEs 1-14, wherein the data identifiers of the multiple instances of vehicle data messages include a plurality of different data identifiers, and wherein determining the first VDTM is further based on a priority associated with each data identifier of the plurality of data identifiers.
  • EEE 16 is the method of EEE 15, further comprising: storing, by a computer- readable medium of the first device for each of the plurality of different data identifiers, the data value of the vehicle data message including the different data identifier that was most recently transmitted from the first device to the second device.
  • EEE 17 is the method of any one of EEEs 1-16, wherein the first device comprises a vehicle interface device, and wherein the second device comprises a vehicle data receptor including or connected to a display device.
  • EEE 18 is the method of any one of EEEs 1-17, wherein switching from operating in the prior VDTM to the first VDTM includes changing a time interval between occurrences of the processor requesting, from a vehicle, a vehicle data message including a particular data identifier, wherein changing the time interval includes increasing the time interval if the difference between (i) the data value of a most-rcccntly received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (i) the data value of an carlicr-rcccivcd vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, and wherein changing the time interval includes
  • EEE 19 is a system comprising: a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value; a first transceiver configured to establish a communication link with a second transceiver; a processor; and a computer-readable medium containing computer-readable program instructions that are executable by the processor to perform a set of functions, wherein the set of functions includes: detecting a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over the communication link, determining a first VDTM based on the first trigger and one or more requests for the vehicle data messages, switching operation of the system from a prior VDTM to the first VDTM, and transmitting, from the first transceiver, at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM.
  • VDTM vehicle data transmission mode
  • EEE 20 is the system of EEE 19, further comprising: a vehicle data message (VDM) transceiver connected to the service data link connector, wherein the VDM transceiver is configured to transmit a request for a VDM to the vehicle via the service data link connector.
  • VDM vehicle data message
  • EEE 21 is the system of EEE 19 or 20, wherein the service data link connector includes a connector configured to connect to a vehicle data link connector in the vehicle, and wherein the service data link connector is configured to establish at least one of a wired connection to a vehicle via the vehicle data link connector and a wireless connection to the vehicle via the vehicle data link connector.
  • EEE 22 is the system of any one of EEEs 19-21 , further comprising: at least one of
  • a battery and (ii) a power interface connected to the service data link connector, wherein the at least one of the battery and the power interface provides an electric current to operate the processor and first transceiver.
  • EEE 23 is the system of any one of EEEs 19-22, wherein switching operation of the system from the prior VDTM to the first VDTM includes changing a time interval between occurrences of the system requesting, from the vehicle, a vehicle data message including a particular data identifier, wherein changing the time interval includes increasing the time interval if the difference between (i) the data value of a most-rcccntly received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (i) the data value of an earlier-received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, and wherein changing the time interval includes decreasing the time interval if the difference between (i) the data value of the most-rcccntly received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, and
  • EEE 24 is the system of any one of EEEs 19-23, wherein the computer-readable medium contains a threshold associated with a particular data identifier receivable in vehicle data messages from the vehicle, wherein the computer-readable medium contains a prior data value associated with the particular data identifier most-rcccntly transmitted from the first transceiver to the second transceiver, and wherein the set of functions further includes: determining a difference between the prior data value and another data value of a most- rcccntly received vehicle data message including the particular data identifier, and determining whether to transmit the other data value to the second transceiver based on whether the difference exceeds the threshold.
  • EEE 25 is the system of any one of EEEs 19-24, wherein the first transceiver docs not transmit at least some date values of the vehicle data messages received from the vehicle while me system operates in the first VDTM.
  • EEE 26 is the system of any one of EEEs 19-25, wherein detecting the first trigger includes at least one of (i) receiving a manual mode selection entered at user interface of the system or from the second transceiver, (ii) receiving data indicating whether a user is looking at a display associated with the second transceiver, and (iii) determining a change in a speed of the vehicle.
  • EEE 27 is the system of any one of EEEs 19-26, wherein the first data transceiver comprises a first wireless transceiver, and wherein the second data transceiver comprises a second wireless transceiver.
  • EEE 28 is a system comprising: a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value; a first transceiver configured to establish a communication link with a second transceiver; and a processor that is connected to the service data link connector and to the first transceiver, and is programmed to: (i) detect a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over the communication link, (ii) determine a first VDTM based on the first trigger and one or more requests for the vehicle data messages, (iii) switch operation of the system from a prior VDTM to the first VDTM, and (iv) provide the first transceiver with at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM for transmission to the second transceiver.
  • VDTM vehicle data transmission mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Traffic Control Systems (AREA)

Abstract

A vehicle interlace device (VID) switches to a first vehicle data transmission mode (VDTM) from a prior VDTM based on a trigger for transmitting vehicle data messages (VDMs). and which VDMs have been requested at a vehicle data receptor (VDR). A decreased data transfer rate may result from selecting the first VDTM such that some portions of VDMs received while the VID is operating in the other VDTM are transmitted to the VDR from the VID and other portions of those VDMs are not transmitted to the VDR from the VID. An increased data transfer rate may result from selecting the first VDTM such that some portions of VDMs received while the VID is operating in the first VDTM are transmitted to the VDR from the VID whereas those same portions would not have been transmitted to the VDR from the VID if the VID was still operating in the prior VDTM.

Description

METHODS AND SYSTEMS FOR SWITCHING VEHICLE
DATA TRANSMISSION MODES BASED ON DETECTING A TRIGGER AND A REQUEST FOR A VEHICLE DATA MESSAGE
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to United States Patent Application No. 14/938,638, filed November 1 1, 2015, which is hereby incorporated by reference in its entirety.
BACKGROUND
[0002] A vehicle scanner device may request serial data from a vehicle and receive the serial data from the vehicle in response to the request. The vehicle scanner device may establish a wireless communication link with a display device and transmit the received serial data to the display device over the wireless communication link for displaying the serial data at the display device. A bandwidth of the wireless communication link may be defined as one or more of a width of the communication link and a capacity to move data through the communication link. The wireless communication link may have one or more communication channels. The width of the communication link may be defined as a frequency range or band.
[0003] A variety of factors may influence a rate at which the communication link transfers the serial data from the vehicle scanner device to the display device. Changes in that transfer rate may impact how the display device displays the serial data received from the vehicle.
OVERVIEW
[0004] Described herein arc one or more example embodiments that pertain to a device configured with multiple vehicle data transmission modes (VDTM) and an ability to switch between two different VDTM. For example, a device conncctablc to a vehicle, such as a vehicle interface device (VID), may be configured with multiple VDTM. The VID may be configured to determine which particular VDTM of the multiple VDTM is to be used at any particular time based on one or more conditions associated with the VID. The VID may be configured to select the particular VDTM and to switch its operation to the particular VDTM. The VID may establish a communication link for transmitting vehicle data messages received from the vehicle to another device, such as a vehicle data receptor (VDR). The communication link may have a maximum data transfer rate for transmitting vehicle data messages to the VDR and that data transfer rate may decrease for various reasons, such as, but not limited to, an increase in interference with the communication link, an increase in distance between the VID and the VDR, and changing communication channels (e.g., a high bandwidth communication channel to a low bandwidth communication channel). When operating below the maximum data transfer rate, the data transfer rate across the communication link may increase from the present data transfer rate until the maximum data transfer rate is obtained. The communication link may be a wireless communication link, a wired communication link, or a combination of a wireless communication and wired communication links.
[0005] In one respect, an example embodiment may take the form of a method comprising:
[1] receiving, at a first device, multiple instances of vehicle data messages, wherein each vehicle data message includes a data identifier and a data value, (ii) detecting, by a processor of the first device, a first trigger to change a VDTM for transmitting vehicle data messages over a communication link from the first device to a second device, (iii) determining, by the processor, a first VDTM based on the first trigger and one or more requests for the vehicle data messages, (iv) switching, by the first device, from operating in a prior VDTM to the first VDTM, and (v) transmitting, over the communication link from the first device to the second device according to the first VDTM, at least a portion of the vehicle data messages received while the first device is operating in the first VDTM.
[0006] In another respect, an example embodiment may take the form of a system comprising: (i) a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, (ii) a first transceiver configured to establish a communication link with a second transceiver, (iii) a processor; and (iv) a computer-readable medium containing computer-readable program instructions that are executable by the processor to perform a set of functions, wherein the set of functions includes: (a) detecting a first trigger to change a VDTM for transmitting vehicle data messages over the communication link, (b) determining a first VDTM based on the first trigger and one or more requests for the vehicle data messages, (c) switching operation of the system from a prior VDTM to the first VDTM, and (d) transmitting, from the first transceiver, at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM.
[0007] In yet another respect, an example embodiment may take the form of a system comprising: (a) a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value, (b) a first transceiver configured to establish a communication link with a second transceiver, and (c) a processor that is connected to the service data link connector and to the first transceiver, and is programmed to: (i) detect a first trigger to change a VDTM for transmitting vehicle data messages over the communication link, (ii) determine a first VDTM based on the first trigger and one or more requests for the vehicle data messages, (iii) switch operation of the system from a prior VDTM to the first VDTM, and (iv) provide the first transceiver with at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM for transmission to the second transceiver.
[0008] Aspects and advantages of these and other described 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. Further, it should be understood that the embodiments described in this overview and elsewhere arc intended to be examples only and do not necessarily limit the scope of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Example embodiments arc described herein with reference to the drawings.
[0010] Figure I is a block diagram of a system in accordance with the example embodiments.
[0011] Figure 2 is a block diagram of a VID in accordance with the example embodiments.
[0012] Figure 3 is a block diagram of a computer-readable medium in accordance with the example embodiments.
[0013] Figure 4 is a block diagram of a VDR in accordance with the example embodiments.
[0014] Figure 5 is a flowchart depicting a set of functions that may be carried out in accordance with one or more example embodiments.
[0015] Figure 6 is a depiction of an example VDR in accordance with the example embodiments.
[0016] Figure 7 includes bar graphs showing variability of data values within vehicle data messages.
DETAILED DESCRIPTION
1. INTRODUCTION
[0017] This description describes several example embodiments including, but not limited to, embodiments pertaining to a device, such as a VID, that is configured to switch from one VDTM to another VDTM. The VID may determine which VDTM to switch to based, at least in part, on detecting a trigger to change a VDTM for transmitting vehicle data messages over a communication link. The VID may transmit requests for vehicle data messages to a vehicle and receive vehicle data messages from the vehicle in response to the requests. The VID may determine which vehicle data messages, or some portion(s) thereof, that arc to be transmitted to another device based on the present VDTM used by the VID when the vehicle data messages arc received or when the vehicle data messages arc to be transmitted. The VID may also send vehicle data messages that were received at the VID prior to the VID switching to the present VDTM. Transmission of a vehicle data message or a portion thereof from the VID to a VDR or a display device may include transmitting a data value of the vehicle data message to the VDR or the display device with or without the identifier of the vehicle data message.
[0018] In this description, the articles "a," "an" or "the" arc used to introduce or refer to elements of the example embodiments. The intent of using those articles is that mere is one or more of the elements. The intent of using the conjunction "or" within a described list of at least two terms is to indicate any of the listed terms or any combination of the listed terms. The use of ordinal numbers such as "first," "second," "third" and so on is to distinguish respective elements rather than to denote a particular order of those elements.
[0019] The block diagrams, flow charts, and other data shown in the figures are provided merely as examples and are not intended to be limiting. Many of the elements illustrated in the figures or described herein arc functional elements that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Those skilled in the art will appreciate that other arrangements and elements (e.g., machines, interfaces, functions, orders, or groupings of functions) may be used instead. Furthermore, various functions described as being performed at one or more elements may be carried out at a processor executing computer-readable program instructions (CRPI) or at any combination of hardware, firmware, or software.
[0020] The description includes examples of data values within various messages or within a computer-readable medium. The example data values may include hexadecimal data values. The data values in this description contained within square brackets (i.e., [ J) represent hexadecimal data values. The example data values may include binary data values and decimal data values. The binary data values arc identified as being binary data values. Any described data value not identified as a binary or hexadecimal data value may be considered to be a decimal data value. The example embodiments arc not limited to using binary, decimal, and hexadecimal data values.
[0021] Either or both of a vehicle data link connector and a service vehicle data link connector may be referred to more simply as a "data link connector" or a "DLC." Moreover a service vehicle data link connector may be referred to a vehicle DLC connector. II. EXAMPLE SYSTEMS
[0022] Figure 1 is a block diagram of a system 100 in accordance with the example embodiments described herein. The system 100 may include all of the components shown in Figure I or any proper subset of the components shown within the system of Figure I . For example, the system 100 may include a vehicle 102 having an electronic control unit (ECU) 104, an ECU 106, an ECU 108, a vehicle data link connector (VDLC) 1 10, and a battery 1 12. The VDLC 1 10 may include or be referred to as an on-board diagnostics (OBD) II connector. An OBD II connector may include slots for retaining up to 16 connector terminals, but the VDLC 1 10 is not necessarily so limited. A battery power conductor 128 and a chassis ground conductor 130 may connect the battery 1 12 to the VDLC 1 10. A device that connects to the VDLC 1 10 may draw an electric current provided to the VDLC 1 10 from the battery 1 12 for operating the device.
[0023] A vehicle, such as the vehicle 102 or the vehicle 104, is a mobile machine that may be used to transport a person, people, or cargo. As an example, any vehicle described herein may be driven or otherwise guided along a path (e.g., a paved road or otherwise) on land, in water, or in the air or outer space. As another example, any vehicle described herein may be wheeled, tracked, railed or skied. As yet another example, any vehicle described herein may include an automobile, a motorcycle, a light-duty truck, a medium-duty truck, a heavy-duty truck, a semi-tractor, or a farm machine. As still yet another example, any vehicle described herein may include or use any appropriate voltage or current source, such as a battery, an alternator, a fuel cell, and the like, providing any appropriate current or voltage, such as about 12 volts, about 42 volts, and the like. As still yet another example, any of the vehicles described herein may include or use any desired system or engine. Those systems or engines may include items that use fossil fuels, such as gasoline, natural gas, propane, and the like, electricity, such as that generated by a battery, magneto, fuel cell, solar cell and the like, wind and hybrids or combinations thereof. A vehicle may include one or more vehicle communication links for carrying vehicle data messages throughout the vehicle. Each vehicle communication link (VCL) may include one or more conductors. As shown in Figure I, vehicle 102 includes a VCL 124 and a VCL 126. As an example, VCL 124 and VCL 126 may include one or two conductors of a VCL for carrying vehicle data messages in accordance with a vehicle data message (VDM) protocol. The VDM protocol corresponding to any VCL within the vehicle 102 may include, but is not limited to, a Society of Automotive Engineers (SAE) J 1850 (pulse width modulated (PWM) or variable pulse width (VPW)) VDM protocol, an International Organization for Standardization (ISO) 15764-4 controller area network (CAN) VDM protocol, an ISO 9141-2 K-Linc VDM protocol, or an ISO 14230-4 KWP2000 K-Linc VDM protocol.
[0024] The VDLC 1 10 may include conductor terminals that connect to a conductor in the vehicle 102. For instance, the VDLC 1 10 may include a connector terminal connected to a conductor 128 that connects to a positive terminal of the battery 1 12 and a conductor 130 that connectors to a negative terminal of die battery 1 12.
[0025] The ECU 104, the ECU 106, and the ECU 108 may control various aspects of vehicle operation or components within the vehicle 102. For example, the ECU 104, the ECU 106, and the ECU 108 may include a powcrtrain system ECU, an engine ECU, a supplemental inflatable restraint (SIR) system (i.e., an air bag system) ECU, an entertainment system ECU, or some other ECU. The ECU 104, the ECU 106, and the ECU 108 may receive inputs (e.g., a sensor input), control output devices (e.g., a solenoid), generate a vehicle data message (such as a VDM based on a received input or a controlled output), and detect a fault or failure condition within the vehicle 102 and set a diagnostic trouble code (DTC) as being active or history. Two or more ECU, such as the ECU 106 and the ECU 108, may send a VDM to each other and receive a VDM from the other ECU(s). Transmission of those VDM may occur over a VCL, such as VCL 126.
[0026] The system 100 also includes a vehicle interface device (VID) 1 14, a vehicle data receptor device 1 18 (or more simply, "vehicle data receptor" or "VDR"), a display 120, and a network 122. A communication link 132 may connect the VDR 1 18 and the display 120. A communication link 134 may connect the VDR 1 18 and the network 122. The network 122 may include one or more of the communication links 132 and 134. The display 120 may include a computer monitor, a display of a tablet device, a display of a smart phone or some other type of display. The display 120 may be configured to display any data described herein as being displayed or displayablc at a VDR. As an example, any display or display device described herein may include or be configured as (i) a capacitivc touchscreen display, (ii) a resistive touchscreen display, (iii) a plasma display, (iv) a light emitting diode (LED) display, (v) as a cathode ray tube display, (vi) an organic light-emitting diode (OLED) display, such as an active-matrix OLED or a passive-matrix OLED, (vii) a touch-screen display such as a color touch screen used on a MODIS1 M ultra integrated diagnostic system (reference number EEMS328W) available from Snap-on Incorporated of Kenosha, Wisconsin, (viii) a backlit color liquid crystal display (LCD) having a resistive touch screen or panel, or (ix) some other display. [0027] The network 122 may include a local area network (LAN) within a vehicle repair shop, the Internet, or some other type of network. The network 122 may include a wireless network, a wired network, or a combination of a wireless network and a wired network.
[0028] The VID 1 14 may be configured to establish a connection to the vehicle 102 and to the VDR 1 18. That connection to the VDR 1 18 may include a communication link 1 16. The communication link 116 may include a wireless communication link, a wired communication link, or a combination of a wireless communication link and a wired communication link. A gateway or access point may be used to link a wireless communication link and a wired communication link. The communication link 1 16 may provide a maximum data transfer rate for transmitting requests for vehicle data messages to the VID 1 14 and for transmitting vehicle data messages to the VDR 1 18.
[0029] The communication link 1 16 may carry out communications according to any of a variety of communication protocols or standards. As an example, the communication protocol used by the communication link 1 16 may be an Institute of Electrical and Electronic Engineers (IEEE) 802.15.1 standard for wireless personal area networks (PANs) or a Bluetooth version 4.1 standard developed at the Bluetooth Special Interest Group (SIC) of Kirkland, Washington. As another example, the communication protocol used by the communication link 1 16 may be an IEEE 802.1 1 standard for wireless LANs, which is sometimes referred to as a Wi-Fi standard. As another example, the communication protocol used by the communication link 1 16 may be a cellular phone standard, such as standard for 3G or 4G cellular phone communications. As yet another example, the communication protocol used by the communication link 1 16 may include an IEEE 802.3 Ethernet standard. Other examples of the communication standards or protocols used by the communication link 116 are also possible.
[0030] The VDR 118 may transmit requests for vehicle data messages to the VXD 114 over the communication link 116. The VID 114 may transmit the received requests for vehicle data messages, or some portion thereof, to the vehicle 102. The VID 1 14 may receive vehicle data messages in response to the requests for vehicle data messages transmitted to the vehicle 102. The VID 1 14 may transmit the received vehicle data messages, or some portion thereof, to the VDR 1 18 over the communication link 1 16.
[0031] Figure I shows a connection 136 that connects the VDLC 1 10 and the VID 1 14 together. The connection 136 may include terminals in the VDLC 1 10 and terminals in the VID 114 that arc rclcasably conncctablc to each other. The connection 136 may include a wireless communication link established between the VDLC 1 10 and the VID 114. The connection 136 may include a wired communication link between the VDLC 1 10 and the VID 1 14.
[0032] Next, Figure 2 is a block diagram of a vehicle interface device 2(H) in accordance with the example embodiments described herein. The VID 200 may operate within the system 100 in place of or in addition to the VID 1 14. The VID 1 14 may be arranged like the VID 200, such that the VID 114 operates like the VID 200. The VID 114 may include the VID 200 or any one or more of the components thereof. The VID 200 may operate in the same manner as the VID 1 14.
[0033] The VID 200 may include all of the components shown in Figure 2 or any proper subset of the components shown within the VID in Figure 2. For example, the VID 200 may include a processor 202, a computer-readable medium 204, a service data link connector (SDLC) connector 206, a VDM transceiver 208, a transceiver 210, a battery 212, and a power interface 214. One or more of the battery 212 and the power interface 214 may provide an electric current to one or more of the processor 202, the computer-readable medium 204, the VDM transceiver 208, and the transceiver 2 lOby way of a power bus 218. The VID 200 may include a power bus 216 for providing electric current from the SDLC 206 to the power interface 214. One or more of the power busses 216 and 218 may include an electrical ground circuit.
[0034] A person skilled in the art will understand that the VID 200 may be configured with various power source arrangements other than that shown in Figure 2. For example, the VID 200 may include a power source arrangement that includes the power interface 214, but does not include the battery 212. As another example, the VID 200 may include a power arrangement that includes the battery 212, but docs not include the power interface 214. For any power arrangement including the power interface 214, the power interface 214 may include a power cord for connection or transformer for connection of the VID 200 to a typical alternating current (AC) power source (e.g., a 120 volt AC, 60 hertz, power source).
[0035] A processor, such as processor 202 or any other processor discussed herein, may include one or more general purpose processors (e.g., INTEL'S) single core microprocessors or INTEL® multicorc microprocessors) or one or more special purpose processors (e.g., digital signal processors). Additionally or alternatively, a processor may include an application specific integrated circuit (ASIC). Processor 202 may be configured to execute computer-readable program instructions, such as the CRPI 222 shown in Figure 3. Furthermore, any processor described herein may be programmed to perform any function or any combination of functions described herein as being performed by that processor or performed by the device that includes that processor.
[0036] A computer-readable medium, such as the computer-readable medium 204 or any other computer-readable medium discussed or shown herein, may include a non-transitory computer-readable medium. A non-transitory computer-readable medium may include volatile or non-volatile storage components, such as optical, magnetic, organic or other memory or disc storage, which may be integrated in whole or in part with a processor, or which may be separate from a processor. A non-transitory computer readable medium may include, but is not limited to, a random-access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM), or any other device that is capable of providing data or executable instructions that may be accessed by a processor, such as processor 202. A computer-readable medium may be referred to by other terms such as, but not limited to, a "computer-readable storage medium," a "data storage device," a "memory device," a "memory," or a "computer-readable data storage device."
[0037] Additionally or alternatively, a computer-readable medium may include a transitory computer-readable medium. The transitory computer-readable medium may include, for example, CRPI provided over a communication link, such as a communication link which is connected to or is part of the network 1 14. The communication link may include a digital or analog communication link. The communication link may include a wired communication link or a wireless communication link. The computer-readable medium may be readable by a processor.
[0038] The SDLC 206 may include a connector that provides a rclcasablc connection of the VI D 200 to the vehicle 102. In one respect, that rclcasablc connection may be carried out, at least in part, by wired conductors of the connection 136. In that respect, the SDLC 206 may include a connector with terminals that arc rclcasably conncctablc to terminals within the VDLC 1 10. As an example, the SDLC 206 may include an OBD II connector that meets the SAE J 1962 specification such as the connector 16M, part number 12110252, available from Delphi Automotive LLP of Troy, Michigan. In another respect, the rclcasablc connection between the VID 200 and the vehicle 102 may be carried out using a wireless connection of the connection 136. In that respect, the SDLC 206 may include a wireless transceiver to transmit VDM to and receive VDM from a version of the VDLC 110 configured for wireless communication of VDM. The SDLC 206, and one or more of the processor 202, the computer-readable medium 204, the VDM transceiver 208, and the transceiver 210 may connect to a data bus 220 configured for transmission of VDM received from a vehicle.
[0039] The VDM transceiver 208 may transmit a VDM for transmission over a vehicle communication link, such as VCL 124 or VCL 126. VDM transceiver 208 may receive a VDM transmitted over a VCL, such as VCL 124 or VCL 126.
[0040] The transceiver 210 may include one or more transceivers, such as (i) one or more wired transceivers that transmit and receive communications by way of a wired communication link or network, or (ii) one or more wireless transceiver that transmit and receive communications by way of a wireless communication link or network. A wireless transceiver may include one or more antennas. A wireless transceiver may be configured to carry out wireless communications (i.e., transmitting and receiving of wireless communications) according to one or more wireless communication protocols or standards. As an example, a wireless transceiver may carry out communications according to an IEEE 802.15.1 standard or a Bluetooth version 4.1 standard. As another example, a wireless transceiver may carry out communications according to an IEEE 802.1 1 standard. As another example, a wireless transceiver may carry out communications according to a cellular phone standard. Other examples of a wireless communication protocol or standard used by a wireless transceiver arc also possible.
[0041] At least a portion of one or more of the computer-readable medium 204, the VDM transceiver 208, and the transceiver 210, may be included within the processor 202.
[0042] The processor 202 may execute computer-readable program instructions so that the VID 200 operates in a particular data acquisition mode. As an example, the VID 200 may operate in a pull data acquisition mode in which the VID 200 requests specific data messages from the vehicle 102. The pull data acquisition mode may be used for instances in which the vehicle 102 communicates vehicle data messages according to an ISO standard 15765 for controller area networks, or some other standard or protocol. Any request for a vehicle data message described herein may include a request for a vehicle data parameter. Any request for a vehicle data parameter may include a data identifier (e.g., a parameter identifier (PID)).
[0043] As another example, the VID 200 may operate in a push data acquisition mode in which the VID 200 transmits to the vehicle 102 a request for data parameters to be streamed to the VID 200 and the VID selects the particular data messages that arc to be sent to the VDR 1 18. As an example, the request for data messages may be a request for all data messages for each data identifier provided from a particular ECU in the vehicle 102. As another example the request for data message may be a request for all data messages for each data identifier associated with diagnosing a particular symptom (e.g., a failure mode) on the vehicle 102. The push data acquisition may be used for instances in which the vehicle 102 communicates vehicle data messages according to a diagnostic data link (DDL) protocol (e.g., DDL I or DDL2) used on vehicles built by Nissan Motor Company Ltd., Nishi-ku, Yokohama, Japan, or some other protocol. The VID 200 may simultaneously operate in both a data acquisition mode and a VDTM.
[0044] Figure 3 shows example data that may be stored in the computer-readable medium 204. That data may include, but arc not limited to, CRPI 222, VDM 224, pairing data 226, prior VDM data values 228, and thresholds 230. The CRPI 222 may include program instructions that arc executable by the processor 202 to carry out, at least in part, any of the functions described herein as being performed by the VID 1 14 or the VID 200 or by any one or more of the components thereof.
[0045] The VDM 224 may include the VDM received from one or more vehicles. The VID 200 may delete the VDM received from a prior vehicle that is not presently connected to the VID 200, but the VID 200 is not necessarily so limited. The VID 200 may delete the VDM received from a vehicle presently connected to the VID 200. That deletion can, for example, occur after the transceiver 210 transmits at least a portion of stored VDM to the VDR 1 18 or after the processor 202 determines that no portion of the VDM is to be sent to the VDR 1 18.
[0046] The pairing data 226 may include a link key associated with another device (e.g., a "second device" described herein, or a VDR), and a link key for any other device that has paired with the VID 200. The link key or any other portion of the pairing data 226 may be used when the VID 200 establishes a wireless communication link with another device.
[0047] The prior VDM data values 228 may include data values and corresponding data identifiers of instances of VDM that the VID 200 transmitted to the VDR 118. Examples of the prior VDM data values arc shown in, and described with respect to, Table 1 below.
[0048] As another example, the prior VDM data values 228 may include multiple data values pertaining to a particular data identifier, and a data value representing an aggregation of the multiple data values. For instance, the multiple data values may include engine RPM data values equal to 750 RPM, 750 RPM, 1,000 RPM, 1,000 RPM, and 1 ,100 RPM. The aggregation value may equal an average RPM data value equal to 920 RPM.
[0049] The prior VDM data values 228 may include some, but not all, data of the data values of a VDM received by the VID 1 14. For instance, a VDM from an ECU for an SIR system may include data values that indicate whether the vehicle brake pedal is being applied, whether an occupant is detected in a passenger seat, and whether one or more scat belts in the vehicle 102 arc connected. A prior VDM data value may include data that indicates some but not all of those items of SIR system VDM.
[0050] The thresholds 230 may include one or more thresholds for comparing to a VDM data value, which may include comparing the VDM data value to a threshold. A result of such comparison may indicate the VDM data value is less than the threshold, equals the threshold, or exceeds the threshold. Determining a result of such comparison may be used as a trigger to store the compared VDM data value within prior VDM data values 228 or as a trigger to transmit the VDM data value to the VDR 118.
[0051] The thresholds 230 may include one or more thresholds pertaining to data transfer rates. A pair of those thresholds pertaining to data transfer rates may define a range of data transfer rates. The processor may determine a data transfer rate for the communication link 1 16 and compare the determined data transfer rate to the defined ranges of data transfer rates to determine whether a change in data transfer rate for transmitting VDM has occurred. A VDTM may be associated with one or more of the defined ranges of data transfer rates. A VDTM may be selected upon determining that a present data transfer rate is within a range of data transfer rates associated with the selected VDTM. Any one or more other threshold described herein may be stored within the thresholds 230.
|00S2] Next, Figure 4 is a block diagram of a vehicle data receptor 400 in accordance with the example embodiments described herein. The VDR 400 may operate within the system 100 in place of or in addition to the VDR 1 18. The VDR 1 18 may be arranged like the VDR 400, such that the VDR 1 18 may perform one or more of the functions described herein as being performed by the VDR 400. The VDR 1 18 may include the VDR 400 or any one or more of the components thereof. The VDR 400 may perform one or more of the functions described herein as being performed by the VDR 118.
[0053] The VDR 400 may include all of the components shown in Figure 4 or any proper subset of the components shown within the VDR in Figure 4. For example, the VDR 400 may include a processor 402, a computer-readable medium 404, a transceiver 406, a network interface 408, a battery 410, a power interface 412, and a user interface 414, two or more of which may be communicatively coupled or linked together via a system bus, network, or other connection mechanism 4 IS. One or more of the battery 410 and the power interface 412 may provide an electric current to one or more of the processor 402, the computer-readable medium 404, the transceiver 406, the network interface 408, and the user interface 414 by way of a power bus (not shown). The power interface 414 may, but is not limited, to receiving electric current from an alternating current power outlet. [0054] The processor 402 may execute CRPI stored within the computer-readable medium 404 to carry out, at least in part, any of the functions described herein as being performed by the VDR 1 18 or the VDR 400 or by any one or more of the components thereof. The CRPI within the computer-readable medium 404 may include program instruction to cause a display 416 (shown in Figure 6) to display any data described herein as being displayed or displayablc by the VDR 1 18 or the VDR 400.
|00S5] The transceiver 406 may include one or more transceivers, such as (i) one or more wired transceivers that transmit and receive communications by way of a wired communication link or network, or (ii) one or more wireless transceiver that transmit and receive communications by way of a wireless communication link or network. The transceiver 406 may include one or more antennas. The transceiver 406 may be configured to carry out wireless communications according to one or more wireless communication protocols, similar to the transceiver 210. The transceiver 406 may be used to establish a wireless connection with another device, such as the VID 1 14, the VI D 200, or the display 120.
|00S6] The network interface 408 may interface (e.g., connect to by way of a wired or wireless communication link) to any of a variety of components, communication links, or networks. For example, the network interface 408 may interface to the communication link 132 that is connected to the display 120, which is located remotely from the VDR 400. As an example, the display 120 may display the VDM (or any portion thereof) the VDR 400 receives from the VID 1 14. As another example, the display 120 may display requests for VDM that the VDR 400 will or has transmitted to the VID 1 14. As another example, the network interface 408 may interface to a network 122 (e.g., the Internet) by way of the communication link 134. The VDR 400 may transmit the VDM it receives to a computcr- readable medium connected to the network 122. That computer-readable medium may include a database of the VDM.
[0057] The user interface 414 may include the display 416. The display 416 may display items to guide selection of a VDM to request from the VID 1 14. The display 416 may display the VDM received from the VID 1 14. The VDM received from the VID 1 14 may include only a portion of the VDM that the VID 1 14 received from the vehicle 102. For instance, the portion of the VDM may include some or all of the data values contained with the VDM. |00S8] The user interface 414 may include one or more components (e.g., a touch screen, a mouse, or keyboard) configured for entering data, such as selection of a VDM, into the VDR 400. [0059] One or more of the VDR 1 18 and the VDR 400 may include, be configured as, or include components of a smart phone (such as an IPHONECR) smartphonc from Apple Inc. of Cupertino, California, or a GALAXY S<K> smartphonc from Samsung Electronics Co., Ltd. Of Mactan-Dong, Ycongtong-Gu Suwon-Si, Gyconggi-Do, Republic of Korea), a tablet device (such as an IPADOt) tablet device from Apple Inc., or a SAMSUNG GALAXY TAB tablet device from Samsung Electronics Co., Ltd.), or a vehicle diagnostic tool, such as a VERSUS® PRO diagnostic and information system (model number EEMS327 or EEMS327W) available from Snap-on Incorporated, Kenosha, Wisconsin.
[0060] Next, Figure 6 is a depiction of the VDR 400 in accordance with the example embodiments. As shown in Figure 6, the VDR 400 includes the user interface 414, the display 416, and input elements 417, 418, 419, 420, and 421. Those input elements may be rcconfigurablc based on the content being displayed or to be displayed by the display 416. As an example, the input clement 417 may be used to input data for requesting a data value from the vehicle 102. As another example, the input element 418 may be used to request a DTC from the vehicle 102. As another example, the input element 419 may be used to adjust a threshold associated with a VDM data value.
[0061] As shown in Figure 6, the display 416 may display an indicator 422 that indicates which data values displayed by the VDR 400 arc present data values, an indicator 424 that indicates which data values displayed by the VDR 400 arc aggregated data values, and an indicator 426 that indicates which data valued displayed by the VDR 400 arc historical data values. A data value 428 is a present data value indicating engine RPM. A data value 430 is an aggregated data value indicating a throttle position. The display 416 may indicate how many data values the aggregated data value is based on, such as 5 consecutive data values for the data value 430. A display value 432 is a historical data value for an oxygen sensor. The display 416 may display a time (e.g., 5 seconds). The time may indicate when the historical data value was received by the VDR 416 or some other time associated with the data value 432. The display 416 may display a threshold associated with a historical data value. As shown in Figure 6, a displayed value may include a data identifier (e.g., engine RPM), or a units (e.g., percent or volts) associated with a data value.
[0062] The display 416 may display an indicator 434 to indicate that the VID 1 14 or the VID 200 has changed VDTM or to indicate which VDTM the VID 1 14 or the VID 200 is presently using. III. EXAMPLE OPERATION
[0063] Next, Figure 5 is a flowchart depicting a set of functions 500 (or more simply "the set 500") that may be carried out in accordance with one or more example embodiments described herein. The set 500 includes the functions shown in blocks labeled with even numbers 502 through 510 inclusive. The following description of the set 500 includes references to elements shown in other figures in this application, but the functions of the set 500 arc not limited to be carried out by the referenced elements. A variety of methods may be performed using all of the functions shown in the set 500 or any proper subset of the functions shown in the set 500. Any of those methods may be performed with other functions such as one or more of the other functions described herein.
[0064] Block 502 includes receiving, at a first device (e.g., the VID 1 14), multiple instances of vehicle data messages. Each VDM may include a data identifier and a data value. The data identifier may include one or more data identifiers. The data value may include one or more data values. Each VDM may be generated by an ECU in a vehicle, such as any one of the ECU 104, the ECU 106, and the ECU 108 in the vehicle 102. A VDM received by the VID 1 14 may be received in response to a request for the VDM that the VID 1 14 sent to the vehicle 102. That request may be arranged in accordance with a push data acquisition mode or a pull data acquisition mode (both of which arc described elsewhere in this description), but the request is not necessarily so limited. Alternatively, a VDM received at the VID 1 14 may be received in an unsolicited manner in that the VID 1 14 did not request the VDM. In this alternative arrangement, the VID 1 14 may eavesdrop on data being communicated on a VCL between multiple ECU within the vehicle 102.
[0065] As an example, a VDM may comprise a VDM in accordance with one or more SAE standards, such as an SAE J 1979 standard regarding E/E Diagnostic Test Modes and an SAE J 1850 standard regarding a Class B Data Communications Network Interface. For instance, a VDM may include a response to a present powcrtrain diagnostic data request message (e.g., a read PID value message) that includes a service identifier (e.g., |41 ]), a parameter identifier (e.g., |00| or |011), and one or more data bytes representing the data value (e.g., a payload of the VDM). For this example, the data identifier may include one or more of the service identifier and the parameter identifier, and the data value may include the payload of the VDM. In some instances, a service identifier in a VDM may equate to a service identifier in a request for a VDM (e.g., |0I |) plus a fixed value (e.g., |40|). such that the VDM service identifier is |411. Other examples of standards for arranging a VDM are also possible. [0066] Figure 7 shows bar graphs representing data values of VDM having parameter identifiers representing an engine coolant temperature or an engine RPM over time from tl to tl4. The bar graph for the engine coolant temperature shows that the data values for some VDM, at least over the time period tl to tl4, may have less variability with respect to other VDM with the same parameter identifier. The bar graph for engine RPM shows that the data values for some VDM, at least over the time period tl to tl4, may have greater variability with respect to other VDM with the same parameter identifier. A person having ordinary skill in the art will understand that over another given period of time, such as the first three minutes after a vehicle has been started after being turned off for an eight-hour period, the data values representing engine coolant may have more variability than the data values representing the engine RPM if the vehicle runs at a constant idle speed, because the engine coolant temperature will steadily increase during those first three minutes.
[0067] In a manner akin to sampling data of an analog signal in accordance with the Nyquist theorem (i.e., using a sampling rate at least twice the highest waveform frequency), the data values of the engine coolant temperature and the engine RPM shown in Figure 7 show that it may be desirable to sample the data values of different parameter at different rates in order to be able to display an accurate representation of the data values at the display 120. For example, during the time period of t4 to 11 1, the engine coolant temperature remains steady at 90° C, whereas during that same time period, the engine RPM increases and decreases multiple times. The processor 202 may be programmed with computer-readable experience-based information such that the processor 202 samples the data values of some requested VDM more frequently than the data values of other requested VDM. The cxpcricnccd-bascd information may indicate multiple sets of vehicle operating conditions and which VDM should be requested when and at what rate when the processor detects each set of operating conditions is occurring. The cxpcricnccd-bascd information may, for example, be arranged in the form of CRPI or other processor logic.
[0068] The multiple instances of vehicle data messages may include multiple instances of a VDM having an identical data identifier and no other VDM. Alternatively, the multiple instances of vehicle data messages may include at least two VDM having different data identifiers.
[0069] In response to receiving the multiple instances of vehicle data messages, the VID 1 14 may store at least a portion of one or more of the vehicle data messages in the computer- readable medium 204 as prior VDM data values 228. The prior VDM data values 228 may include metadata associated with each instance of storing at least a portion of a VDM. As an example, the metadata may include data that indicates a vehicle identifier (ID) of a vehicle that transmitted the VDM, an ECU ID that indicates an ECU that generated the VDM, and data that indicates a time, such as a time the VDM is received at the VI D 1 14 or a time the data is stored at the prior VDM data values 228. A stored time may include a calendar date and is not limited to times representing an hour, minute, and seconds of a day, as shown in Table 1. The stored portion(s) of the VDM may be stored in relation to the metadata. Table 1 includes example data that may be stored in the prior VDM data values 228.
Figure imgf000018_0001
Table 1
[0070] As shown in Table I, VDM data values 228 stored in the computer-readable medium 204 may include data that identifies a vehicle identifier, such as a vehicle identification number (VIN) associated with a vehicle, or a portion of a VIN. VIN 1 may be associated with vehicle 102. VIN 2 may be associated with another vehicle. An ECU identifier may represent a powcrtrain control module (PCM) ECU or another type of ECU within a vehicle. An ECU ID may represent a numeric identifier associated with an ECU. The three right-most columns in Table I show example mode ID, parameter ID, and data values that may be stored in the prior VDM data values 228. The example data values represent a data value of a parameter that corresponds to the parameter ID in the row including the data value.
[0071] The mode ID [01] may indicate present vehicle data. A mode ID [02] may indicate frcczc-framc data that existed at the time an ECU detected a fault. Other examples of a mode ID arc also possible.
[0072] The parameter ID 1011 may indicate monitor data. The data values for some parameter ID, such as |011, may be bitwise encoded (as shown in the second and third rows of Table 1). The A7 bit may represent whether a malfunction indicator lamp in vehicle 102 is on or off. The BO and B4 bits may represent whether a cylinder misfire test for the vehicle 102 is available and incomplete, respectively. The parameter ID |05| may indicate an engine coolant temperature. The parameter ID [OC] may indicate engine revolutions per minute (RPM). The parameter ID [1A] may indicate an oxygen sensor voltage value for oxygen sensor 3, bank 2. The parameter ID 11 11 may indicate a throttle positon. The parameter ID |2F| may indicate a fuel level input. Other examples of a parameter ID arc also possible.
[0073] Storing one or more data values of a VDM may include storing the data valuc(s) from the VDM that was most recently transmitted to the VDR 1 18 from the VI D 1 14. Storing one or more data values of a VDM may also include storing the data valuc(s) from the VDM most recently received at the VID.
[0074] Next, block 504 includes detecting, at a processor 202 of the first device (eg., the VID 1 14), a first trigger to change a VDTM for transmitting vehicle data messages over a communication link (e.g., the communication link 1 16) from the first device to a second device (e.g., the VDR 1 18). Processor 202 may execute CRPI 222 to make the detection of block 504. Execution of the CRPI 222 may cause the processor 202 to detect the first trigger to change the VDTM for transmitting vehicle data messages. Detecting the first trigger may include detecting one or more detectable triggers (e.g., trigger events), such as one or more of the following example trigger events listed below.
[0075] As an example, detecting the first trigger may include the processor 202 determining that the VID 1 14 is receiving vehicle data messages from the vehicle 102 at a rate that exceeds a rate at which the VID 1 14 is transmitting the vehicle data messages to the VDR 1 18. If the VID 1 14 is presently receiving vehicle data messages from the vehicle 102 at a rate that exceeds the rate at which the VID 1 14 is transmitting the vehicle data messages to the VDR 1 18, then detecting the first trigger may include the processor 202 determining that the VID 1 14 is receiving vehicle data messages from the vehicle 102 at a rate that does not exceed (i.e., less than) a rate at which the VID 1 14 is transmitting the vehicle data messages to the VDR 1 18. As an example, the ratc(s) referred to in this and other examples may be bits per second, bytes per second, messages per second, or some other rate.
[0076] As another example, detecting the first trigger may include the processor 202 determining that the VID 114 has not received an acknowledgement from the VDR 1 18 for one or more VDM transmitted from the VID 1 14 to the VDR 1 18. The lack of receiving an acknowledgment may occur as a result of a distance between the VID 1 14 and the VDR 1 18 increasing. If the VID 1 14 has previously determined it has not received an acknowledgement from the VDR 1 18 for one or more VDM transmitted from the VID 1 14 to the VDR 1 18, then detecting the first trigger may include determining that the VID 1 14 has received an acknowledgement from the VDR 1 18 for one or more VDM transmitted from the VID 1 14 to the VDR 1 18. [0077] In a first respect, detecting the first trigger to change the VDTM may include receiving, at the first device, a mode selection entered at the first device, or a mode selection entered at the second device and subsequently transmitted to the first device. A manual or automatic mode for the VDR 1 18 may be selected though use of a user interface (e.g., the user interface 414). As an example, the manual mode may be selected along with one or more inputs, such as a VDM data identifier, a data rate, or a data value threshold. The automatic mode may be selected such that the VID 114 or the VDR 118 select at least one of a VDM data identifier, a data rate or a data value threshold to set parameters at the VID 114 for transmitting VDM to the VDR 1 18.
[0078] In another respect, detecting the first trigger to change the VDTM may include receiving, at the first device (e.g., the VID 1 14) from the second device (&#., the VDR 1 18), data indicating whether a user is looking at a display of the second device. User interface 414 may include a camera for detecting when the user is looking at a display of the user interface 414. If the user is not looking at the display, a VDTM may be selected to send fewer VDM or send VDM less often to the VDR 118. Then, when the user is looking at the display, a VDTM may be selected to send more VDM or send VDM more often to the VDR 118. Use of these VDTM may be beneficial when the VID 114 or the VDR 118 use an electric current from a battery for their operating power as the processing of VDM (e.g., transmitting a request for a VDM or receiving a VDM) may lead to depletion of the battery charge for processing VDM the user will not sec.
[0079] In yet another respect, detecting the first trigger to change the VDTM may include determining, at the first device, a change in speed of a vehicle that provides the vehicle data messages to the first device. As the speed of the vehicle increases or exceeds a speed threshold, a VDTM may be selected to send fewer VDM so that there arc fewer VDM to view via user interface 414 in the event a user of the VDR 118 is driving the vehicle. As the speed of the vehicle decreases or goes below a speed threshold, a VDTM may be selected to send more VDM as compared to the quantity of VDM sent with higher vehicle speeds.
[0080] In still yet another respect, detecting the first trigger to change the VDTM may include detecting a change in signal strength of a signal transmitted from the VDR 1 18. A change in signal strength may allow for or require a change in the data transfer rate between the VID 1 14 and the VDR 1 18. For example, detecting an increase in signal strength may allow for increasing the data transfer rate between the VID 1 14 and the VDR 1 18, whereas detecting a decrease in signal strength may require decreasing the data transfer rate between the VID 114 and the VDR 118. [0081] Next, block 506 includes determining, at the processor 202, a first vehicle data transmission mode based on the first trigger and one or more requests for vehicle data messages. Multiple examples of making this determination arc described below. Two or more of those example determinations may be combined to carry out the determination of block 506.
[0082] As an example, the one or more requests for VDM may include at least one of one or more requests for vehicle data messages that the VID 1 14 receives from the VDR 1 18. As another example, the one or more requests for VDM may include one or more requests for VDM that the VID 1 14 transmits to the vehicle 102. The vehicle 102 may transmit the VDM in response to those one or more requests. The one or more requests for VDM may be, but is not required to be, arranged according to a request for a VDM while the VID 1 14 is operating in a push data acquisition mode or a pull data acquisition mode. The one or more requests for VDM may remain active continually until such time that the VID 1 14 changes the one or more requests for VDM (e.g., until the VID 1 14 transmits another one or more requests for VDM). Of course, one or more requests for VDM may cease if an electric current being provided to one or more of the VID 114 and the vehicle 102 is interrupted.
[0083] As another example, determining the first VDTM may include determining a threshold for each VDM requested by the VDR 1 18. Processor 202 may determine the threshold from the thresholds 230 based on a determined data transfer rate. The thresholds 230 may include one or more thresholds that is associated with both a common VDM and a respective data transfer rate. Processor 202 may determine the threshold by modifying (e.g., increasing or decreasing) a threshold used for a particular VDM for a prior VDTM. For instance, if a prior threshold for an oxygen sensor voltage VDM was 0.2 volts and the data transfer rate for transmitting VDM decreases, then the processor 202 may increase the threshold for the oxygen sensor voltage VDM to 0.3 volts or some other voltage value greater than 0.2 volts. In other words, the processor 202 may determine an increased threshold when the data transfer rate for transmitting VDM decreases and determine a decreased threshold when the data transfer rate for transmitting VDM increases.
[0084] As another example, determining a VDTM, such as the first VDTM, may include determining a priority associated with a data identifier of a VDM and cither adding or removing the VDM including the data identifier to a list of VDM to be transmitted to the VDR 1 18 while the VID 1 14 operates in the VDTM. For instance, a VDM including the data identifier may be added to the list in response to determining an increase in the data transfer rate for transmitting VDM or a VDM including the data identifier may be removed from the list in response to determining a decrease in the data transfer rate for transmitting VDM. The VDM added to the list may include a requested VDM having the lowest priority not presently being sent to the VDR 1 18. The VDM removed from the list may include a requested VDM having the lowest priority presently being sent to the VDR 1 18.
[0085] The respective priority associated with one or more VDM may be based on cxpcricnccd-bascd information (EBI). The EBI may indicate which VDM arc most pertinent (e.g. , having a highest or greater priority) to a symptom being diagnosed or a vehicle part suspected as being faulty as compared to other VDM. The EBI may be stored in the computer-readable medium 204 for use by the processor 202 to determine the respective priority of the VDM identified by the one or more requests for the VDM. Additionally or alternatively, the EBI may be stored in the computer-readable medium 404 for use by the processor 402 to determine the respective priority of the VDM identified by the one or more requests for the VDM. Again, additionally or alternatively, the EBI may be stored in a computer-readable medium within or connected to the network 122. The VID 1 14 or the VDR 1 18 may request the EBI from a server within or connected to the network 122 and having access to the EBI. Either one or both of the VID 1 14 and the VDR 1 18 may transfer the EBI to the other.
[0086] As yet another example, determining a VDTM, such as the first VDTM, may include determining that a VDM including a first data identifier, that is received while the first device is operating in the VDTM, will be transmitted from the VID 1 14 to the VDR 1 18 if a difference between (i) the data value of the VDM including the first data identifier that is received while the VID 1 14 is operating in the VDTM, and (ii) a data value of a VDM including the first data identifier that was most recently transmitted from the VID 1 14 to the VDR 1 18, exceeds a threshold value within the thresholds 230. The threshold value is associated with the VDM.
[0087] As still yet another example, determining a VDTM, such as the first VDTM, may include determining that the VID 1 14 will transmit a status message, such as a heartbeat message or a keep-alive message, to the VDR 1 18. This VDTM may be selected when a data transfer rate for transmitting VDM to the VDR 1 18 is relatively low as compared to the other VDTM described herein. Sending or receiving the status message or an acknowledgment in response thereto may be carried out to prevent the VID 1 14 and the VDR 1 18 from disconnecting a communication link established between those devices, and from having to repeatedly reestablish the communication link if the link were to disconnect as a result of at least one of the VID 1 14 and the VDR 1 18 disconnecting from the other based on a determination that the other is no longer near the other.
[0088] The first VDTM may be any of the VDTM described herein, or some other VDTM. The prior VDTM may be a VDTM other than the first VDTM. A second VDTM may be a VDTM other than the first VDTM.
[0089] Next, block 508 includes switching, at the first device (eg., the VID 114), from operating in a prior VDTM to the first VDTM. The VID 1 14 may transmit to the VDR 1 18 an indication that indicates the VID 1 14 has switched or is switching from operating in the prior VDTM to the first VDTM, and similarly transmit such indications any other time it switches VDTM. Several examples regarding operating in the prior VDTM and in the first VDTM arc listed below. These examples arc referred to as example VDTM. Any example VDTM that includes transmitting a VDM may include transmitting the entire VDM or a portion of the VDM. Each VDM transmitted or received in the example embodiments may include a data identifier. For clarity of describing the examples, the data identifier of the VDM discussed in the examples (e.g., a set of VDM) is a first data identifier unless specified otherwise. The first data identifier may include a first identifier value (<?.#., [01]) for requesting data or a second identifier value (e.g., [41]) for reporting data. A person skilled in the art will understand that the example VDTM may be carried out for each set of VDM with different data identifiers (e.g., a set of VDM with a second data identifier, a set of VDM with a third data identifier, etcetera) and for multiple sets of VDM.
[0090] The prior VDTM referred to in block 508 may include, but is not limited to, any one or more of the example VDTM described herein. Any two or more of the example VDTM may be carried out in combination for the prior VDTM unless doing so would cause conflict. Similarly, the first VDTM referred to in block 508 may include, but is not limited to, any one or more of the other example VDTM described herein. Any two or more of the example VDTM may be carried out in combination for the first VDTM unless doing so would cause conflict.
[0091] For first, second, third, fourth, fifth, and sixth example VDTM described hereafter, operating in the prior VDTM may include transmitting, over the communication link 1 16 from the VID 1 14 to the VDR 1 18, a VDM including a data identifier that is received while the VID 1 14 is operating in the prior VDTM. Similarly, operating in the first VDTM may include transmitting, over the communication link 1 16 from the VID 1 14 to the VDR 1 18, a VDM including a data identifier that is received while the VID 114 is operating in the first VDTM. [0092] In accordance with the first example VDTM, one of the prior VDTM and the first VDTM may be a conditional VDTM in which the VID 1 14 transmits the VDM only if the data values of the two most-rcccntly-rcccivcd VDM with the first identifier arc different, whereas the other of the prior VDTM and the first VDTM may cause the VDM to be transmitted regardless of whether the data values of the two most-rcccntly-rcccivcd VDM with the first identifier arc the same or different. Switching operation to the conditional VDTM of the first example may be beneficial when a decrease in the data transfer rate has been detected or when the data transfer rate has decreased at a threshold amount. Table 2 illustrates example data showing whether the data value gets transmitted when the VID 1 14 is operating in the conditional VDTM of the first example VDTM.
Figure imgf000024_0001
Table 2
[0093] In accordance with the second example VDTM, one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 118 by the VID 1 14 only if a data value of the most-rcccnt ly-rcce i ved VDM of the two most-rcccntly- received VDM with the same data identifier as compared to the data value of the other most- recently-received VDM has changed by an amount greater than a display value resolution [e.g. , 1, 2, or 3 decimal positions (e.g., tenths, hundredths, or thousandths)), whereas the VID 1 14, for the other of the prior VDTM and the first VDTM, transmits the two most-recently- rcccivcd VDM regardless of whether a difference of the data values of those two VDM is greater than the display value resolution. The display resolution may pertain to the resolution used to display decimal values on the display 416. Table 3 illustrates example data values of the two most-rcccntly-rcccivcd VDM with respect to example display resolutions and whether the most-rcccnt data value gets transmitted when the VID 1 14 is operating in the conditional VDTM of the second example VDTM.
Figure imgf000024_0002
Table 3 [0094] In accordance with the third example VDTM, one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 1 IX by the VID 1 14 only if a data value of the most-rcccntly-rcccivcd VDM of the two most-rcccntly- rcccivcd VDM with the same data identifier as compared to the data value of the other most- recently-received VDM has changed by an amount greater than a predetermined data value amount based on prior experience of diagnosing a vehicle. The prior experience may be an experience of one or more diagnosticians or EBI. The computer-readable medium 404 may store a predetermined data value for a data identifier. The computer-readable medium 404 may store different data values (for use as the predetermined data value) for a common data identifier, where the different data values arc dependent upon one or more characteristics of a vehicle, such as a make, model, and year of vehicle 102. Table 4 illustrates an example of experience data that may be stored for four different data identifiers and two different vehicles.
Figure imgf000025_0001
Table 4
[0095] In accordance with the fourth example VDTM, one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 118 by the VID 1 14 only if a data value of the most-rcccntly-rcccivcd VDM of the two most-rcccntly- rcccivcd VDM with the same data identifier as compared to the data value of the other most- rcccntly-rcccivcd VDM has changed by an amount greater than a certain percentage (e.g., a proportion) of the data value of the of the other most-rcccntly-rcccivcd VDM. Two or more of the various data identifiers may be associated with the same or different percentages in regard to the fourth example VDTM. Table S shows an example of data values for some example data identifiers in regard to the fourth example VDTM.
Figure imgf000025_0002
Table 5
If a threshold percentage associated with the VDM including data identifier | 17| is thirty percent (i.e., 30%), then for the conditional VDTM of the fourth example VDTM, the most recent data value of 0.03 volts would be transmitted to the VDR 1 18 as the percentage change for that data value is 200% and is greater than the threshold percentage. Conversely, the most recent data value of 1.13 volts would not be transmitted for the conditional VDTM of the fourth example VDTM as the percentage change is 2.7 % and is less than the threshold percentage. For the other VDTM of the fourth example VDTM, both of the most recent data values would be sent to the VDR 1 18.
[0096] In accordance with the fifth example VDTM, one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 1 18 by the VID 1 14 only if a data value of the most-rcccntly-rcccivcd VDM is not associated with a data identifier on a list of restricted data identifiers. The list of restricted identifiers may be changed dynamically to add data identifiers) if the determined the data transfer rate for transmitting VDM has decreased and to remove data idcntificr(s) if the determined the data transfer rate for transmitting VDM has increased. The various data identifiers may be prioritized so that the processor 202 may determine which data identifiers) to add back or to remove from the list of data identifiers. The prioritization of data identifiers may be selected based on the experience of one or more diagnosticians or on EBI mined from vehicle service records regarding the servicing of multiple vehicles. The processor 202 may be programed to make the foregoing determination based on that selected prioritization of data identifiers.
[0097] Multiple lists of prioritized data identifiers may be stored in the computer-readable medium 204. One or more of those lists may be associated with a vehicle characteristic or a vehicle symptom such that the processor 202 may select an appropriate list of data identifiers for dynamically changing the list of restricted identifiers based on the VID 200 being connected to a particular vehicle or being used to resolve a particular vehicle symptom.
[0098] In accordance with the sixth example VDTM, one of the prior VDTM and the first VDTM may be a conditional VDTM in which a VDM is transmitted to the VDR 1 18 by the VID 1 14 only if a threshold time value has passed since the VID 1 14 last transmitted a data value of a VDM with the same data identifier. The other of the prior VDTM and the first VDTM may include transmitting the VDM to the VDR 1 18 upon receipt of the VDM. The various data identifiers may be associated with the same or different threshold times. As an example, a data identifier |0C| for engine RPM may have a short threshold time (e.g., 0.3 seconds) and a data identifier |05| for engine coolant temperature may have a long threshold time (e.g., 30.0 seconds), relatively speaking. The processor 202 may dynamically change the threshold times in response to determining an increase or decrease in the data transfer rate for transmitting VDM. [0099] Carrying out the conditional VDTM of the sixth example VDTM may include changing a time interval between occurrences of the VI D 1 14 requesting, from the vehicle 102, a vehicle data message including a particular data identifier. In one case, changing the time interval may include increasing the time interval if the difference between (i) the data value of a most-rcccntly received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (a) the data value of an carlicr-rcccivcd vehicle data message including the particular data identifier and (b) the threshold associated with the vehicle data message including the particular data identifier. In another case, changing the time interval may include decreasing the time interval if the difference between (i) the data value of the most-rcccntly received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, is greater than the difference between (a) the data value of the earlier-received vehicle data message including the particular data identifier and (b) the threshold associated with the vehicle data message including the particular data identifier.
[00100] The processor 202 may switch to one or more the described conditional VDTM of the example VDTM in order to restrict or further restrict transmission of data from the VID 1 14 to the VDR 1 18 and to decrease the data transfer rate for transmitting such data. Conversely, the processor 202 may stop using one or more of the described conditional VDTM and switch to one of the other example VDTM in order to transmit more data from the VID 1 14 to the VDR 1 18_and to increase the data transfer rate for transmitting such data. The conditional VDTM may be prioritized in the following order from greatest to lowest priority: the first example VDTM, the second example VDTM, the third example VDTM, the fourth example VDTM, the fifth example VDTM, and the sixth example VDTM. Any other permutation of those example VDTM or a proper subset of those example VDTM may be used to prioritize the VDTM.
[00101] In one respect, switching from the prior VDTM to the first VDTM may result in increasing a data transfer rate of the VDM. The increased data transfer rate may result in the VID 1 14 receiving relatively more acknowledgments from the VDR 1 18 over a given time period as compared to a prior time period of equal or substantially equal time, or receiving a particular amount of acknowledgments over a relatively shorter time period as compared to an amount of time it took to previously receive the same number of acknowledgments from the VDR 118. Also, the increased data transfer rate may allow the VDR 118 to request an increased amount of data, such as (i) an increased number of VDM relative to a number of VDM previously requested by the VDR I IK, (ii) transmitting VDM at an increased rate relative to a most-recent request for transmitting VDM at a particular rate, or (iii) VDM that have a larger payload than the VDM previously requested by the VDR 1 18.
[00102] If switching to the first VDTM results in switching to a VDTM with a decreased data transfer rate, then the first VDTM may include a VDTM in which at least some of a set of VDM received during the prior VDTM (or the VDM requested by the active one or more requests for VDM) arc not to be transmitted from the VID 1 14 to the VDR 1 18. The one or more requests for VDM may be used to determine which VDM belong to the set of presently- received VDM. For example, the determination may be based on an amount of data (e.g., a number of data bits or bytes) that is to be transmitted to the VDR 1 18 in order to provide the requested VDM. As another example, the determination may be based on how often each request for the requested VDM is being received or a requested interval for providing the requested VDM.
[00103] If switching to the first VDTM results in switching to a VDTM with an increased data transfer rate, then the first VDTM may include a VDTM in which VDM in addition to a set of VDM received during the prior VDTM (or the VDM requested by the active one or more requests for VDM) may be transmitted from the VID 1 14 to the VDR 1 18. The one or more requests for VDM may be used to determine which VDM belong to the set of received VDM. In a first respect, transmitting the VDM may include transmitting all data values of all the VDM. In a second respect, transmitting the VDM may include transmitting all data values and data identifiers of all the VDM. In a third respect, transmitting the VDM may include transmitting each VDM of all the VDM in its entirety.
[00104] In another respect, switching from the prior VDTM to the first VDTM may result in decreasing a data transfer rate of the VDM. The decreased data transfer rate may result in the VID 1 14 receiving relatively fewer acknowledgments from the VDR 1 18 over a given time period as compared to a prior time period of equal or substantially equal time, or receiving a particular amount of acknowledgments over a relatively longer time period as compared to an amount of time it took to previously receive the same number of VDR acknowledgments from the VDR 1 18. Also, the decreased data transfer rate may cause the VDR 1 18 to request an decreased amount of data, such as (i) an decreased number of VDM relative to a number of VDM previously requested by the VDR 1 18, (ii) transmitting VDM at an decreased rate relative to a most-recent request for transmitting VDM at a particular rate, or (iii) VDM that have a smaller payload than the VDM previously requested by the VDR 118. [00105] In yet another respect, switching from the prior VDTM to the first VDTM may result in changing the data transfer rate such that an amount of time between the VID 1 14 transmitting two consecutive VDM to the VDR 1 IX or an average (i.e., mean) time between the VID 1 14 transmitting two consecutive VDM to the VDR 1 18 for a number of VDM exceeding two VDM, for the first VDTM has increased or decreased by at least a threshold amount with respect to the prior VDTM.
[00106] In yet another respect, switching from the prior VDTM to the first VDTM may result in changing the VID 114 from transmitting vehicle data messages to the VDR 118 at a data rate that exceeds a threshold data transmission value during the prior VDTM to the VID 114 transmitting vehicle data messages to the VDR 1 18 at a data rate that docs not exceed (i.e., is less than) a threshold data transmission value for the first VDTM.
[00107] Moreover, switching from the prior VDTM to the first VDTM may result in the VID 1 14 switching from transmitting VDM using a first communication protocol to transmitting VDM using a second communication protocol that is different than the first communication protocol. The first communication protocol may be a communication protocol in accordance with one of an IEEE 802.1S.I standard and a 3G cellular phone communication standard and the second communication protocol may be a communication protocol in accordance with the other of those two standards. Other examples of the first and second communication protocols arc also possible.
[00108] Next, block S10 includes transmitting, over the communication link (e.g., the communication link 1 16) from the first device (e.g., the VID 1 14) to the second device (e.g., the VDR 1 18) according to the first VDTM, at least a portion of the vehicle data messages received while the first device is operating in the first VDTM. Upon receiving the at least a portion of the vehicle data messages, the VDR 118 may display the received portion and transmit an acknowledgment to the VID 1 14 to confirm that the portion was received at the VDR 118.
[00109] As indicated above, other methods may be carried out using one or more of the functions of the set 500 plus one or more other functions. Examples of at least some of the one or more other functions arc now described.
[00110] Another example function includes determining, by the processor 202, a second change in the data transfer rate for transmitting vehicle data messages over the network from the first device to the second device.
|001U| Another example function includes determining, by the processor 202, a second VDTM based on the second change in the data transfer rate and the one or more requests for the vehicle data messages. In accordance with this and the following example, the first VDTM may be any of the example VDTM described herein or some other VDTM and the second VDTM may be any other of the example VDTM described herein or some other VDTM.
[00112] Another example function includes switching, by the first device (e.g., the VID 114), from operating in the first VDTM to the second VDTM. The first device may transmit to the second device (e.g.y the VDR 118) an indication the first device switched from operating in the first VDTM to the second VDTM.
[00113] Another example function includes transmitting, over the network from the first device to the second device according to the second VDTM, at least a portion of the vehicle data messages, received while the first device is operating in the second VDTM.
[00114] Another example function includes determining a difference between a prior data value and another data value of a most-rcccntly received vehicle data message including the particular data identifier and determining whether to transmit the other data value to the transceiver of the VDR 1 18 based on whether the difference exceeds the threshold that is associated with the particular data identifier.
IV. EXAMPLE COMPUTER-READABLE MEDIUM
[00115] As indicated above, the computer-readable medium 204 includes CRPI 222. Accordingly, a computer-readable medium may store program instructions, that when executed by a computing device (e.g., the processor 202), cause a set of functions to be performed. For purposes of this description, the program instructions that perform this set of functions to be performed when executed by the computing device is referred to herein as "the set of example CRPI."
[00116] As an example, functions performed by execution of the set of example CRPI by the processor 202 may include: (i) receiving, at a first device (e.g., the VID 1 14), multiple instances of vehicle data messages, wherein each VDM includes a data identifier and a data value, (it) determining, by the processor 202 of the first device, a first trigger for transmitting VDM over a communication link from the first device to a second device (e.g., the VDR 1 18), (iii) determining, by the processor, a first VDTM to cause a change in a data transfer rate of the VDM and one or more requests for the VDM, (iv) switching, by the first device, from operating in a prior VDTM to the first VDTM, and (v) transmitting, over the communication link from the first device to the second device according to the first VDTM, at least a portion of the VDM received while the first device is operating in the first VDTM. |00U7] As another example, the set of example CRPI may include all or any proper subset of the functions (i), (ii), (iii), (iv), and (v) listed in the previous paragraph and at least one other function of any of the functions described herein as being performed by the VID 1 14, the VID 200, or any component of the VID 200.
[00118] A person having ordinary skill in the art will understand that the functions of the set 500 may be repeated, for example, in response to receiving additional VDM. When repeating functions, such as the function at block 508, the prior VDTM may be the first VDTM mat was switched to in block 508 prior to repeating the function of block 508.
V. CONCLUSION
[00119] Embodiments of the present disclosure may thus relate to one of the enumerated example embodiment (EEEs) listed below.
[00120] EEE I is a method comprising: receiving, at a first device, multiple instances of vehicle data messages, wherein each vehicle data message includes a data identifier and a data value; detecting, by a processor of the first device, a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over a communication link from the first device to a second device; determining, by the processor, a first VDTM based on the first trigger and one or more requests for the vehicle data messages; switching, by the first device, from operating in a prior VDTM to the first VDTM; and transmitting, over the communication link from the first device to the second device according to the first VDTM, at least a portion of the vehicle data messages received while the first device is operating in the first VDTM.
[00121] EEE 2 is the method of EEE 1, further comprising: detecting, by the processor, a second trigger to change a VDTM for transmitting vehicle data messages over the communication link from the first device to the second device; determining, by the processor, a second VDTM based on the second trigger and the one or more requests for the vehicle data messages; switching, by the first device, from operating in the first VDTM to the second VDTM; and transmitting, over the communication link from the first device to the second device according to the second VDTM, at least a portion of the vehicle data messages, received while the first device is operating in the second VDTM.
[00122] EEE 3 is the method of EEE I or 2, wherein one of the first VDTM and the second VDTM uses a decreased data transfer rate and the other includes an increased data transfer rate, wherein the decreased data transfer rate results in the first device determining at least some data values of a first set of presently-received vehicle data messages are not to be transmitted from the first device to the second device, and wherein the increased data transfer rate results in the first device determining that all data values of a second set of presently- received vehicle data messages arc to be transmitted from the first device to the second device.
[00123] EEE 4 is the method of any one of EEEs I or 2, wherein determining the first trigger includes determining the first device is receiving vehicle data messages at a rate that exceeds a rate at which the first device is transmitting vehicle data messages to the second device.
[00124] EEE 5 is the method of any one of EEEs I or 2, wherein determining the first trigger includes determining that the first device is transmitting vehicle data messages to the second device at a rate that exceeds a threshold data transfer rate.
[00125] EEE 6 is the method of any one of EEEs 1-5, wherein switching from operating in the prior VDTM to the first VDTM includes switching from transmitting vehicle data messages using a first communication protocol to transmitting vehicle data messages using a second communication protocol that is different than the first communication protocol.
[00126] EEE 7 is the method of any one of EEEs 1-6, wherein detecting the first trigger to change the VDTM includes receiving, by the first device, a manual mode selection entered at the first device or at the second device.
[00127] EEE 8 is the method of any one of EEEs 1-7, wherein detecting the first trigger to change the VDTM includes receiving, by the first device from the second device, data indicating whether a user is looking at a display of the second device.
[00128] EEE 9 is the method of any one of EEEs 1-8, wherein detecting the first trigger to change the VDTM includes determining, by the first device, a change in speed of a vehicle that provides the vehicle data messages to the first device.
[00129] EEE 10 is the method of any one of EEEs 1-9, wherein determining the first VDTM includes determining that a vehicle data message including a first data identifier, that is received while the first device is operating in the first VDTM, will be transmitted from the first device to the second device if a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM and a data value of a vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value.
[00130] EEE 1 1 is the method of any one of EEEs I- 10, wherein operating in the prior VDTM includes transmitting, over the communication link from the first device to the second device, a vehicle data message including a first data identifier that is received while the first device is operating in the prior VDTM only if a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the prior VDTM and a data value of another vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value, and wherein operating in the first VDTM includes transmitting, over the communication link from the first device to the second device, a vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM regardless of whether or not a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM and a data value of another vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value.
[00131] EEE 12 is the method of any one of EEEs 1-1 1, further comprising: transmitting, over the communication link from the first device to the second device, an indication the first device switched from operating in the prior VDTM to the first VDTM.
[00132] EEE 13 is the method of any one of EEEs 1-12, wherein the one or more requests for the vehicle data messages include one or more requests, for vehicle data messages, transmitted from the first device to a vehicle that provides the multiple instances of vehicle data messages received by the first device.
[00133] EEE 14 is the method of any one of EEEs 1-13, wherein the one or more requests for the vehicle data messages include one or more requests, for vehicle data messages, received by the first device from the second device.
[00134] EEE IS is the method of any one of EEEs 1-14, wherein the data identifiers of the multiple instances of vehicle data messages include a plurality of different data identifiers, and wherein determining the first VDTM is further based on a priority associated with each data identifier of the plurality of data identifiers.
[00135] EEE 16 is the method of EEE 15, further comprising: storing, by a computer- readable medium of the first device for each of the plurality of different data identifiers, the data value of the vehicle data message including the different data identifier that was most recently transmitted from the first device to the second device.
[00136] EEE 17 is the method of any one of EEEs 1-16, wherein the first device comprises a vehicle interface device, and wherein the second device comprises a vehicle data receptor including or connected to a display device. [00137] EEE 18 is the method of any one of EEEs 1-17, wherein switching from operating in the prior VDTM to the first VDTM includes changing a time interval between occurrences of the processor requesting, from a vehicle, a vehicle data message including a particular data identifier, wherein changing the time interval includes increasing the time interval if the difference between (i) the data value of a most-rcccntly received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (i) the data value of an carlicr-rcccivcd vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, and wherein changing the time interval includes decreasing the time interval if the difference between (i) the data value of the most-rcccntly received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, is greater than the difference between (i) the data value of the earlier-received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier.
[00138] EEE 19 is a system comprising: a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value; a first transceiver configured to establish a communication link with a second transceiver; a processor; and a computer-readable medium containing computer-readable program instructions that are executable by the processor to perform a set of functions, wherein the set of functions includes: detecting a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over the communication link, determining a first VDTM based on the first trigger and one or more requests for the vehicle data messages, switching operation of the system from a prior VDTM to the first VDTM, and transmitting, from the first transceiver, at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM.
[00139] EEE 20 is the system of EEE 19, further comprising: a vehicle data message (VDM) transceiver connected to the service data link connector, wherein the VDM transceiver is configured to transmit a request for a VDM to the vehicle via the service data link connector.
[00140] EEE 21 is the system of EEE 19 or 20, wherein the service data link connector includes a connector configured to connect to a vehicle data link connector in the vehicle, and wherein the service data link connector is configured to establish at least one of a wired connection to a vehicle via the vehicle data link connector and a wireless connection to the vehicle via the vehicle data link connector.
[00141] EEE 22 is the system of any one of EEEs 19-21 , further comprising: at least one of
[1] a battery, and (ii) a power interface connected to the service data link connector, wherein the at least one of the battery and the power interface provides an electric current to operate the processor and first transceiver.
[00142] EEE 23 is the system of any one of EEEs 19-22, wherein switching operation of the system from the prior VDTM to the first VDTM includes changing a time interval between occurrences of the system requesting, from the vehicle, a vehicle data message including a particular data identifier, wherein changing the time interval includes increasing the time interval if the difference between (i) the data value of a most-rcccntly received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (i) the data value of an earlier-received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, and wherein changing the time interval includes decreasing the time interval if the difference between (i) the data value of the most-rcccntly received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, is greater than the difference between (i) the data value of the earlier-received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier.
[00143] EEE 24 is the system of any one of EEEs 19-23, wherein the computer-readable medium contains a threshold associated with a particular data identifier receivable in vehicle data messages from the vehicle, wherein the computer-readable medium contains a prior data value associated with the particular data identifier most-rcccntly transmitted from the first transceiver to the second transceiver, and wherein the set of functions further includes: determining a difference between the prior data value and another data value of a most- rcccntly received vehicle data message including the particular data identifier, and determining whether to transmit the other data value to the second transceiver based on whether the difference exceeds the threshold.
[00144] EEE 25 is the system of any one of EEEs 19-24, wherein the first transceiver docs not transmit at least some date values of the vehicle data messages received from the vehicle while me system operates in the first VDTM. [00145] EEE 26 is the system of any one of EEEs 19-25, wherein detecting the first trigger includes at least one of (i) receiving a manual mode selection entered at user interface of the system or from the second transceiver, (ii) receiving data indicating whether a user is looking at a display associated with the second transceiver, and (iii) determining a change in a speed of the vehicle.
[00146] EEE 27 is the system of any one of EEEs 19-26, wherein the first data transceiver comprises a first wireless transceiver, and wherein the second data transceiver comprises a second wireless transceiver.
[00147] EEE 28 is a system comprising: a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value; a first transceiver configured to establish a communication link with a second transceiver; and a processor that is connected to the service data link connector and to the first transceiver, and is programmed to: (i) detect a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over the communication link, (ii) determine a first VDTM based on the first trigger and one or more requests for the vehicle data messages, (iii) switch operation of the system from a prior VDTM to the first VDTM, and (iv) provide the first transceiver with at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM for transmission to the second transceiver.
[00148] Example embodiments have been described above. Those skilled in the art will understand that changes and modifications may be made to the described embodiments without departing from the true scope and spirit of the present invention, which is defined by the claims.

Claims

CLAIMS Wc claim:
1. A method comprising:
receiving, at a first device, multiple instances of vehicle data messages, wherein each vehicle data message includes a data identifier and a data value;
detecting, by a processor of the first device, a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over a communication link from the first device to a second device;
determining, by the processor, a first VDTM based on the first trigger and one or more requests for the vehicle data messages;
switching, by the first device, from operating in a prior VDTM to the first VDTM; and
transmitting, over the communication link from the first device to the second device according to the first VDTM, at least a portion of the vehicle data messages received while the first device is operating in the first VDTM.
2. The method of claim 1 , further comprising:
detecting, by the processor, a second trigger to change a VDTM for transmitting vehicle data messages over the communication link from the first device to the second device;
determining, by the processor, a second VDTM based on the second trigger and the one or more requests for the vehicle data messages;
switching, by the first device, from operating in the first VDTM to the second VDTM; and
transmitting, over the communication link from the first device to the second device according to the second VDTM, at least a portion of the vehicle data messages, received while the first device is operating in the second VDTM.
3. The method of claim 1 ,
wherein one of the first VDTM and the second VDTM uses a decreased data transfer rate and the other includes an increased data transfer rate,
wherein the decreased data transfer rate results in the first device determining at least some data values of a first set of presently-received vehicle data messages arc not to be transmitted from the first device to the second device, and wherein the increased data transfer rate results in the first device determining that all data values of a second set of presently-received vehicle data messages arc to be transmitted from the first device to the second device.
4. The method of claim 1, wherein determining the first trigger includes determining the first device is receiving vehicle data messages at a rate that exceeds a rate at which the first device is transmitting vehicle data messages to the second device.
5. The method of claim 1, wherein determining the first trigger includes determining that the first device is transmitting vehicle data messages to the second device at a rate that exceeds a threshold data transfer rate.
6. The method of claim I , wherein switching from operating in the prior VDTM to the first VDTM includes switching from transmitting vehicle data messages using a first communication protocol to transmitting vehicle data messages using a second communication protocol that is different than the first communication protocol.
7. The method of claim 1, wherein detecting the first trigger to change the VDTM includes receiving, by the first device, a manual mode selection entered at the first device or at the second device.
8. The method of claim 1, wherein detecting the first trigger to change the VDTM includes receiving, by the first device from the second device, data indicating whether a user is looking at a display of the second device.
9. The method of claim 1, wherein detecting the first trigger to change the VDTM includes determining, by the first device, a change in speed of a vehicle that provides the vehicle data messages to the first device.
10. The method of claim I, wherein determining the first VDTM includes determining that a vehicle data message including a first data identifier, that is received while the first device is operating in the first VDTM, will be transmitted from the first device to the second device if a difference between the data value of the vehicle data message including the first data identifier that is received white the first device is operating in the first VDTM and a data value of a vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value.
1 1. The method of claim I ,
wherein operating in the prior VDTM includes transmitting, over the communication link from the first device to the second device, a vehicle data message including a first data identifier that is received while the first device is operating in the prior VDTM only if a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the prior VDTM and a data value of another vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value, and
wherein operating in the first VDTM includes transmitting, over the communication link from the first device to the second device, a vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM regardless of whether or not a difference between the data value of the vehicle data message including the first data identifier that is received while the first device is operating in the first VDTM and a data value of another vehicle data message including the first data identifier that was most recently transmitted from the first device to the second device exceeds a threshold value.
12. The method of claim I , further comprising:
transmitting, over the communication link from the first device to the second device, an indication the first device switched from operating in the prior VDTM to the first VDTM.
13. The method of claim I, wherein the one or more requests for the vehicle data messages include one or more requests, for vehicle data messages, transmitted from the first device to a vehicle that provides the multiple instances of vehicle data messages received by the first device.
14. The method of claim I, wherein the one or more requests for the vehicle data messages include one or more requests, for vehicle data messages, received by the first device from the second device.
15. The method of claim 1, wherein the data identifiers of the multiple instances of vehicle data messages include a plurality of different data identifiers, and
wherein determining the first VDTM is further based on a priority associated with each data identifier of the plurality of data identifiers.
16. The method of claim 15, further comprising:
storing, by a computer-readable medium of the first device for each of the plurality of different data identifiers, the data value of the vehicle data message including the different data identifier that was most recently transmitted from the first device to the second device.
17. The method of claim I ,
wherein the first device comprises a vehicle interface device, and
wherein the second device comprises a vehicle data receptor including or connected to a display device.
18. The method of claim 1,
wherein switching from operating in the prior VDTM to the first VDTM includes changing a time interval between occurrences of the processor requesting, from a vehicle, a vehicle data message including a particular data identifier,
wherein changing the time interval includes increasing the time interval if the difference between (i) the data value of a most-recently received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (i) the data value of an earlier-received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, and
wherein changing the time interval includes decreasing the time interval if the difference between (i) the data value of the most-rcccntly received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, is greater than the difference between (i) the data value of the carlicr-rcccivcd vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier.
19. A system comprising:
a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value;
a first transceiver configured to establish a communication link with a second transceiver;
a processor, and
a computer-readable medium containing computer-readable program instructions that arc executable by the processor to perform a set of functions,
wherein the set of functions includes:
detecting a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over the communication link,
determining a first VDTM based on the first trigger and one or more requests for the vehicle data messages,
switching operation of the system from a prior VDTM to the first VDTM, and transmitting, from the first transceiver, at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM.
20. The system of claim 19, further comprising:
a vehicle data message (VDM) transceiver connected to the service data link connector,
wherein the VDM transceiver is configured to transmit a request for a VDM to the vehicle via the service data link connector.
21. The system of claim 19,
wherein the service data link connector includes a connector configured to connect to a vehicle data link connector in the vehicle, and
wherein the service data link connector is configured to establish at least one of a wired connection to a vehicle via the vehicle data link connector and a wireless connection to the vehicle via the vehicle data link connector.
22. The system of claim 19, further comprising:
at least one of (i) a battery, and (ii) a power interface connected to the service data link connector, wherein the at least one of the battery and the power interface provides an electric current to operate the processor and first transceiver.
23. The system of claim 19,
wherein switching operation of the system from the prior VDTM to the first VDTM includes changing a time interval between occurrences of the system requesting, from the vehicle, a vehicle data message including a particular data identifier,
wherein changing the time interval includes increasing the time interval if the difference between (i) the data value of a most-rcccntly received vehicle data message including the particular data identifier and (ii) a threshold associated with the vehicle data message including the particular data identifier, is less than the difference between (i) the data value of an earlier-received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, and
wherein changing the time interval includes decreasing the time interval if the difference between (i) the data value of the most-rcccntly received vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier, is greater than the difference between (i) the data value of the carlicr-rcccivcd vehicle data message including the particular data identifier and (ii) the threshold associated with the vehicle data message including the particular data identifier.
24. The system of claim 19,
wherein the computer-readable medium contains a threshold associated with a particular data identifier receivable in vehicle data messages from the vehicle,
wherein the computer-readable medium contains a prior data value associated with the particular data identifier most-rcccntly transmitted from the first transceiver to the second transceiver, and
wherein the set of functions further includes:
determining a difference between the prior data value and another data value of a most-rcccntly received vehicle data message including the particular data identifier, and
determining whether to transmit the other data value to the second transceiver based on whether the difference exceeds the threshold.
25. The system of claim 19, wherein the first transceiver docs not transmit at least some date values of the vehicle data messages received from the vehicle while the system operates in the first VDTM.
26. The system of claim 19, wherein detecting the first trigger includes at least one of (i) receiving a manual mode selection entered at user interface of the system or from the second transceiver, (ii) receiving data indicating whether a user is looking at a display associated with the second transceiver, and (iii) determining a change in a speed of the vehicle.
27. The system of claim 19,
wherein the first data transceiver comprises a first wireless transceiver, and wherein the second data transceiver comprises a second wireless transceiver.
28. A system comprising:
a service data link connector configured to establish a connection with a vehicle that transmits vehicle data messages, wherein each vehicle data message includes a data identifier and a data value;
a first transceiver configured to establish a communication link with a second transceiver; and
a processor that is connected to the service data link connector and to the first transceiver, and is programmed to:
(i) detect a first trigger to change a vehicle data transmission mode (VDTM) for transmitting vehicle data messages over the communication link,
(ii) determine a first VDTM based on the first trigger and one or more requests for the vehicle data messages,
(iii) switch operation of the system from a prior VDTM to the first VDTM, and
(iv) provide the first transceiver with at least a portion of the vehicle data messages received from the vehicle while the system operates in the first VDTM for transmission to the second transceiver.
PCT/US2016/061228 2015-11-11 2016-11-10 Methods and systems for switching vehicle data transmission modes based on detecting a trigger and a request for a vehicle data message Ceased WO2017083457A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/938,638 2015-11-11
US14/938,638 US10516768B2 (en) 2015-11-11 2015-11-11 Methods and systems for switching vehicle data transmission modes based on detecting a trigger and a request for a vehicle data message

Publications (2)

Publication Number Publication Date
WO2017083457A2 true WO2017083457A2 (en) 2017-05-18
WO2017083457A3 WO2017083457A3 (en) 2017-07-20

Family

ID=57389563

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/061228 Ceased WO2017083457A2 (en) 2015-11-11 2016-11-10 Methods and systems for switching vehicle data transmission modes based on detecting a trigger and a request for a vehicle data message

Country Status (2)

Country Link
US (1) US10516768B2 (en)
WO (1) WO2017083457A2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6701747B2 (en) * 2016-01-18 2020-05-27 セイコーエプソン株式会社 Display device and display device control method
JP7094670B2 (en) * 2017-07-03 2022-07-04 矢崎総業株式会社 Setting device and computer
US11411823B2 (en) * 2019-09-20 2022-08-09 Sonatus, Inc. System, method, and apparatus to support mixed network communications on a vehicle
JP7176543B2 (en) * 2020-02-18 2022-11-22 株式会社デンソー Abnormality diagnosis system, abnormality diagnosis method and computer program
US12051285B2 (en) 2021-12-21 2024-07-30 Snap-On Incorporated Method and system for testing matched components of vehicle
US20230252824A1 (en) * 2022-02-09 2023-08-10 Snap-On Incorporated Method and system for servicing a vehicle using a test set
US12391263B2 (en) * 2022-06-21 2025-08-19 Rivian Ip Holdings, Llc Vehicle diagnostic information communications

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020007237A1 (en) 2000-06-14 2002-01-17 Phung Tam A. Method and system for the diagnosis of vehicles
US7376497B2 (en) 2001-09-21 2008-05-20 Innova Electronics Corporation Use of automotive diagnostics console to diagnose vehicle
US7020546B2 (en) 2002-11-07 2006-03-28 Snap-On Incorporated Vehicle data stream pause on data trigger value
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US20060030981A1 (en) 2004-07-22 2006-02-09 Snap-On Incorporated Automated analysis of vehicle diagnostic data stream to identify anomaly
KR100679858B1 (en) 2004-11-25 2007-02-07 한국전자통신연구원 Message delivery device based on dynamic priority, priority control device and dynamic priority message processing method using the same
US20070038352A1 (en) * 2005-08-15 2007-02-15 Larschan Bradley R Driver activity and vehicle operation logging and reporting
US7953530B1 (en) 2006-06-08 2011-05-31 Pederson Neal R Vehicle diagnostic tool
US8630765B2 (en) 2006-11-17 2014-01-14 Innova Electronics, Inc. OBD II-compliant diagnostic PC tablet and method of use
US7363129B1 (en) 2007-01-05 2008-04-22 Moon Valley Software Apparatus, system and method that interfaces with an automobile engine control unit
US20090259358A1 (en) 2008-04-14 2009-10-15 Innova Electronics Corp Automotive DTC live data diagnostics
US10486720B2 (en) * 2008-08-04 2019-11-26 Ge Global Sourcing Llc Vehicle communication systems and control systems
US20110035094A1 (en) 2009-08-04 2011-02-10 Telecordia Technologies Inc. System and method for automatic fault detection of a machine
US8463953B2 (en) 2010-08-18 2013-06-11 Snap-On Incorporated System and method for integrating devices for servicing a device-under-service
US9117321B2 (en) 2010-08-18 2015-08-25 Snap-On Incorporated Method and apparatus to use remote and local control modes to acquire and visually present data
US8656062B2 (en) 2010-08-18 2014-02-18 Snap-On Incorporated System and method for wireless pairing via wired connection
US8560168B2 (en) 2010-08-18 2013-10-15 Snap-On Incorporated System and method for extending communication range and reducing power consumption of vehicle diagnostic equipment
US9633492B2 (en) 2010-08-18 2017-04-25 Snap-On Incorporated System and method for a vehicle scanner to automatically execute a test suite from a storage card
US20120046825A1 (en) 2010-08-18 2012-02-23 Snap-On Incorporated System and Method for Universal Scanner Module to Buffer and Bulk Send Vehicle Data Responsive to Network Conditions
US20120046807A1 (en) 2010-08-18 2012-02-23 Snap-On Incorporated System and Method for Preventing Theft of Vehicle Diagnostic Equipment
US8754779B2 (en) 2010-08-18 2014-06-17 Snap-On Incorporated System and method for displaying input data on a remote display device
KR101573483B1 (en) 2010-10-13 2015-12-02 한국전자통신연구원 Apparatus and method for providing vehicle information
US20120215491A1 (en) 2011-02-21 2012-08-23 Snap-On Incorporated Diagnostic Baselining
US8731627B2 (en) 2011-04-04 2014-05-20 General Motors Llc Method of using a smart phone as a telematics device interface
EP2521319B1 (en) * 2011-05-02 2015-10-14 Robert Bosch GmbH Controller area network with flexible data-rate
US8849497B2 (en) 2012-03-01 2014-09-30 GM Global Technology Operations LLC Vehicle health prognosis
US20130246135A1 (en) 2012-03-14 2013-09-19 Zhenrong Wang System, device and method of remote vehicle diagnostics based service for vehicle owners
US9002554B2 (en) 2012-05-09 2015-04-07 Innova Electronics, Inc. Smart phone app-based remote vehicle diagnostic system and method
WO2013184832A2 (en) 2012-06-07 2013-12-12 Zoll Medical Corporation Systems and methods for video capture, user feedback, reporting, adaptive parameters, and remote data access in vehicle safety monitoring
US9208623B2 (en) 2012-07-09 2015-12-08 Digi International Inc. Vehicle bus access point system and method
US8750832B2 (en) 2012-07-30 2014-06-10 GM Global Technology Operations LLC Connecting a personal mobile device to a vehicle communication unit
US9471528B2 (en) 2012-11-02 2016-10-18 Nxp B.V. Controller area network (CAN) transceiver and method for operating a CAN transceiver
JP5900390B2 (en) * 2013-01-31 2016-04-06 株式会社オートネットワーク技術研究所 Access restriction device, in-vehicle communication system, and communication restriction method
CN105027248B (en) * 2013-03-05 2016-08-24 三菱电机株式会社 Vacuum valve
US20150112542A1 (en) * 2013-10-23 2015-04-23 Xrs Corporation Transportation event recorder for vehicle
CA2868573C (en) 2013-10-24 2017-09-12 Alldata Llc Vehicle diagnostic systems and methods
US9342934B2 (en) 2014-09-30 2016-05-17 Innova Electronics, Inc. Vehicle specific reset device and method
US9755851B2 (en) * 2015-08-12 2017-09-05 GM Global Technology Operations LLC Method and apparatus for plug-in wireless safety devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Also Published As

Publication number Publication date
US20170134537A1 (en) 2017-05-11
WO2017083457A3 (en) 2017-07-20
US10516768B2 (en) 2019-12-24

Similar Documents

Publication Publication Date Title
US10516768B2 (en) Methods and systems for switching vehicle data transmission modes based on detecting a trigger and a request for a vehicle data message
US9558598B2 (en) Providing communications between a vehicle control device and a user device via a head unit
US8560165B2 (en) Co-operative on-board and off-board component and system diagnosis and prognosis
US8935440B2 (en) System and method for integrating devices for servicing a device-under-service
US10825268B2 (en) Method and system for displaying and using PID graph indicators
US9117321B2 (en) Method and apparatus to use remote and local control modes to acquire and visually present data
AU2022420475B2 (en) Method and system for testing matched components of vehicle
KR102041846B1 (en) A terminal and a method of collecting CAN date of vehicle using a OBD-Ⅱ
US11070763B2 (en) Method and system for displaying images captured by a computing device including a visible light camera and a thermal camera
US20120046825A1 (en) System and Method for Universal Scanner Module to Buffer and Bulk Send Vehicle Data Responsive to Network Conditions
US9451028B2 (en) Communication profile selection for vehicle telematics device
US9869721B2 (en) System and method for inspecting assembled condition of alternator
CN114415646B (en) Remote vehicle diagnosis method, system and terminal equipment based on DoIP protocol
US20210264383A1 (en) Method and system of providing cloud-based vehicle history session
US20200007797A1 (en) Method and system for displaying images captured by a computing device including a visible light camera and a thermal camera
US20170309085A1 (en) Providing vehicle information to a telematics device via an expansion device
US20180357838A1 (en) Cloud-based connectivity energy budget manager
US20250118118A1 (en) Method and system for configuring user interface with PID facet selectors
CN114821855B (en) Vehicle emission data monitoring method and device, terminal equipment and medium
US20260127054A1 (en) Method, system, and computer-readable memory to diagnose a vehicle problem
CN108829569B (en) Remaining oil quantity data acquisition method and device based on monitoring mode
WO2025159845A1 (en) Method and system for configuring vehicle service tool with categorized descriptors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16798911

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16798911

Country of ref document: EP

Kind code of ref document: A2