[0001] The present invention relates to an apparatus and method for saving driver-selected
settings in a vehicle.
[0002] Most modern automobiles provide the driver with a range of configurable vehicle settings
that enable the driver to determine how the vehicle will perform in certain respects.
Examples of these include throttle response, gear-change points, and apparent steering
weight, among others. The driver is able to change these from the factory settings
by pressing one or more buttons. However, once the ignition is turned off, the selections
are lost and the settings are reset to those originally configured by the factory.
[0003] Embodiments of the present invention aim to provide a simple apparatus and method
that allows the driver's chosen settings to be restored after an ignition cycle is
performed.
[0004] The present invention is defined in the attached independent claims, to which reference
should now be made. Further, preferred features may be found in the sub-claims appended
thereto.
[0005] According to one aspect of the present invention, there is provided apparatus for
maintaining driver-selected settings in a vehicle, the apparatus comprising a controller
for controlling the operation of the apparatus, a memory device for storing driver-selectable
vehicle settings data, a connector for connecting the apparatus to a vehicle and at
least one status sensor for detecting a status or value of at least one driver-selectable
vehicle setting, wherein the apparatus is arranged in use to be connected to a vehicle
and to detect and store driver-selectable settings of the vehicle, so that driver
preferences for settings are preserved after operation of the vehicle is ended by
turning off the ignition.
[0006] The memory device is preferably a non-volatile memory, such as an EEPROM, and may
be located within a common integrated circuit device with the microcontroller.
[0007] Preferably the apparatus includes an engine-start sensor arranged in use to detect
an engine-start event.
[0008] The engine-start sensor is preferably arranged in use to monitor an input voltage
to the apparatus and to detect a drop in said voltage that meets predetermined conditions.
The engine-start sensor is preferably arranged in use to detect a drop in the input
voltage below a first predetermined threshold value. The engine-start sensor is preferably
arranged in use to detect a return in input voltage to a level above a second predetermined
threshold value.
[0009] The one or more status sensor is preferably arranged in use to detect a setting actuator
status, more preferably a condition, value, position or configuration of a setting
actuator. The setting actuator may comprise a button. The one or more status sensor
is preferably arranged to detect the pressing or latching of the actuator or button
in an "ON" position. In a preferred arrangement, the apparatus detects the status
of a setting actuator by detecting the status (ie ON or OFF) of an indicator, more
preferably a visual indicator, such as an LED, associated with the actuator.
[0010] The apparatus is preferably arranged in use to register the status of one or more
settings actuators and to store this in the memory. After an engine start event has
been determined, the apparatus is preferably arranged to simulate the stored status
of the or each settings actuator. In this way, the previously stored settings are
represented to the vehicle management system without requiring action by the driver.
[0011] The apparatus preferably comprises a replacement circuit module arranged in use to
take the place of an original equipment manufacturer (OEM) circuit module.
[0012] According to another aspect of the present invention, there is provided a method
of maintaining driver-selected settings in a vehicle, the method comprising detecting
a status or value of at least one driver-selectable vehicle setting and storing the
driver-selectable vehicle setting in a memory so that driver preferences for settings
are preserved after operation of the vehicle is ended by turning off the ignition.
[0013] Preferably the method includes detecting an engine-start event. The method may include
detecting an engine-start event by monitoring an input voltage and detecting a drop
in said voltage that meets one or more predetermined conditions. Preferably the method
includes detecting a drop in the input voltage below a first predetermined threshold
value. The method may include detecting a return in input voltage to a level above
a second predetermined threshold value.
[0014] The method may include detecting a setting actuator status, more preferably detecting
a condition, value, position or configuration of a setting actuator, which may comprise
a button. Preferably the method includes detecting the pressing or latching of the
actuator or button in an "ON" position.
[0015] The method preferably includes registering the status of one or more settings actuators
and storing this in a memory. After an engine start event has been determined, the
method preferably includes simulating the stored status of the or each settings actuator.
[0016] In a further aspect, the invention provides a computer programme product on a computer
readable medium, comprising instructions that, when executed by a computer, cause
the computer to perform a method of maintaining driver-selected settings in a vehicle
in accordance with any statement herein.
[0017] The invention also comprises a program for causing a device to perform a method according
to any statement herein.
[0018] The invention may include any combination of the features or limitations referred
to herein, except such a combination of features as are mutually exclusive, or mutually
inconsistent.
[0019] A preferred embodiment of the present invention will now be described, by way of
example only, with reference to the accompanying diagrammatic drawings, in which:
Figure 1 shows schematically an apparatus for maintaining vehicle settings, according
to an embodiment of the present invention;
Figure 2 is a schematic flow diagram illustrating a main programme flow of a method
of controlling vehicle settings in accordance with the embodiment of Figure 1;
Figures 3 and 4 are schematic flow diagrams of interrupt service routines independent
of the main programme flow shown in Figure 2; and
Figure 5 is a schematic flow diagram of a sub routine of the main programme flow of
Figure 2.
[0020] In accordance with a preferred embodiment of the present invention, an apparatus
for maintaining driver-selected settings in a vehicle takes the form of an electronic
circuit module, which connects to a vehicle's management system via an I2C interface
in which the vehicle is the master and the module is the slave. The module advantageously
replaces an original equipment manufacture (OEM) circuit module.
[0021] Turning to Figure 1, this shows generally at 100 an apparatus module for maintaining
driver-selectable settings in a vehicle, in accordance with an embodiment of the present
invention. The apparatus may be configured as one or more circuit boards or else as
a plug-in module for the vehicle (not shown). At the heart of the apparatus is a microcontroller
120 for controlling the operation of the apparatus. The microcontroller 120 connects
electronically to the I2C interface (not shown) of the vehicle via a connector 140.
The apparatus derives power from the vehicle via a voltage regulator 160 and analogue
to digital signals are received via a voltage divider 180.
[0022] Function buttons of the vehicle are connected to the controller and are represented
at 200. Backlight diodes 220 and function state diodes 240 are also connected to the
controller 120. A non-volatile memory 260 is built into the microcontroller 120.
[0023] The operation of the apparatus 100 will now be described with reference to a main
programme flow diagram shown generally at 1000 in Figure 2 along with a WRITE COMMAND
(interrupt) flow diagram shown generally at 2000 in Figure 3, a READ COMMAND (interrupt)
flow diagram shown generally at 3000 in Figure 4 and an ENGINE STARTED (subroutine)
flow diagram shown generally at 4000 in Figure 5.
[0024] When the apparatus 100 is powered up at Step 1010, the state of desired functions
is retrieved from the non-volatile memory 260 at Step 1020. For example, the state
of the selectable function START STOP: (ON/OFF) is retrieved from the memory. At Step
1030 the voltage supply to the module is checked. If an ENGINE STARTED condition is
detected, the process goes to the ENGINE STARTED subroutine 5000, as shown in Figure
5, before returning at a Step 1040. If not, the controller checks at Step 1040 whether
a BUTTON PRESSED flag has been set, indicating that the state of one of the function
buttons supported by the system has been changed since the last check. If the flag
has been set, the status of the button function is saved to the memory at Step 1050.
Then the flag is cleared at Step 1060. The routine then proceeds to a delay Step 1070.
If at Step 1040 the controller determines that no flag was set, the routine proceeds
to the delay Step 1070, before continuing around the loop to Step 1030.
[0025] Figure 3 shows the WRITE COMMAND interrupt service routine (ISR) 3000. The circular
block 3010 labelled "ON EACH I2C WRITE..." denotes the start of the ISR. This ISR
is called on each I2C WRITE command received from the master (car-side electronics).
[0026] In this procedure the car-side electronics informs the module which diodes should
be ON and which OFF (also the data received contains backlight state).
[0027] At the first Step 3020, received binary data (e.g. 0xAB 0x06 0x83) is translated
into semantic functions states, (e.g. SPORT diode should be off, SPORT PLUS diode
should be on, Active suspension diode: both on, etc.).
[0028] At the next step 3030 the microcontroller just sets the outputs according to the
received data.
[0029] Then, at the next step 3040 the new functions states are stored into variables in
RAM. This information is used later when the engine is started, to determine whether
button-pressing simulation is required. The routine ends at 3050.
[0030] The above ISR is executed approximately 25 times a second.
[0031] Figure 4 also shows an interrupt service routine (ISR) generally at 4000. The circular
block 4010 labelled "ON EACH I2C READ..." annotates the start of the ISR. This ISR
is called on each I2C READ command received from the master (car-side electronics).
[0032] In this procedure the module has to reply with information about buttons' states
(e.g. first button: not pressed, second button: pressed, third button: not pressed,
etc.).
[0033] At step 4020 the microcontroller checks whether a SIMULATE BUTTON PRESS flag is currently
set. This is related to Step 5020 labelled 'SET SIMULATE_BUTTON_PRESS' flag (discussed
below with reference to Fig. 5) and also looks at actual button inputs.
[0034] At step 4030 a check is made as to the button input state. If a button has been pressed
since the last check then a BUTTON PRESSED flag is set at step 4040 and then at step
4050 a response buffer is prepared from a lookup table. If at step 4020 it is determined
that no flag is set, or if at step 4030 it is determined that no button has been pressed,
the process moves straight to step 4050.
[0035] After these steps, the controller has the requisite information to pass to the car-side
electronics (e.g. SPORT button is pressed).
[0036] At step 4040 the semantic data (e.g. 'SPORT button is pressed') is converted into
binary data (e.g. 0xDE 0x63 0xA2).
[0037] Then the binary data is sent to the I2C master at Step 4060 and the routine stops
at Step 4070. Again, the above ISR is executed approximately 25 times a second.
[0038] Turning to Figure 5, this shows generally at 5000 an ENGINE STARTED subroutine. The
circular block 5010, labelled ENGINE STARTED ROUTINE denotes the start. At Step 5020
a check is made as to whether the saved functions' states are different from their
current states. If there is a difference, at Step 5030, a SIMULATE BUTTON PRESS flag
is set (see Step 4020 in Fig 4). Then, after a delay step 5040, the SIMULATE BUTTON
PRESS flag is cleared at Step 5050. The routine ends at Step 5060. If at Step 5020
it is determined that the saved functions' states are the same as their current states,
then the routine moves straight to Step 5060.
[0039] Embodiments of the present invention facilitate the storing of driver-selected functions
and settings so that these can be implemented after an ignition cycle, without requiring
the driver to re-select them. Preferred embodiments do this by detecting the state
of selectable actuators, preferably detecting the state of indicators (such as LEDs)
of those actuators and comparing the status with a stored value.
[0040] When a difference is detected, the apparatus simulates the status of the actuator
according to the stored status and represents this to the vehicle management, through
the interface. A prompt for this action is the detection of an ignition event, which
is determined by monitoring a voltage drop.
[0041] Examples of functions/settings, including clusters of settings, that the apparatus
may interact with may include (but are not limited to) : sports mode, sports plus
mode, stop start, exhaust settings, suspension settings etc.
[0042] The apparatus may take the form of additional or replacement circuit boards (PCBs)
or a plug-in module and is particularly suited to storing driver-selected settings
from actuators (e.g. buttons or switches) mounted in a centre-console of a vehicle,
such as a Porsche (RTM) Macan (RTM) for example.
[0043] In the example, the vehicle's centre console driver's settings use "I2C" as a communication
and control protocol from the factory. To retain full functionality and OEM feel,
the data flowing through that area for all of the buttons and their corresponding
effects on each other was reverse engineered along with the physical circuit board's
shape and features. Physical additions were made to allow for the memory function,
and control logic was provided in additional programming language, which the vehicle
does not interact with.
[0044] A key benefit of this approach is that the vehicle still operates in its intended
and original way (but with the addition of the memory features) whilst the result
is essentially of OEM quality and fit and is indistinguishable from the factory set
up. Rather than being a simple work around to achieve the functionality, the vehicle
does not even recognize that anything has been changed in its systems.
[0045] The outcome is an automated replication of human interaction with the vehicle's own
settings which follows all of the safety and control parameters of the original, whilst
adding the much-needed memory feature to greatly enhance the experience of driving
the vehicle.
[0046] By replicating the original physical circuit board's design and location, the installation
for the apparatus is relatively swift and easy and with the apparatus having no external
cases, harnesses or adaption connectors (female-male, male-female, as would be the
case for a "man in the middle" approach) the apparatus will last as long as the OEM
parts and cause no problem with the vehicle.
[0047] Whilst endeavouring in the foregoing specification to draw attention to those features
of the invention believed to be of particular importance, it should be understood
that the applicant claims protection in respect of any patentable feature or combination
of features referred to herein, and/or shown in the drawings, whether or not particular
emphasis has been placed thereon.
1. Apparatus for maintaining driver-selected settings in a vehicle, the apparatus comprising
a controller for controlling the operation of the apparatus, a memory device for storing
driver-selectable vehicle settings data, a connector for connecting the apparatus
to a vehicle and at least one status sensor for detecting a status or value of at
least one driver-selectable vehicle setting, wherein the apparatus is arranged in
use to be connected to a vehicle and to detect and store driver-selectable settings
of the vehicle, so that driver preferences for settings are preserved after operation
of the vehicle is ended by turning off the ignition.
2. Apparatus according to Claim 1, wherein the memory device is a non-volatile memory,
such as an EEPROM.
3. Apparatus according to Claim 1 or 2, wherein the apparatus includes an engine-start
sensor arranged in use to detect an engine-start event.
4. Apparatus according to any of the preceding claims, wherein the one or more status
sensor is arranged in use to detect a setting actuator status, more preferably a condition,
value, position or configuration of, or associated with, a setting actuator.
5. Apparatus according to Claim 4, wherein the apparatus detects the status of a setting
actuator by detecting the status (ie ON or OFF) of an indicator associated with the
actuator.
6. Apparatus according to Claim 4 or 5, wherein the apparatus is arranged in use to register
the status of one or more settings actuators and to store this in the memory.
7. Apparatus according to any of Claims 4-6 when dependent on Claim 3, wherein, after
an engine start event has been determined, the apparatus is arranged to simulate the
stored status of the or each settings actuator.
8. A method of maintaining driver-selected settings in a vehicle, the method comprising
detecting a status or value of at least one driver-selectable vehicle setting and
storing the driver-selectable vehicle setting in a memory so that driver preferences
for settings are preserved after operation of the vehicle is ended by turning off
the ignition.
9. A method according Claim 8, wherein the method includes detecting an engine-start
event.
10. A method according to Claim 8 or 9, wherein the method includes detecting a setting
actuator status, more preferably a condition, value, position or configuration of
a setting actuator, which may comprise a button.
11. A method according to Claim 10, wherein the method includes registering the status
of one or more settings actuators and storing this in a memory.
12. A method according to Claim 11, wherein after an engine start event has been determined,
the method includes simulating the stored status of the or each settings actuator.
13. A computer programme product on a computer readable medium, comprising instructions
that, when executed by a computer, cause the computer to perform a method of maintaining
driver-selected settings in a vehicle in accordance with any of Claims 8-12.
14. A program for causing a device to perform a method according to any of Claims 8-12.