Skip to content
View in the app

A better way to browse. Learn more.

Ford Owners Club - Ford Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.



Join the Independent Ford Owners' Club

Our community has been built by enthusiasts, for enthusiasts, and proudly run by Ford owners' for over 18 years. As an independent, non-official club, everything you’ll find here, advice, support, and opinions, comes directly from members with genuine Ford ownership experience.

Join our friendly community... it's Free!

 

Sync 3 APIM As-Built data values

Featured Replies

Started a thread about this a while ago which I now can't find and to be honest was a bit convoluted.  I've been slowly working through the various values of the as-built data of my sync 3 APIM and comparing it to the text-configuration shown in the 'hidden' APIM diagnostic menu on the dash.  I've put my findings in a google sheet:

Sync 3 APIM data

As you can see, I've only got so far - the coloured rows represent settings controlled by the same value.

Disclaimers and acknowledgements are in that document.  I'll slowly add to it as I get more time to plumb.

  • 5 years later...


I can't believe this hasn't had more interest. The amount of time this must have taken is insane. 

 

Forgive me I'm probably being a bit thick but how do I know which value corresponds with which features? Is it a case of trying all the values you've supplied in that position marked with the X until you get the desired outcome?

16 hours ago, EJFocus said:

I can't believe this hasn't had more interest. The amount of time this must have taken is insane.

Indeed looks like a lot of work went into that, props to Phil 👍

16 hours ago, EJFocus said:

Forgive me I'm probably being a bit thick but how do I know which value corresponds with which features? Is it a case of trying all the values you've supplied in that position marked with the X until you get the desired outcome?

Columns E, F and G each represent a group of four (hexadecimal) digits. The asterisk marks the digit of interest. Note the altering background colours every four options, and that each group of four with the same background have the same digit of interest. I.e. each digit encodes on/off states for a group of four settings. To change a setting you have to change the digit of interest to a value that toggles that setting on/off whilst leaving the other three settings as they are.

I presume you lack knowledge of bits/bytes/hexadecimal (computer science / maths stuff). Skip to the end to avoid trying to learn about this. Read on to try to gain a proper understanding.

Each digit is either a number (0-9) or a letter (A-F). This is hexadecimal notation. In the 'decimal' number system we use everyday we have ten different symbols we can use per digit of a number (0-9), thus we're counting in tens. In hexadecimal we have sixteen symbols and thus are counting in sixteens. (We steal some letters from the alphabet for the extra six symbols; A translation of these hexadecimal symbols to decimal is A=10, B=11, C=12, D=13, E=14, F=15). (Columns, instead of being 1's, 10's, 100's..., i.e. 100, 101, 102..., would be 160, 161, 162... in hexadecimal).

Computer memory is a collection of tiny storage locations ('bits') that can only have two states. A single bit of RAM for instance either contains an electric charge or it doesn't. We symbolise this as 0 or 1. To store a number greater than zero or one we use a group of bits, with each bit essentially being a digit of a number. I.e. we use a number system based on counting in twos since we have only two symbols (states) per digit (bit of memory). This is the binary number system. Rather than interact with individual bits we tend to use them in groups of eight (a 'byte'), and we use groups of bytes to represent larger numbers than a single byte can represent.

Writing a number down in binary form can require significantly more digits than decimal or hexadecimal (i.e it would be much longer, like 10101010011000101011010010). Computer scientists/programmers thus often use hexadecimal instead to represent the contents of memory. Hexadecimal (or 'hex' for short) is both much shorter than binary form, and hexadecimal has a nice convenient mapping to binary and bytes. A group of four bits can have sixteen different patterns, thus we can represent the value of an 8-bit byte with a pair of hexadecimal digits (00 to FF).

Columns E, F and G in the spreadsheet, each have four hexadecimal digits of 'as-built data', thus each represent two bytes of data, or 16 bits (four hexadecimal digits times four bits per digit). Since each hexadecimal digit is four bits and controls four settings, there is thus one bit per setting, and thus each setting is a simple on/off toggle.

To toggle an option, you'd translate the hexadecimal digit of interest into binary form, toggle the bit corresponding to the setting you want to change, then convert that four-digit binary pattern back to hexadecimal. Here are the binary patterns for each of the sixteen hexadecimal values: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111.

---

In the spreadsheet he's listed all the values of the digit of interest for which each setting is in each of its two states. If you look at the above four-digit binary patterns for each hexadecimal value, you can figure out which of the four bits corresponds to each setting.

For example, taking the first group of four settings, controlled by the first hexadecimal digit: The first setting is in 'not present' state with values 0-7 and 'not present' state with values 8-F. Looking at the corresponding binary patterns you can see values 0-7 correspond to binary patterns of 0xxx and 8-F to 1xxx, thus it's the left-most binary digit that controls this setting. For the second setting 0-3 or 8-B give a state of 'not present' and the common factor here is the second binary digit, so thus x0xx sets 'not present' state and x1xx sets 'present' state'. Continuing you'll find that the third binary digit controls the third setting and the fourth, the fourth.

So pretending we had a value of 9 (binary 1001), we'd have the first and fourth settings in 'present' state, and the second and third in 'not present' state. To toggle the second setting to 'present' would require changing the binary to 1101 and thus the hexadecimal digit to D.

---

As an alternative to trying to fully understanding all of the above, let's try to shortcut it. Let's look at the first group of four settings, which are all controlled by the first (hexadecimal) digit. Let's say the current value is '9' (binary 1001 thus first and fourth settings set to 'present', second and third to 'not present'), and you want to toggle the second setting to 'present' (binary 1101). Using the starting value of '9' and looking at the info in the spreadsheet, you can see that this falls within the 8-F range and thus the first setting has a state of 'present'; it falls within 8-B and so the second setting is 'not present'; it falls within 8-9 so the third setting is 'not present', and it corresponds to a 'present' value for the fourth. So now we know the current state of the four settings. To change the second setting to 'present', the value must stay within 8-F to maintain the state of the first setting; it must be within C-F for the second setting to be 'present'; it must be either C or D to maintain the third setting of 'not present'; and thus it must be D to maintain the 'present' state of the fourth option. Thus to achieve the goal of toggling the second setting of this group of four to 'present' requires changing the digit of interest from 9 to D.

I hope all of that made sense.

@rd457 Thank you so much for going through and explaining all that. 

I actually do have a reasonable understanding of computer science and binary denary hex etc but I think my issue mainly erose from looking at the spreadsheet on my phone... And me not thinking properly! 

I hadn't fully make the link between changing the value marked with X in the spreadsheet would effect the rest of the nibble but of course it would your completely right!

So thank you for explaining, understand it now so will have a play when I get my sync 3 installed. I'm sure this will be useful to others as well...

No worries 👍

Latest Deals

Ford UK Shop for genuine Ford parts & accessories

Disclaimer: As the club is an eBay Partner, The club may be compensated if you make a purchase via the club

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

The "Digestive"






Background Picker
Customize Layout

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.