Patent Description:
Document <CIT> describes a vehicle computing system enabling one or more processors to establish a communication connection with at least one of a plurality of handheld computing devices within a vehicle while enabling and determining infotainment control based on the location of the handheld device in the vehicle. The system may determine if the at least one of a plurality of handheld computing devices is a non-driver handheld computing device based on the detected location, therefore enabling infotainment control from the non-driver handheld computing device based on the detected location, enabling infotainment control from the non-driver handheld computing device. The system may determine that the at least one of a plurality of handheld computing devices is a driver handheld computing device based on the detected location, therefore limiting infotainment control from the driver handheld device.

Document <CIT> discloses a connection compatibility method, which comprises: connecting a mobile device to a first in-vehicle connectivity port; receiving at a compatibility check unit, via the first connectivity port, identification information for the mobile device; determining, based on the identification information, whether the first connectivity port meets a connection requirement for the mobile device; and outputting it it is determined that the first connectivity port does not meet the connection requirement, a notification that the mobile device has been connected to a non-compliant connectivity port.

Document <CIT> describes a system for a vehice that includes a controller configures to, responsive to detecting mobile device connector terminals being joined to corresponding terminals of an electrical port of the vehicle, close a relay electrically in series with the port to charge the device via the port, open the relay to inhibit charging responsice to a device battery charge level received via a Bluetooth Low Energy (BLE) connection with the device being greater than a first threshold, and close the relay to reactivate charging responsive to a subsequent charge level received via the BLE connection being less than a second threshold, wherein the second threshold is less than a first threshold.

In general, the present application describes techniques for detecting the proximity of a mobile computing device (e.g., smartphone) to, e.g., a vehicle, and for further determining whether the mobile computing device has established a charge-only connection, via an electrical cable, with the vehicle (e.g., with the vehicle computing system of the vehicle). A charge-only connection may, in various cases, only enable electrical charging or discharging of the mobile computing device (e.g., by way of transferring electrical energy or power via a cable).

The invention is set out in the appended independent claims, while additional aspects of the invention are according to the dependent claims. In such fashion, the techniques disclosed herein may enable more accurate and reliable determination as to when an established connection between the mobile computing device and the vehicle is a charge-only connection, rather than a data connection with the vehicle computing system.

<FIG> is a conceptual diagram illustrating a side view of an interior of a vehicle in which an example mobile computing device <NUM> is configured to detect a charge-only connection with an example vehicle computing system <NUM>, in accordance with one or more aspects of the present disclosure. The vehicle illustrated in <FIG> may be an automobile, but aspects of the present disclosure may also be applicable to other types of vehicles, including trucks, motorcycles, aircraft, watercraft, trains, or other vehicles. In <FIG>, a user <NUM> may normally occupy seat <NUM>. In other cases, user <NUM> may occupy any other seat of the vehicle. Seat <NUM> of the automobile may be positioned directly behind steering wheel <NUM> of the vehicle such that an occupant of seat <NUM> may physically control steering wheel <NUM>. The seat <NUM> may be positioned within the vehicle illustrated in <FIG> under roof <NUM>. Steering wheel <NUM> may protrude from dashboard <NUM>. At least one front passenger seat may be laterally positioned adjacent to seat <NUM>. Other passenger seats may be positioned behind seat <NUM> or in front of seat <NUM>.

Also shown in <FIG> is a collection of devices, components, and modules that may each be included in vehicle computing system <NUM>. As noted above, modern vehicles are equipped with a vehicle computing system <NUM>, such as an infotainment head unit (IHU) having a display device (e.g., presence-sensitive display device) <NUM>. Vehicle computing system <NUM> is configured to execute an operating system and one or more applications, and enables user <NUM> to have a rich, personalized experience while driving, such as by listening to preferred music, browsing emails, or picking favored and/or frequent destinations, to name only a few examples. However, in various cases, in order to obtain such functionality via vehicle computing system <NUM>, user <NUM> may often wish to use mobile computing device <NUM> to establish a data connection with vehicle computing system <NUM> (e.g., for transferring application data that may be displayed at display device <NUM>). In these cases, vehicle computing system <NUM> may not have any cellular connectivity or access to certain data that is stored or otherwise provided by mobile computing device <NUM>. Mobile computing device <NUM> may have cellular connectivity, and may be configured to provide various different forms of data (e.g., data received wirelessly from external servers, data associated with one or more applications) to vehicle computing system <NUM> via one or more data connections (e.g., for display of such data), such as one or more wired or wireless data connections that enable data communication with vehicle computing system <NUM>. However, as will be described in further detail below, if user <NUM> attaches an electrical cable <NUM> to both mobile computing device <NUM> and vehicle computing system <NUM> in an effort to establish a data connection for such purposes, mobile computing device <NUM> is configured to determine if the established connection is a charge-only connection that does not permit any data transfer between mobile computing device <NUM> and vehicle computing system <NUM>. A charge-only connection may, in various cases, only enable electrical charging or discharging of mobile computing device <NUM> (e.g., by way of transferring electrical energy or power via cable <NUM>). In these cases, mobile computing device <NUM> may output (e.g., at display device <NUM>) a message suggesting that user <NUM> use a different cable (e.g., one that supports data communication), or connect cable <NUM> to a different port of vehicle computing system <NUM>. In many cases, a vehicle computing system such as vehicle computing system <NUM> may provide various ports, all of which may enable electrical charging or discharging of mobile computing device <NUM>. However, only one or more of these ports may support data communication.

Vehicle computing system <NUM> may include, but is not limited to, display device <NUM> and control unit <NUM>. One or more components of vehicle computing system <NUM> may be directly and physically accessible to occupants seated in the front driver and front passenger seats of the automobile, and may be located within, near, or on a center console of the vehicle. Such components may be within easy reach of such occupants, and may also or alternatively be positioned in another passenger area of the vehicle, such as a back seat. In some examples, a component may be within easy reach if a vehicle occupant does not need to change positions in his or her seat in order to reach the component with an outstretched arm. Stated another way, for many drivers, for example, the usual positions of the steering wheel, stick shift, and center console may be considered within easy reach of the driver.

In some examples, one or more components of vehicle computing system <NUM> that might not necessarily require physical access by occupants of the vehicle (such as, in some examples, display device <NUM> and control unit <NUM>), may be positioned in or on or integrated into dashboard <NUM>. Such components may be integrated as part of an automobile dashboard and/or console facing or near the occupants of the vehicle. As further described in this disclosure, vehicle computing system <NUM> may include display <NUM> that may output a graphical user interface. In various examples, in-vehicle cameras may be mounted or otherwise connected to one or more portions or components of the vehicle shown in <FIG>.

Seated on seat <NUM> is user <NUM>. User <NUM> may be a driver, but user <NUM> could also be a passenger or other vehicle occupant. Although in <FIG> user <NUM> is shown in a position that may often be considered a front seat (characterized, e.g., by steering wheel <NUM> and dashboard <NUM>), user <NUM> may be seated in another location within the vehicle, including a back seat.

In the example of <FIG>, user <NUM> may navigate or operate the vehicle, may interact with one or more components of the vehicle, and/or may provide input at display device <NUM>, which, in some cases, may comprise a presence-sensitive display device. User <NUM> may also interact with separate devices, such as one or more mobile computing devices. In <FIG>, user <NUM> is shown interacting with mobile computing device <NUM>.

As noted above, in some cases, display device <NUM> of vehicle computing system <NUM> may comprise a presence-sensitive display device that may detect one or more taps, gestures, and/or other user inputs at locations of display device <NUM>. Such taps, gestures, or other inputs may be from one or more fingers of user <NUM>, or may be from a stylus or other device used by user <NUM>. In response to detecting input at display device <NUM>, one or more application modules of vehicle computing system <NUM> may determine an operation corresponding to the input and/or perform an operation. In some examples, and in response to the information about the input, these application modules of vehicle computing system <NUM> may output, to display device <NUM>, information about the input, the operation, or an operation to be performed.

As described and illustrated, some or all of vehicle computing system <NUM> may be housed within dashboard <NUM>, which may in some examples be constructed of plastic, vinyl, rubber, aluminum, steel, or any other suitable material. Control unit <NUM> may include at least one processor and/or at least one storage device, and may be housed within housing <NUM>, which may also be constructed of plastic, vinyl, rubber, aluminum, steel, or any other suitable material. In some examples, housing <NUM> may also be a rigid case that encloses and otherwise protects one or more electrical components that provide functionality for vehicle computing system <NUM>. In some examples, housing <NUM> may be affixed, mounted or otherwise integrated with the automobile dashboard or console.

Control unit <NUM> may provide an operating environment or platform for one or one more modules, such as a combination of hardware, firmware, and software. For instance, control unit <NUM> may include one or more processors and storage devices that may execute instructions and store data of one or more modules. Control unit <NUM> may also be operably coupled to one or more other software and/or hardware components, including display device <NUM> to control, configure, and/or communicate information with the components, to name only a few example operations.

Display device <NUM> may function as an output device using any one or more of a liquid crystal display (LCD), dot matrix display, light emitting diode (LED) display, organic light-emitting diode (OLED) display, e-ink, or similar monochrome or color display capable of outputting visible information to a user or vehicle occupant. In some examples, display device <NUM> may also function as an input device, so that it serves as both an input and output device. In such examples, display device <NUM> may include an integrated presence-sensitive input device and a display device. For instance, display device <NUM> may function as a presence-sensitive input device using a presence-sensitive screen, such as a resistive touchscreen, a surface acoustic wave touchscreen, a capacitive touchscreen, a projective capacitance touchscreen, a pressure-sensitive screen, an acoustic pulse recognition touchscreen, or another presence-sensitive screen technology. Based on user input, display device <NUM> may present output to user <NUM>. For instance, display device <NUM> may present various user interfaces of applications (e.g., a navigation application) executing at vehicle computing system <NUM>. An occupant of the vehicle, such as user <NUM>, may provide user input to interact with one or more of such applications.

In some examples, vehicle computing system <NUM> may be controlled through input detected by display device <NUM> and/or one or more additional input devices (e.g., microphones, physical buttons or switches, or other types of input devices). When communicatively coupled to mobile computing device <NUM> (e.g., via one or more wireless and/or wired connections), vehicle computing system <NUM> may also exchange data with mobile computing device <NUM>, and may, in some cases, be controlled based on input received from mobile computing device <NUM>.

In some cases, the vehicle shown in <FIG> may include one or more cameras that are attached to one or more components of the vehicle. These cameras may be one or more of any appropriate type of image acquisition or capture device, such as a camera or charge-coupled device. In some examples, in-vehicle cameras be one or more infrared cameras with a high field-of-view and shallow depth of focus, and may be a backlit infrared camera oriented to point generally upward within the vehicle, having a particular field-of-view. In other examples, in-vehicle cameras may be or may further include one or more other types of cameras or image sensors, which may include one or more other infrared cameras, thermographic cameras, thermal imaging cameras, light-sensitive cameras, range sensors, tomography devices, radar devices, red-green-blue (RGB) cameras, or ultrasonic cameras. In some examples, in-vehicle cameras may be any image capture device appropriate for application of computer vision techniques. Depending on the type of sensors or cameras used, the resulting image may include two-dimensional images, three-dimensional volumes, or an image sequence. Pixel values typically correspond to light intensity in one or more spectral bands, but might also be related to various physical measures, such as depth, absorption or reflectance of sonic or electromagnetic waves, or nuclear magnetic resonance. In-vehicle cameras may be configured to capture movements of an occupant of the vehicle, such as user <NUM>, as the occupant moves an arm, wrist, hand, stylus, and/or fingers as he or she gestures in, for example, a field-of-view.

Vehicle computing system <NUM> may operate to assist, inform, entertain, or perform other tasks that require user interactions with occupants of a vehicle. As noted above, vehicle computing system <NUM> may, in some examples, be referred to as an infotainment head unit (IHU), an infotainment system, or a subcomponent thereof. For example, vehicle computing system <NUM> may execute one or more applications <NUM> that perform functions or process information, on behalf of one or more occupants of the vehicle.

Vehicle computing system <NUM> may include a user interface (UI) module <NUM>. UI module <NUM> and applications <NUM> may perform operations described herein using software, hardware, firmware, or a mixture of both hardware, software, and firmware residing in and executing by vehicle computing system <NUM> or at one or more other remote computing devices. As such, UI module <NUM> and applications <NUM> may be implemented as hardware, software, and/or a combination of hardware and software. Vehicle computing system <NUM> may execute UI module <NUM>, applications <NUM>, or one or more other modules as or within a virtual machine executing on underlying hardware. UI module <NUM> and applications <NUM> may be implemented in various ways. For example, UI module <NUM> and applications <NUM> may be implemented as a downloadable or pre-installed application or "app. " In another example, UI module <NUM> and applications <NUM> may be implemented as part of an operating system of vehicle computing system <NUM>.

UI module <NUM> of vehicle computing system <NUM> may receive from display device <NUM> (e.g., when display device comprises a presence-sensitive device) one or more indications of user input detected at display device <NUM>. Generally, each time display device detects user input at a particular location, UI module <NUM> may receive an indication of user input or information about the user input. UI module <NUM> may assemble the information received from display device <NUM> into a set of one or more events, such as a sequence of one or more touch events or gesture events. UI module <NUM> may determine one or more characteristics of the user input based on the sequence of gesture events and include information about these one or more characteristics within each gesture event in the sequence of gesture events. UI module <NUM> may transmit indications of user input from display device <NUM> to other modules, such as applications <NUM>. UI module <NUM> may determine one or more single- or multi-touch gestures provided by a user. UI module <NUM> may also receive data from one or more applications <NUM> and cause display device <NUM> to output content, such as a graphical user interface, for display.

Applications <NUM> may include functionality to perform any variety of operations on vehicle computing system <NUM>. For instance, applications <NUM> may include a navigation application, a weather application, a phone dialer application, an information retrieval application, a multimedia application, a vehicle information application, an email application, a text messaging application, an instant messaging application, a social networking application, a weather application, a stock market application, an emergency alert application, and/or a sports application, to name only a few examples. In general, vehicle computing system <NUM>, whether through applications <NUM> or otherwise, may be configured to perform operations including those relating to climate control systems (e.g., heating and air conditioning), audio or infotainment systems, seat, window, sunshade, or windshield wipers, cruise control, in-cabin display system, steering wheel controls, headrest, arm rest, side or rear view mirrors, collision sensors. Such operations may be controlled by one or more applications <NUM>, or may be controlled by other systems within the vehicle. In some examples, such operations may be limited to non-safety features of the vehicle. In other examples, such operations may encompass one or more features of the vehicle that may be considered safety-related (e.g., turning on a turn-signal, adjusting a mirror, adjusting or fastening/disconnecting a seat belt, adjusting cruise control features, accelerating, braking).

Although shown as operable within control unit <NUM> of vehicle computing system <NUM>, one or more of applications <NUM> may be operable by a remote computing device (e.g., mobile computing device <NUM>) that is communicatively coupled to vehicle computing system <NUM>, such as via one or more wired and/or wireless connections. In such examples, an application module executing at a remote computing device may cause the remote computing device to send the content and intent information using any suitable form of data communication (e.g., wired or wireless network, short-range wireless communication such as Near Field Communication or BLUETOOTH, etc.). In some examples, a remote computing device may be a computing device that is separate from a computing device included in vehicle computing system <NUM>. For instance, the remote computing device may be operatively coupled to vehicle computing system <NUM> by a network. An example of a remote computing device may include, but is not limited to a server, smartphone, tablet computing device, smart watch, a laptop, or a desktop computer. As shown in <FIG>, one such example remote device is mobile computing device <NUM>, which may include a presence-sensitive display device <NUM> and one or more communication units <NUM>, and which may execute one or more applications <NUM> and a port manager <NUM>. Examples of mobile computing device <NUM> may include, but are not limited to, a mobile phone, a tablet computer, a personal digital assistant (PDA), a laptop computer, a portable gaming device, a portable media player, an e-book reader, a wearable device (e.g., a watch, a wrist-mounted computing device, a head-mounted computing device), or other type of mobile computing device. For instance, <FIG> illustrates another example of such a remote computing device <NUM>, which is a wearable device worn by user <NUM>.

Mobile computing device <NUM> may be or include one or more processors, and may use communication units <NUM> (e.g., communication units <NUM> shown and described in reference to <FIG>) to identify short-range wireless communication signals that are provided by or otherwise associated with vehicle computing system <NUM>. Communication units <NUM> may, in various cases, establish one or more wired and/or wireless connections to vehicle computing system <NUM>. Vehicle computing system <NUM> may similarly include one or more communication units <NUM>. Vehicle computing system <NUM> may use communication units <NUM> to communicate with communication units <NUM> mobile computing device <NUM> using one or more wired protocols (e.g., Universal Serial Bus protocol) and/or wireless protocols (e.g., BLUETOOTH, WIFI, or BLUETOOTH Low Energy (BLE) protocols). When mobile computing device <NUM> is paired and otherwise connected to vehicle computing system <NUM>, vehicle computing system <NUM> and mobile computing device <NUM> may exchange unique identifiers. For example, in some cases, upon identifying short-range wireless communication signals associated and/or establishing a short-range wireless connection with communication units <NUM> of vehicle computing system <NUM>, communication units <NUM> of mobile computing device <NUM> may receive a unique identifier of vehicle computing system <NUM> from communication units <NUM> of vehicle computing system <NUM>. Mobile computing device <NUM> may store and later compare this identifier to identify and/or authenticate vehicle computing system <NUM> at a later point in time at which mobile computing device <NUM> identifies further wireless signals from and/or establishes another connection to vehicle computing system <NUM>.

As described above, mobile computing device <NUM> includes presence-sensitive display device <NUM> and communication units <NUM>. Mobile computing device <NUM> also includes one or more applications <NUM> and a port manager <NUM>, which are executable by one or more processors (not shown in <FIG>) of mobile computing device <NUM>. Further details of one example of mobile computing device <NUM> are shown in <FIG>.

Similar to applications <NUM> of vehicle computing system <NUM>, applications <NUM> of mobile computing device <NUM> may include functionality to perform any variety of operations on mobile computing device <NUM>. For instance, applications <NUM> may include a navigation application, a weather application, a phone dialer application, an information retrieval application, a multimedia application, a vehicle information application, an email application, a text messaging application, an instant messaging application, a social networking application, a weather application, a stock market application, an emergency alert application, and/or a sports application, to name only a few examples. Port manager <NUM> may be another application executed by mobile computing device <NUM>.

As described earlier, the present application describes techniques for detecting the presence of mobile computing device <NUM> (e.g., smartphone) within a vehicle, such as the vehicle indicated in <FIG>, and for further determining whether mobile computing device <NUM> has established a charge-only connection, via electrical cable <NUM>, with vehicle computing system <NUM> of the vehicle. As noted above, a charge-only connection may, in various cases, only enable electrical charging or discharging of mobile computing device <NUM> (e.g., by way of transferring electrical energy or power via cable <NUM>). For example, once user <NUM> has entered the vehicle, the user's mobile computing device <NUM> may use its communication units <NUM> determine that mobile computing device is located within or in proximity to the vehicle based on a short-range wireless connection that communication units <NUM> establishes with one or more communication units <NUM> of vehicle computing system <NUM>.

In many cases, user <NUM> may also wish to connect mobile computing device <NUM> with vehicle computing system <NUM>, via electrical cable <NUM>, in order for mobile computing device <NUM> to establish a data connection with vehicle computing system <NUM>. If user <NUM> attaches electrical cable <NUM> from a port <NUM> (e.g., Universal Serial Bus, or USB) port of mobile computing device <NUM> to a port <NUM> of vehicle computing system <NUM>, port manager <NUM> of mobile computing device <NUM> may be configured to monitor the status of port <NUM>, and/or connections with port <NUM>, to determine if mobile computing device <NUM> has established a charge-only connection, rather than a full data connection, with vehicle computing system <NUM>. In this case, port manager <NUM> may output an error or control message, and may also output (e.g., at presence-sensitive display device <NUM> and/or <NUM>) a recommendation that user <NUM> use a different type of cable or attach current cable <NUM> into a different port of vehicle computing system <NUM>. Port <NUM> may be part of or communicatively coupled to communication units <NUM> of mobile computing device <NUM>, and port <NUM> may be part of or communicatively coupled to communication units <NUM> of vehicle computing system <NUM>. As shown in the example of <FIG>, port <NUM> may be attached to dashboard <NUM> and/or display device <NUM> in some cases. In some cases, mobile computing device <NUM> may output error messages, notifications, and/or recommendations to vehicle computing system <NUM> (e.g., via one or more wireless connections between communication units <NUM> of mobile computing device <NUM> and communication units <NUM> of vehicle computing system <NUM>). In these cases, vehicle computing system <NUM> may output received information for display at display device <NUM>.

Accordingly, in one or more examples, and as described in further detail below, mobile computing device <NUM> may identify (e.g., using communication units <NUM> and/or a wireless connection module, such as wireless connection module <NUM> shown in <FIG>) one or more short-range wireless communication signals associated with communication units <NUM> of vehicle computing system <NUM>. Mobile computing device <NUM> may determine (e.g., using wireless connection module <NUM>), based on the short-range wireless communication signals, that mobile computing device <NUM> is proximate to vehicle computing system <NUM>. As described in further detail below, in various cases, mobile computing device <NUM> may determine that mobile computing device <NUM> is proximate to and/or inside the vehicle, based on identifying and/or authenticating vehicle computing system <NUM>, after establishing a short-range wireless connection, such as, e.g., by confirming that vehicle computing system <NUM> sends a unique identifier of vehicle computing system <NUM> to mobile computing device <NUM>, via the short-range wireless connection, which is the same identifier that was previously stored by mobile computing device <NUM> from a previously established connection (e.g., previously established wireless or wired connection) with vehicle computing system <NUM>.

Responsive to determining that mobile computing device <NUM> is proximate to vehicle computing system <NUM>, port manager <NUM> of mobile computing device <NUM> may identify an electrical connection between mobile computing device <NUM> and the vehicle (e.g., with vehicle computing system <NUM>), where the electrical connection is provided by electrical cable <NUM> that connects port <NUM> of mobile computing device <NUM> to port <NUM> of the vehicle. In the example of <FIG>, port <NUM> is part of or otherwise communicatively coupled to vehicle computing system <NUM>. However, in certain cases, port <NUM> may not be part of vehicle computing system <NUM>, but may comprise an electrical component that is attached to another portion of the vehicle, and which is configured to provide the electrical connection via electrical cable <NUM>. In some cases, ports <NUM> and <NUM> may comprise USB ports, and electrical cable <NUM> may comprise a USB cable.

Port manager <NUM> may determine that the electrical connection is a charge-only connection that enables an electrical charging or discharging of mobile computing device <NUM> (e.g., by the vehicle or vehicle computing system <NUM>), but that prohibits any data transfer between mobile computing device <NUM> and vehicle computing system <NUM>. The charge-only connection may, in various cases, only enable electrical charging or discharging of mobile computing device <NUM> (e.g., by way of transferring electrical energy or power via cable <NUM>). Port manager <NUM> and/or another application or module of mobile computing device <NUM> may output a notification (e.g., for display at presence-sensitive display device <NUM> of mobile computing device <NUM> and/or at display device <NUM> of vehicle computing system <NUM> via the short-range wireless connection), which is indicative of the charge-only connection. For example, the notification may alert user <NUM> of the error condition, and may provide a suggestion for user <NUM> (e.g., such as shown in <FIG>) to either use a different cable or to attach electrical cable <NUM> to a different port of vehicle computing system <NUM>. In such fashion, the techniques disclosed herein may enable more accurate and reliable determination as to when an established connection between mobile computing device <NUM> and vehicle computing system <NUM> is a charge-only connection, as opposed to a data connection that communicates data according to one or more protocols (e.g., USB protocol). The disclosed techniques may also help improve telemetry for connections (e.g., USB connections) and improve the user experience associated with any connectivity issues, including issues with charge-only cables and/or charge-only ports being used with vehicle computing system <NUM>, and/or any issues associated with potential defects in or malfunctions of data cables or ports that fail to provide data connections.

In certain other examples, mobile computing device <NUM> may be able to detect a charge-only connection, rather than a full data connection, with devices other than vehicles such as the one illustrated in <FIG>. For instance, in some cases, mobile computing device <NUM> may be able to detect a charge-only connection, such as described herein, with one or more devices in a peer-to-peer communications network, where mobile computing device <NUM> comprises one of the peer devices or nodes, and wherein another peer device or node in the network is communicatively coupled to mobile computing device <NUM> via one or more wired or wireless connections (e.g., via cable <NUM>).

<FIG> is a conceptual diagram illustrating a front view of an interior of a vehicle in which an example mobile computing device <NUM> is configured to detect a charge-only connection with an example vehicle computing system <NUM>, in accordance with one or more aspects of the present disclosure. The vehicle indicated in <FIG> may be one example of the vehicle indicated in <FIG>, where mobile computing device <NUM> is one example of mobile computing device <NUM>, and where vehicle computing system <NUM> is one example of vehicle computing system <NUM>. <FIG> illustrates a more complete view of the interior of such a vehicle in which mobile computing device <NUM> may be used.

Vehicle computing system <NUM> includes, among other things, a presence-sensitive display device <NUM>, a first port <NUM> (e.g., first USB port), and a second port <NUM> (e.g., second USB port). Mobile computing device <NUM> includes a port <NUM> (e.g., USB port). Similar to the description above in reference to <FIG>, mobile computing device <NUM> may identify short-range wireless communication signals associated with vehicle computing system <NUM>. Mobile computing device <NUM> may determine, based on the short-range wireless communication signals, that mobile computing device <NUM> is proximate to vehicle computing system <NUM>.

Responsive to determining that mobile computing device <NUM> is proximate to vehicle computing system <NUM>, mobile computing device <NUM> may identify an electrical connection between mobile computing device <NUM> and vehicle computing system <NUM>, where the electrical connection is provided by electrical cable <NUM> that connects port <NUM> of mobile computing device <NUM> to first port <NUM> of vehicle computing system <NUM>. Mobile computing device <NUM> may then determine that the electrical connection is a charge-only connection that enables an electrical charging or discharging of mobile computing device <NUM> by vehicle computing system <NUM>, but that prohibits any data transfer between mobile computing device <NUM> and vehicle computing system <NUM>. Mobile computing device <NUM> may then output a notification (e.g., for display at mobile computing device <NUM> and/or at presence-sensitive display device <NUM>) indicative of the charge-only connection, such as an error notification, and/or a notification suggestion that a user either use a different cable or to attach electrical cable <NUM> to a different port of vehicle computing system <NUM> (e.g., to second port <NUM> of vehicle computing system). In many cases, a vehicle computing system such as vehicle computing system <NUM> may provide various ports (e.g., ports <NUM>, <NUM>), all of which may enable electrical charging or discharging of mobile computing device <NUM> via cable <NUM>. However, only one or more of these ports <NUM>, <NUM> may support data communication.

As one non-limiting example, cable <NUM> may comprise a USB cable, and each of ports <NUM>, <NUM> and <NUM> may comprise USB ports. In certain cases, a data USB cable, which is capable of supporting data transfer between endpoints includes four lines: a power supply line, a ground line, and two data communication lines (e.g., positive and negative voltage data lines). Similarly, in these cases, a data USB port has connectors for the power supply line, the ground line, and the two data communication lines. (In other cases, a data USB cable and/or port may have more than four lines or connectors. ) A charge-only USB cable, however, typically only includes the power supply and ground lines, and a charge-only USB port has connectors only for the power supply and ground lines. Mobile computing device <NUM> may be configured to determine that the electrical connection is a charge-only connection by determining that the electrical connection supports or provides only the power supply and ground lines, to enable electrical charging or discharging of mobile computing device <NUM>, but that the electrical connection does not support or provide the two additional data communication lines. As a result, the charge-only connection prohibits any data transfer between mobile computing device <NUM> and vehicle computing system <NUM>. In other examples, cable <NUM> may comprise another form of cable (e.g., Ethernet cable), and ports <NUM>, <NUM>, and <NUM> may comprise other forms of ports (e.g., Ethernet ports).

<FIG> is a block diagram illustrating an example mobile computing device <NUM> that is configured to detect a charge-only connecting with a vehicle computing system, in accordance with one or more aspects of the present disclosure. Mobile computing device <NUM> may, in some cases, be a more detailed example of mobile computing device <NUM> of <FIG> and/or mobile computing device <NUM> of <FIG>. In some cases, mobile computing device <NUM> may be an example of wearable device <NUM> shown in <FIG>. <FIG> illustrates only one particular example of mobile computing device <NUM>, and many other examples of mobile computing device <NUM> may be used in other instances and may include a subset of the components or additional components not shown in <FIG>.

As shown in the example of <FIG>, mobile computing device <NUM> includes presence-sensitive display device <NUM>, one or more processors <NUM>, one or more input components <NUM>, one or more output components <NUM>, one or more communication units <NUM>, one or more ports <NUM>, and one or more storage devices <NUM>. In some examples, ports <NUM> may be part of, included in, or otherwise coupled to communication units <NUM>. Communication channels <NUM> may interconnect each of the components <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and/or <NUM> for inter-component communications (physically, communicatively, and/or operatively). In some examples, communication channels <NUM> may include a system bus, a network connection, one or more inter-process communication data structures, or any other components for communicating data (also referred to as information).

One or more communication units <NUM> of mobile computing device <NUM> may communicate with external devices by transmitting and/or receiving data. For example, mobile computing device <NUM> may use one or more of communication units <NUM> to transmit and/or receive radio signals on a radio network such as a cellular radio network. In some examples, communication units <NUM> may transmit and/or receive satellite signals on a satellite network such as a Global Positioning System (GPS) network. Examples of communication units <NUM> include a network interface card (e.g. such as an Ethernet card), an optical transceiver, an interface controller (e.g., USB controller), a radio frequency transceiver, a GPS receiver, or any other type of device that can send and/or receive information. Other examples of communication units <NUM> may include short wave radios (e.g., NFC, BLUETOOTH (including BLE)), GPS, <NUM>, <NUM>, <NUM>, and WIFI radios found in mobile devices). Communication units <NUM> may enable wired and/or wireless communication with mobile computing device <NUM>, including short-range wireless communication (e.g., BLUETOOTH). Mobile computing device <NUM> also includes one or more ports <NUM> (e.g., one or more USB ports), which may be one example of port <NUM> shown in <FIG>. Ports <NUM> may be part of, included in, or otherwise coupled to communication units <NUM>.

One or more input components <NUM> of mobile computing device <NUM> may receive input. Examples of input are tactile, audio, kinetic, and optical input, to name only a few examples. Input components <NUM> of mobile computing device <NUM> include, in one example, a mouse, keyboard, voice responsive system, video camera, buttons, control pad, microphone or any other type of device for detecting input from a human or machine. In some examples, input component <NUM> may be a presence-sensitive input component, which may include a presence-sensitive screen, touch-sensitive screen, etc..

One or more output components <NUM> of mobile computing device <NUM> may generate output. Examples of output are tactile, audio, and video output. Output components <NUM> of mobile computing device <NUM>, in some examples, include a presence-sensitive screen, sound card, video graphics adapter card, speaker, cathode ray tube (CRT) monitor, liquid crystal display (LCD), or any other type of device for generating output to a human or machine. Output components may include display components such as cathode ray tube (CRT) monitor, liquid crystal display (LCD), Light-Emitting Diode (LED) or any other type of device for generating tactile, audio, and/or visual output.

In some examples, presence-sensitive display device <NUM> of mobile computing device <NUM> may include functionality of input components <NUM> and/or output components <NUM>. In the example of <FIG>, presence-sensitive display device <NUM> may include a presence-sensitive input component <NUM>, such as a presence-sensitive screen or touch-sensitive screen. In some examples, presence-sensitive input component <NUM> may detect an object at and/or near the presence-sensitive input component. As one example range, presence-sensitive input component <NUM> may detect an object, such as a finger or stylus that is within two inches or less of presence-sensitive input component <NUM>. Presence-sensitive input component <NUM> may determine a location (e.g., an (x,y) coordinate) of the presence-sensitive input component at which the object was detected. In another example range, presence-sensitive input component <NUM> may detect an object two inches or less from presence-sensitive input component <NUM> and other ranges are also possible. Presence-sensitive input component <NUM> may determine the location of presence-sensitive input component <NUM> selected by a user's finger using capacitive, inductive, and/or optical recognition techniques.

In some examples, presence-sensitive display device <NUM> may also provide output to a user using tactile, audio, or video stimuli as described with respect to output components <NUM>. For instance, presence-sensitive display device <NUM> may include display component <NUM> that displays a graphical user interface. Display component <NUM> may be any type of output component that provides visual output, such as described with respect to output components <NUM>. While illustrated as an integrated component of mobile computing device <NUM>, presence-sensitive display device <NUM> may, in some examples, be an external component that shares a data or information path with other components of mobile computing device <NUM> for transmitting and/or receiving input and output. For instance, presence-sensitive display device <NUM> may be a built-in component of mobile computing device <NUM> located within and physically connected to the external packaging of mobile computing device <NUM> (e.g., a screen on a mobile phone). In another example, presence-sensitive display device <NUM> may be an external component of mobile computing device <NUM> located outside and physically separated from the packaging of mobile computing device <NUM> (e.g., a monitor, a projector, etc. that shares a wired and/or wireless data path with a tablet computer). In some examples, presence-sensitive display device <NUM>, when located outside of and physically separated from the packaging of mobile computing device <NUM>, may be implemented by two separate components: a presence-sensitive input component <NUM> for receiving input and a display component <NUM> for providing output.

One or more storage devices <NUM> within mobile computing device <NUM> may store information for processing during operation of mobile computing device <NUM>. In some examples, storage devices <NUM> include a temporary memory, meaning that a primary purpose of storage devices <NUM> is not long-term storage. Storage devices <NUM> on mobile computing device <NUM> may be configured for short-term storage of information as volatile memory and therefore not retain stored contents if powered off. Examples of volatile memories include random access memories (RAM), dynamic random-access memories (DRAM), static random-access memories (SRAM), and other forms of volatile memories known in the art.

Storage devices <NUM>, in some examples, also include one or more computer-readable storage media. Storage devices <NUM> in some examples include one or more non-transitory computer-readable storage mediums. Storage devices <NUM> may be configured to store larger amounts of information than typically stored by volatile memory. Storage devices <NUM> may further be configured for long-term storage of information as non-volatile memory space and retain information after power on/off cycles. Examples of non-volatile memories include magnetic hard discs, optical discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.

One or more processors <NUM> may implement functionality and/or execute instructions associated with mobile computing device <NUM>. Examples of processors <NUM> include application processors, display controllers, auxiliary processors, one or more sensor hubs, and any other hardware configure to function as a processor, a processing unit, or a processing device.

In certain examples, where mobile computing device <NUM> comprises an example of mobile computing device <NUM> (<FIG>) and/or <NUM> (<FIG>), processors <NUM> of mobile computing device <NUM> may retrieve and execute instructions stored by storage devices <NUM> that cause processors <NUM> to perform any of the operations described herein. The instructions, when executed by processors <NUM>, may cause mobile computing device <NUM> to store information within storage devices <NUM>, including, as appropriate, within data stores <NUM> and/or <NUM>.

As shown in <FIG>, storage devices <NUM> may store instructions and/or data associated with various different components. For example, as illustrated in <FIG>, storage devices <NUM> may store a port manager <NUM> (e.g., one example of port manager <NUM> shown in <FIG>), a port monitor <NUM>, a notification module <NUM>, one or more applications <NUM> (e.g., an example of applications <NUM>), and a wireless connection module <NUM>. In certain examples, any one or more of port manager <NUM>, port monitor <NUM>, notification module <NUM>, applications <NUM>, and/or wireless connection module <NUM> may be included and/or executed as standalone, integrated, or operating system units. Storage devices <NUM> also store a port information data store ("port information <NUM>") and a wireless connection information data store ("wireless connection information <NUM>").

As described in further detail in reference to <FIG>, port monitor <NUM> and wireless connection module <NUM> may be configured to monitor for various conditions or general status indications during operation of mobile computing device <NUM>. For example, port monitor <NUM> may be configured to monitor for power conditions, port status conditions, and/or connection conditions that are associated with mobile computing device <NUM>, including port <NUM>, and may generate corresponding events for processing by port manager <NUM>, as indicated in the example of <FIG>. Port monitor <NUM> may store any such monitored information in port information <NUM>, which may be associated with port <NUM>.

Wireless connection module <NUM> may be configured to monitor and/or control wireless connection events and/or operations for mobile computing device <NUM>. Wireless connection module <NUM> may, in various cases, establish one or more wireless connections with one or more external devices or system. Wireless connection module <NUM> may store any information associated these connections, including previously established connections, within wireless connection information <NUM>. For example, wireless connection module <NUM> may store the unique identifiers of any external devices or systems with which it has established a wireless connection, as well as any other information associated with these connections (e.g., connection identifiers, protocol identifiers, port identifiers, connection passwords or keys, timestamps, pairing information, and the like). In certain alternate examples, port monitor <NUM> and/or port manager <NUM> may store similar types of information in port information <NUM> based on previously established wired connections between ports <NUM> and the vehicle computing system.

In one example, as described previously, mobile computing device <NUM> may use wireless connection module <NUM> to identify short-range wireless communication signals associated with a vehicle computing system of a vehicle, and may establish a short-range wireless connection with the vehicle computing system, such as vehicle computing system <NUM> (<FIG>) and/or <NUM> (<FIG>). Wireless connection module <NUM> may receive connection information from the vehicle computing system, including a unique identifier (e.g., BLUETOOTH identifier) of the vehicle computing system. Wireless connection module <NUM> may determine, based on the short-range wireless communication signals and/or established connection, that mobile computing device <NUM> is proximate to the vehicle computing system (e.g., that mobile computing device <NUM> is located or present inside the vehicle associated with the vehicle computing system, such as the vehicle of <FIG> or <FIG>). In various examples, wireless connection module <NUM> may output data, control messages, error codes, notifications, or other information to the vehicle computing system using the established short-range wireless connection upon determining the presence of a charge-only connection, as described herein. The vehicle computing system may then output any received information for display to a user of the vehicle.

Wireless connection module <NUM> may, in various examples, authenticate the vehicle computing system based on the unique identifier it receives from the vehicle computing system and/or other information associated with the connection. Wireless connection module <NUM> may determine that mobile computing device <NUM> is inside the vehicle occurs responsive to authenticating the vehicle computing system. For instance, wireless connection module <NUM> may have previously established a wireless connection with the same vehicle computing system at an earlier point in time (e.g., when an owner of mobile computing device <NUM> previously used the vehicle), and wireless connection module <NUM> may have stored the unique identifier of the vehicle computing system in wireless connection information <NUM>. (In alternate examples, port monitor <NUM> and/or port manager <NUM> may have previously used ports <NUM> to establish one or more wired connections with the vehicle computing system, and may have stored a unique identifier of the vehicle computing system in port information <NUM>. ) Wireless connection module <NUM> may store any other information associated with the previously established connection in wireless connection information <NUM> (e.g., connection identifiers, protocol identifiers, port identifiers, connection passwords or keys, timestamps, pairing information, and the like).

When wireless connection module <NUM> establishes a new or current wireless connection with the vehicle computing system, and receives the identifier from vehicle computing system, it may compare the received identifier with the previously stored unique identifier of the vehicle computing system, which may be stored in wireless connection information <NUM> and/or port information <NUM>. Upon determining a match, wireless connection module <NUM> may be able to authenticate the vehicle computing system. In some cases, wireless connection module <NUM> may perform authentication based upon one or more factors, such as confirming the unique identifier of the vehicle computing system, confirming a successful pairing of devices, confirming connection passwords or keys, confirming wireless network or connection names/identifiers, and the like.

After wireless connection module <NUM> determines that mobile computing device <NUM> is inside or otherwise proximate to the vehicle, port manager <NUM> may identify an electrical connection between mobile computing device <NUM> and the vehicle computing system. For example, as shown in <FIG>, port manager <NUM> includes a connection detector <NUM> that is configured to identify such an electrical connection. This electrical connection may be provided by an electrical cable (e.g., cable <NUM> of <FIG> and/or cable <NUM> of <FIG>), which connects port <NUM> of mobile computing device <NUM> to a port (e.g., port <NUM> of <FIG>, port <NUM> of <FIG>) of the vehicle computing system. In some cases, prior to identifying the electrical connection, but responsive to determining that mobile computing device <NUM> is proximate to the vehicle computing system (e.g., inside the vehicle), port manager <NUM> and/or notification module <NUM> may output, for display at presence-sensitive display device <NUM>, an instructional message for a user (see, e.g., <FIG>) to attach an electrical cable from port <NUM> of mobile computing device <NUM> to the port of the vehicle computing system.

In various cases, connection detector <NUM> may identify such an electrical connection based upon events that are generated and provided to connection detector <NUM> by port monitor <NUM>. As noted above, port monitor <NUM> may be configured to monitor for various conditions or general status indications during operation of mobile computing device <NUM>. For example, port monitor <NUM> may be configured to monitor for power conditions, port status conditions, and/or connection conditions that are associated with mobile computing device <NUM>, including port <NUM>, and may generate corresponding events or signals for processing by port manager <NUM>. Port monitor <NUM> may, for instance, generate a power event or signal indicating that mobile computing device <NUM> is receiving power and/or being electrically charged via port <NUM>. Port monitor <NUM> may also generate a port status event or signal indicating that port <NUM> is connected to an external system. Upon receiving one or more of these events or signals from port monitor <NUM>, connection detector <NUM> may identify the presence of an electrical connection between mobile computing device <NUM> and an external system. Connection detector <NUM> may determine that the electrical connection exists (e.g., via an electrical cable) between port <NUM> and a port of the vehicle computing system recently identified and authenticated by wireless connection module <NUM>, as described above.

Port manager <NUM> also includes a charge-only detector <NUM>. After connection detector <NUM> identifies the electrical connection, charge-only detector <NUM> may be configured to determine that the electrical connection is a charge-only connection. A charge-only connection is one that enables an electrical charging or discharging of mobile computing device <NUM> (e.g., by way of transferring electrical energy or power via a cable), but that prohibits any data transfer between mobile computing device <NUM> and the vehicle computing system. For example, similar to the description provided in reference to <FIG>, mobile computing device <NUM> may be configured to determine that the electrical connection is a charge-only connection by determining that the electrical connection supports or provides only the power supply and ground lines to mobile computing device <NUM> via port <NUM>, to enable electrical charging or discharging of mobile computing device <NUM>, but that the electrical connection does not support or provide the two additional data communication lines. As a result, the charge-only connection prohibits any data transfer between mobile computing device <NUM> and the vehicle computing system.

Connection detector <NUM> and/or charge-only detector <NUM> may store any connection and/or detection information within port information <NUM>, which may be associated with port <NUM>. In identifying the charge-only connection, charge-only detector <NUM> may determine that the electrical cable connected to port <NUM> is a charge-only cable and/or that the port of the vehicle computing system, which is communicatively coupled to port <NUM> via the cable, is a charge-only port. According to the invention, as further described in reference to <FIG> below, charge-only detector <NUM> periodically monitors (e.g., every <NUM> milliseconds) a state of port <NUM> and any connections with port <NUM>, where the state is associated with the electrical connection provided by the electrical cable that is connected to port <NUM>. In these cases, charge-only detector <NUM> may determine, based on the monitored state of the connection and/or of port <NUM>, that no data can be transmitted to or received from the vehicle computing system via the electrical connection.

Charge-only detector <NUM> and/or notification module <NUM> may also be configured to output a notification indicative of the charge-only connection. For example, notification module <NUM> may output the notification for display at presence-sensitive display device <NUM> (see, e.g., <FIG>). In some cases, notification module <NUM> may also use wireless connection module <NUM> to output the notification to the vehicle computing system via the established short-range wireless connection. In these cases, the vehicle computing system may also display the notification (e.g., at display device <NUM>), which is indicative of the charge-only connection.

In various examples, such as illustrated in <FIG>, notification module <NUM> may output the notification as an error message that indicates the charge-only connection. In certain cases, notification module <NUM> may also output a message to suggest at least one of (i) plugging the electrical cable into a different port of the vehicle computing system, or (ii) using a different electrical cable in connecting port <NUM> of mobile computing device <NUM> to the port of the vehicle computing system.

In various cases, one or more ports <NUM> may include a Universal Serial Bus (USB) port. In these cases, the USB port of ports <NUM> is connected, via a USB cable, to a USB port of the vehicle computing system (e.g., port <NUM> in <FIG>, port <NUM> or <NUM> in <FIG>). However, in certain instances, one or more of the USB cable and/or the USB port of the vehicle computing system may provide or support a charge-only connection.

<FIG> is a block diagram illustrating example interactions between various modules that are executable by a mobile computing device, such as mobile computing device <NUM> (<FIG>), <NUM> (<FIG>), and/or <NUM> (<FIG>), in accordance with one or more aspects of the present disclosure. For purposes of illustration only, <FIG> will be described in reference to mobile computing device <NUM> of <FIG>.

<FIG> includes a port monitor <NUM> (e.g., one example of port monitor <NUM>), wireless connection module <NUM> (e.g., one example of wireless connection module <NUM>), port manager <NUM> (e.g., one example of port manager <NUM>), and notification module <NUM> (e.g., one example of notification module <NUM>). As outlined earlier in reference to <FIG>, port monitor <NUM> and wireless connection module <NUM> may be configured to monitor for various conditions or general status indications during operation of mobile computing device <NUM>. For example, port monitor <NUM> may be configured to monitor for power conditions, port status conditions, and/or connection conditions that are associated with mobile computing device <NUM>, including port <NUM>, and may generate corresponding events for processing by port manager <NUM>. For instance, port monitor <NUM> may generate one or more power events (e.g., an event when power is connected for electrical charging or discharging of port <NUM>, an event when power is disconnected) associated with monitored conditions for port <NUM>, and may provide these events (e.g., via a push or pull model) to port manager <NUM> for further processing, as indicated in <FIG>. Port monitor <NUM> may generate one or more port status events associated with a low-level port status of port <NUM>, and/or may generate higher-level connection state events that are associated with a current status of any connections to port <NUM> (e.g., connections from port <NUM> with a vehicle computing system). Port monitor <NUM> may also provide these events to port manager <NUM> for further processing. For example, the higher-level connection state events may indicate whether or not a connection with port <NUM> exists and/or whether the connection is configured for data transfer according to one or more protocols (e.g., data transfer via a USB protocol). Port monitor <NUM> is therefore configured to monitor for power conditions, port status conditions, and/or connection conditions that are associated with port <NUM>, and to generate corresponding events for processing by port manager <NUM>. Port manager <NUM> uses its connection detector <NUM> and charge-only detector <NUM> to process such telemetry information associated with port <NUM> and any connections associated with port <NUM>.

Wireless connection module <NUM> may be configured to monitor and/or control wireless connection events and/or operations for mobile computing device <NUM>. Wireless connection module <NUM> may, in various cases, establish one or more wireless connections with one or more external devices or system. Wireless connection module <NUM> may store the unique identifiers of any external devices or systems with which it has established a wireless connection, as well as any other information associated with these connections (e.g., connection identifiers, protocol identifiers, port identifiers, connection passwords or keys, timestamps, pairing information, and the like). In certain alternate examples, port monitor <NUM> and/or port manager <NUM> may store similar types of information (e.g., in port information <NUM>) based on previously established wired connections between, e.g., ports <NUM> and the vehicle computing system.

In one example, mobile computing device <NUM> may use wireless connection module <NUM> to establish a short-range wireless connection with a vehicle computing system of a vehicle, such as vehicle computing system <NUM> (<FIG>) and/or <NUM> (<FIG>). Wireless connection module <NUM> may receive connection information from the vehicle computing system, including a unique identifier (e.g., BLUETOOTH identifier) of the vehicle computing system. Wireless connection module <NUM> may determine, based on the short-range wireless connection, that mobile computing device <NUM> is proximate to (e.g., inside of) the vehicle associated with the vehicle computing system, such as the vehicle of <FIG> or <FIG>.

Wireless connection module <NUM> may, in various examples, authenticate the vehicle computing system based on the unique identifier it receives from the vehicle computing system and/or other information associated with the connection. Wireless connection module <NUM> may determine that mobile computing device <NUM> is inside the vehicle occurs responsive to authenticating the vehicle computing system. For instance, wireless connection module <NUM> may have previously established a wireless connection with the same vehicle computing system at an earlier point in time (e.g., when an owner of mobile computing device <NUM> previously used the vehicle), and wireless connection module <NUM> may have stored the unique identifier of the vehicle computing system, as well as other information associated with the previously established connection (e.g., connection identifiers, protocol identifiers, port identifiers, connection passwords or keys, timestamps, pairing information, and the like). When wireless connection module <NUM> establishes a new or current wireless connection with the vehicle computing system, and receives the identifier from vehicle computing system, it may compare the received identifier with the unique identifier of the vehicle computing system that it previously received. Upon determining a match, wireless connection module <NUM> may be able to authenticate the vehicle computing system. In some cases, wireless connection module <NUM> may perform authentication based upon one or more factors, such as confirming the unique identifier of the vehicle computing system, confirming a successful pairing of devices, confirming connection passwords or keys, confirming network and/or connections identifiers, and the like.

Upon wireless connection module <NUM> determining that mobile computing device <NUM> has established a short-range wireless connection with a vehicle computing system and/or that it is located inside the vehicle, wireless connection module <NUM> may generate one or more corresponding wireless connection events that may be provided to port manager <NUM> (e.g., via a push or pull model), as indicated in <FIG>. For example, upon receiving one or more of such events from wireless connection module <NUM>, connection detector <NUM> of port manager <NUM> may attempt to identify an electrical connection between mobile computing device <NUM> and the vehicle computing system. This electrical connection may be provided by an electrical cable (e.g., cable <NUM> of <FIG> and/or cable <NUM> of <FIG>), which that connects port <NUM> of mobile computing device <NUM> to a port (e.g., port <NUM> of <FIG>, port <NUM> of <FIG>) of the vehicle computing system. In some examples, prior to attempting to identify an electrical connection, connection detector <NUM> may provide one or more user interface feedback events for processing by notification module <NUM>. For instance, connection detector <NUM> may generate one or more events that cause notification module <NUM> to output (e.g., at presence-sensitive display device <NUM>) information indicating that a short-range wireless connection has been established, and suggesting that a user attach a cable from port <NUM> to a port of the vehicle computing system (see, e.g., <FIG>).

In various cases, connection detector <NUM> may identify such an electrical connection based upon events that are generated and provided to connection detector <NUM> by port monitor <NUM>. For example, similar to the description above in reference to <FIG>, port monitor <NUM> may generate a power event or signal indicating that mobile computing device <NUM> is receiving power and/or being electrically charged via port <NUM> (e.g., power connected), and/or port monitor <NUM> may generate a port status event or signal indicating that port <NUM> is connected (e.g., connected state) to an external system.

Upon receiving one or more of these events or signals from port monitor <NUM>, connection detector <NUM> may identify the presence of an electrical connection between mobile computing device <NUM> and an external system. Connection detector <NUM> may determine that the electrical connection exists (e.g., via an electrical cable) between port <NUM> and a port of the vehicle computing system recently identified and authenticated by wireless connection module <NUM>, as described above.

Port manager <NUM> also includes a charge-only detector <NUM>. After connection detector <NUM> identifies the electrical connection, charge-only detector <NUM> may be configured to determine that the electrical connection is a charge-only connection. As described previously, a charge-only connection is one that enables an electrical charging or discharging of mobile computing device <NUM> but prohibits any data transfer between mobile computing device <NUM> and the vehicle computing system. To determine whether or not a charge-only connection exists for port <NUM>, charge-only detector may monitor the status of connection state events that are provided by port monitor <NUM>. These events may indicate the general, current status of any connections with port <NUM>, such as whether these connections are connected and/or configured for data transfer (e.g., data transfer according to a communication protocol, such as the USB protocol).

If charge-only detector <NUM> receives connection state event information from port monitor <NUM> indicating that an identified electrical connection to port <NUM> is connected but not configured for data transfer, charge-only detector <NUM> may determine that the identified connection is a charge-only connection. If, however, the state event information indicates that the identified connection is connected and configured for data transfer (e.g., with a vehicle computing system), charge-only detector <NUM> may determine that the identified connection is a data connection. In some cases, charge-only detector <NUM> may periodically monitor (e.g., once every <NUM> milliseconds) a state of port <NUM> and/or any connections with port <NUM>, based on the processing of connection state events from port monitor <NUM>. In these cases, based on the monitored state, if charge-only detector <NUM> identifies a data connection, rather than a charge-only connection, charge-only detector <NUM> may lower the frequency of connection monitoring (e.g., only once every second), to reduce the use of system resources by port monitor <NUM> and/or port manager <NUM>. However, according to some examples, even in these cases, charge-only detector <NUM> may continue to process events provided by port monitor <NUM> on a regular basis, in order to identify any changes in the status of power, port status, and/or connection conditions associated with port <NUM> over time.

If, at any point in time, charge-only detector <NUM> identifies a charge-only connection, charge-only detector <NUM> may determine that the electrical cable connected to port <NUM> is a charge-only cable and/or that the port of the vehicle computing system, which is communicatively coupled to port <NUM> via the cable, is a charge-only port. Charge-only detector <NUM> may then generate one or more user interface feedback events (e.g., error messages), which are indicative of the charge-only connection, for processing by notification module <NUM>. However, in some examples, before generating these events, charge-only detector <NUM> may first start a configurable timer (e.g., <NUM> milliseconds) once it has identified the charge-only connection condition. Upon expiration of the timer (e.g., a threshold period of time after determining the charge-only connection), if charge-only detector <NUM> continues to identify the charge-only condition, it may then generate the one or more interface feedback events, indicative of the charge-only connection, which it provides to notification module <NUM>. The use of such a timer may, in some cases, reduce potential hysteresis or false-positive detection by charge-only detector <NUM>.

Upon receiving events generated by charge-only detector <NUM> that are indicative of the charge-only connection, notification module <NUM> may output a notification that indicates the charge-only connection for display at presence-sensitive display device <NUM> (see, e.g., <FIG>). In various examples, such as shown in <FIG>, notification module <NUM> may output the notification as an error message that indicates the charge-only connection. In addition, in certain cases, notification module <NUM> may output a message to suggest at least one of (i) plugging the electrical cable into a different port of the vehicle computing system, or (ii) using a different electrical cable in connecting port <NUM> of mobile computing device <NUM> to the port of the vehicle computing system.

<FIG> are screen diagrams illustrating example displays that may be output by a mobile computing device and/or a vehicle computing system, such as mobile computing device <NUM> and/or vehicle computing system <NUM>/<NUM>, in accordance with one or more aspects of the present disclosure. For purposes of illustration only in the description below, the screen diagrams shown in <FIG> are output by a mobile computing device. As outlined above, prior to identifying an electrical connection, but responsive to determining that mobile computing device <NUM> is proximate to the vehicle computing system (e.g., inside a vehicle), connection detector <NUM> may output one or more user interface events to notification module <NUM> indicating that a short-range wireless connection has been established, and suggesting that a user connect a cable to port <NUM>. Upon receive of these one or more events, notification module <NUM> may output corresponding notifications (e.g., for display at presence-sensitive display device <NUM>).

<FIG> illustrates an example of one such notification. This notification includes an informational message indicating that a short-range wireless connection between mobile computing device <NUM> and the car has been established. The notification further includes an instructional message, in the form of a suggested action for the user, to attach an electrical cable from port <NUM> (e.g., a USB port) of mobile computing device <NUM> to a port (e.g., USB port) of the vehicle computing system.

<FIG> illustrates an example of a notification associated with a detected charge-only connection. As described above, such as in reference to <FIG>, charge-only detector <NUM> may provide one or more events for processing by notification module <NUM> that are indicative of a charge-only connection. In response to receive such events, notification module <NUM> may output one or more corresponding notifications, such as shown in <FIG>, which may be displayed at presence-sensitive display device <NUM>. The notification of <FIG> includes an error message indicating that such a charge-only connection has been detected, and that mobile computing device <NUM> is unable to establish a data connection with the car. The notification further includes an instruction message, in the form of a suggested action for the user, to perform one or more of the following actions: (i) plugging the electrical cable into a different port of the vehicle computing system, and/or (ii) using a different electrical cable in connecting port <NUM> of mobile computing device <NUM> to the port of the vehicle computing system.

<FIG> is a flowchart illustrating example process performed by an example mobile computing device, in accordance with one or more aspects of the present disclosure. For example, the process illustrated in <FIG> may be performed by mobile computing device <NUM> (<FIG>), mobile computing device <NUM> (<FIG>), and/or mobile computing device <NUM> (<FIG>). For purposes of illustration only, the process of <FIG> will be described in reference to operations performed by mobile computing device <NUM>.

Mobile computing device <NUM> may use wireless connection module <NUM> to identify (<NUM>) one or more short-range wireless communication signals that are associated with a vehicle computing system (e.g., vehicle computing system <NUM>) of a vehicle. Wireless connection module <NUM> may determine (<NUM>), based on the short-range wireless communication signals, that mobile computing device <NUM> is proximate to the vehicle computing system. Responsive to the determination that mobile computing device <NUM> is proximate to the vehicle computing system, port manager <NUM> may use connection detector <NUM> to identify (<NUM>) an electrical connection between mobile computing device <NUM> and the vehicle. The electrical connection may be provided by an electrical cable (e.g., cable <NUM> of <FIG>, cable <NUM> of <FIG>) that connects a port of mobile computing device <NUM> to a port of the vehicle. Charge-only detector <NUM> may determine (<NUM>) that the electrical connection is a charge-only connection, where the charge-only connection enables an electrical charging or discharging of mobile computing device <NUM> but prohibits any data transfer between mobile computing device <NUM> and the vehicle computing system. Notification module <NUM> may output (<NUM>) a notification indicative of the charge-only connection.

In one or more examples, the functions described may be implemented in hardware, hardware and software, hardware and firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer-readable medium and executed by a hardware-based processing unit. Computer-readable medium may include computer-readable storage media or mediums, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable medium generally may correspond to (<NUM>) tangible computer-readable storage media, which is non-transitory or (<NUM>) a communication medium such as a signal or carrier wave.

By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. It should be understood, however, that computer-readable storage mediums and media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Combinations of the above should also be included within the scope of computer-readable medium.

In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules.

Claim 1:
A method comprising:
identifying (<NUM>), by a mobile computing device (<NUM>, <NUM>, <NUM>), one or more short-range wireless communication signals that are associated with a vehicle computing system (<NUM>, <NUM>) of a vehicle;
determining (<NUM>), by the mobile computing device (<NUM>, <NUM>, <NUM>), based on the one or more short-range wireless communication signals, that the mobile computing device (<NUM>, <NUM>, <NUM>) is proximate to the vehicle computing system (<NUM>, <NUM>);
responsive to determining (<NUM>) that the mobile computing device (<NUM>, <NUM>, <NUM>) is proximate to the vehicle computing system (<NUM>, <NUM>), identifying (<NUM>), by the mobile computing device (<NUM>, <NUM>, <NUM>), an electrical connection between the mobile computing device (<NUM>, <NUM>, <NUM>) and the vehicle, wherein the electrical connection is provided by an electrical cable (<NUM>, <NUM>) that connects a port (<NUM>, <NUM>, <NUM>) of the mobile computing device (<NUM>, <NUM>, <NUM>) to a port (<NUM>, <NUM>) of the vehicle;
determining (<NUM>), by the mobile computing device (<NUM>, <NUM>, <NUM>), whether the electrical connection is a charge-only connection by periodically monitoring by a charge-only detector (<NUM>, <NUM>) of the mobile computing device (<NUM>, <NUM>, <NUM>) a state of at least one of the port (<NUM>, <NUM>, <NUM>) of the mobile computing device (<NUM>, <NUM>, <NUM>) or of the electrical connection, wherein the charge-only connection enables an electrical charging or discharging of the mobile computing device (<NUM>, <NUM>, <NUM>) but prohibits any data transfer between the mobile computing device (<NUM>, <NUM>, <NUM>) and the vehicle computing system (<NUM>, <NUM>); and
responsive to the mobile computing device (<NUM>, <NUM>, <NUM>) determining, based on the monitoring, that the electrical connection is the charge-only connection, outputting (<NUM>), by the mobile computing device (<NUM>, <NUM>, <NUM>), a notification indicative of the charge-only connection.