Following similar technique described in https://www.gr-yaris.co.uk/forum/threads/reverse-engineering-pids.4680/ I was able to figure out OBD2 command sequence for:
* turning Engine Sound Enhancement (ESE) or fake engine sound on or off
* turning window control using the key on or off
So, for example, the command sequence for ESE control with the descriptions of what these commands do (command descriptions taken from OBDLink Reference Manual) is:
It is possible to enter these commands manually, by hand, but you need to be quick, as some of the commands have temporal dependency to the next one.
To make it more or less automated, I created a configuration file for Serial Bluetooth Terminal Android app. You can find the configuration file here: https://github.com/2m/gry-obd/blob/main/serial_bluetooth_terminal_cfg.txt
Once you load this configuration, select your OBDLink device from the Devices side menu.
At the bottom of the app you'll see the following macro buttons:
First row contains macros for window control using the key.
1. K?W Pr - executes preparation commands for window control. You need to click this first before executing any other macros on the row.
2. KOW ? - checks the status of Key Opens Windows functionality. Last number of the response means: 1 - on, 0 - off.
3. KOW Off - turns Key Opens Windows off.
4. KOW On - turns Key Opens Windows on.
5. KCW ? - checks the status of Key Closes Windows functionality. Last number of the response means: 1 - on, 0 - off.
6. KCW Off - turns Key Closes Windows off.
7. KCW On - turns Key Closes Windows on.
Second row contains macros for ESE (Engine Sound Enhancement) control.
1. ESE Pr - executes preparation commands for ESE. You need to click this first before executing any other macros on the row.
2. ESE ? - checks the status of the ESE. Last number of the response means: 1 - on, 0 - off.
3. ESE Off - turns ESE off.
4. ESE On - turns ESE on.
* turning Engine Sound Enhancement (ESE) or fake engine sound on or off
* turning window control using the key on or off
So, for example, the command sequence for ESE control with the descriptions of what these commands do (command descriptions taken from OBDLink Reference Manual) is:
Bash:
> atz # reset ELM chip
ELM327 v1.4b
> atd # set all ELM chip settings to defaults
OK
> atsp6 # select protocol 6
OK
> atcfc1 # can flow control on
OK
> stcsegr1 # turn CAN Rx segmentation on
OK
> stcsegt1 # turn CAN Tx segmentation on
OK
> atsh750 # set the header of transmitted OBD messages
OK
> atcra758 # set CAN hardware filter
OK
> atceaAE # use CAN extended address hh
OK
> attaAE # set tester address to hh
OK
> stcfcpc # clear all flow control address pairs
OK
> stcfcpa 750 AE, 758 AE # add flow control address pair
OK
> 222006 # protocol 6 message to check status of ESE (last number in response: 0 - ESE is off, 1 - ESE is on)
62 20 06 01 01
> 3E1 # protocol 6 message preparation
7F 3E 13
> 1003 # protocol 6 message preparation
50 03 00 32 01 F4
> 2E20060100 # protocol 6 message to turn off ESE
6E 20 06
> 2E20060101 # protocol 6 message to turn on ESE
6E 20 06
To make it more or less automated, I created a configuration file for Serial Bluetooth Terminal Android app. You can find the configuration file here: https://github.com/2m/gry-obd/blob/main/serial_bluetooth_terminal_cfg.txt
Once you load this configuration, select your OBDLink device from the Devices side menu.
At the bottom of the app you'll see the following macro buttons:
First row contains macros for window control using the key.
1. K?W Pr - executes preparation commands for window control. You need to click this first before executing any other macros on the row.
2. KOW ? - checks the status of Key Opens Windows functionality. Last number of the response means: 1 - on, 0 - off.
3. KOW Off - turns Key Opens Windows off.
4. KOW On - turns Key Opens Windows on.
5. KCW ? - checks the status of Key Closes Windows functionality. Last number of the response means: 1 - on, 0 - off.
6. KCW Off - turns Key Closes Windows off.
7. KCW On - turns Key Closes Windows on.
Second row contains macros for ESE (Engine Sound Enhancement) control.
1. ESE Pr - executes preparation commands for ESE. You need to click this first before executing any other macros on the row.
2. ESE ? - checks the status of the ESE. Last number of the response means: 1 - on, 0 - off.
3. ESE Off - turns ESE off.
4. ESE On - turns ESE on.