Hassan: No apology needed - in truth it is I who should apologize! I tend to assume too much when replying in this forum- your response is a salutary reminder (to me) that I need to be more empathetic to the varying knowledge-base of others.
So - I've included below a screenshot of the long-code screen that I understand from your last response that you can access (I am assuming that you use the iOS version software).
For the purpose of my explanation - I divided the screen into its component parts with yellow boxes and I have labelled each box with a yellow number (which I will use to identify the various functional areas of the screen). Please note that the numeric values in my screenshot won't be the same as for your car - these numbers are purely for illustrative purposes only
First I need to get "geeky" and explain a little about number theory. I'm not sure of your knowledge of mathematics, but as a foundational basis for this reply, it's important that we start at the beginning!
Numbering systems: It's ALL in the math!!
Everyone on this forum understands how to count - but maybe not everyone is aware that there are many different ways of doing this simple task. We are all taught to count using base-10 arithmetic (decimal), meaning that we use the numbers 0-9 for each digit in our numbers. But there ain't anything special about base-10 arithmetic - it's just ONE method that we have adopted from lots of available alternatives - perhaps made convenient because humans generally have 10 fingers on their hands (I guess).
Computers of course don't have 10 fingers and the more compelling factor when choosing a number-base for arithmetic in these digital machines is something called "numeric efficiency". As an example - one limitation of base-10 maths when applied to computers is that it can only describe 10 x states for each digit (i.e. 0-9 = max 10 x different states). The other disadvantage of base-10 maths is that it is fundamentally inconsistent with the basic 0/1 OFF/ON states that computers use (called "binary").
So, for many reasons too arcane to mention here, it has been decided that computer-based car-modules should use base-16 arithmetic for counting - this is called "hexadecimal", or "hex" for short! Hex counting solves both the problems that I describe above, because:
- Each digit in a hex number can describe up to 16 x different states (instead of just 10 in decimal arithmetic)
- Hex numbers are totally consistent with binary 0/1 numbers - this means that EVERY hex number EXACTLY maps onto a BINARY number
The value of each digit in a hex number can be 0, 1, 2....................9, A, B, C, D, E, F. And, as I have said- each digit in a hex number has an equivalent Binary number. A Binary number has just the values 0 & 1 - this is base-2 arithmetic.
If I haven't lost you yet - hopefully you would have guessed by now that the language of long-code is hex and binary - it's not decimal. But how are these 2 x numbering systems related - I hear you asking? Well, the answer to this most excellent question is all in the math - not surprisingly. Hex is base-16 and binary is base-2. Therefore, because 16=2**4 ("**" means "raised to the power of", or the "exponent" in math speak)- it follows that each hex digit requires 4 x digits to be expressed as a binary equivalence. So, when there are 2 x hex digits (as is the case in modern long-code strings), the binary number equivalent has 8 x digits !!! Here's an example of hex-to-binary equivalence using the numbers shown in my screenshot above::
- Byte 00 = hexA0 = Binary 10100000 (hexA= Binary 1010 and hex0 = Binary 0000)
Long-code: The rules !!
Below is a short-list of the enforced protocol for hex and binary numbers when applied to the long-code string on control modules in modern cars:
- Theoretically there is no limit on the length of a long-code string for a modern control module
- A long-code string is divided into pairs of hex numbers - each hex-pair is separated with a space in OBD11 speak (spaces are NOT used for VCDS)
- Each hex-pair is called a Byte and Byte numbering is read from left-to-right. Byte numbering commences with Byte 00
- Each hex-pair has an equivalent Binary number consisting of 8 x digits.
- Each digit in a Binary number is called a Bit and Bit numbering commences with Bit 0.
- Binary numbers are read from right-to-left (yes, opposite to Byte numbering- so be careful). This means that the right-most digit in a binary number is Bit 0 and the left-most digit is Bit 7. OBD11 screens show Bits vertically and the Bit-value is shown as a ticked/un-ticked box
- Each Bit can be thought-of as a simple software switch - which is either OFF (equal to the value zero, un-ticked box), or ON (equal to the value one, ticked box)
OK - enough of the geeky stuff - lets get back to my screenshot!
On my picture, the yellow numbers work like this:
1 = selecting either the "people" symbol, or the "0101/0110" symbol toggles between OBD11's descriptive explanation for each software switch, or the raw numeric values of the long-code string. Not all software switches have descriptive explanations
2 = the raw numeric value of the long-code string. The values are shown as pairs of hex numbers
3 = the Byte index -this part of the screen selects a Byte number from long-code
4 = For the selected Byte number in 3 above, the hex-pair value is shown here - this value is the same as one of the hex pairs in 2 above,
5 = This part of the screen shows the 8 x Bit values for the selected Byte number (and for the equivalent hex number for that Byte). A tick in a Bit box means that the value of the Bit is one (i.e. the software switch is ON, or closed) - opposite for a box that has no tick
So, for my suggestion in my previous post do this:
- Select the raw value option using 1
- Navigate to Byte 01 using 3
- Scroll-down 5" and place a tick in the box for Bit 5
- push "Slide to write" button
or,
- Select the "descriptive explanation" option using 1
- Scroll-down until you find Vehicle path display
- Change value to "with path display"
- push "Slide to write" button
Don