View Single Post
      12-22-2011, 10:16 AM   #19
Camera Man

Drives: '11 E90 335i
Join Date: Jul 2011
Location: West Plano, TX

iTrader: (0)

Garage List
2011 BMW 335i  [5.00]
2008 BMW X5  [0.00]
Originally Posted by Rotary Rasp View Post
You are 100% correct 0x17 = 5 blinks and 0x13 = 4 blinks.

Now please explain the logic?
Firmware programmers are notoriously stingy with memory. Unlike application programmers who now have gigabytes of memory to use, embedded software engineers often pack as much as we can into very little space. So if all you need is three bits to control a feature, why use all 8 in a byte? It's also possible that the other bits at this location control or are status or settings for the similar features, like perhaps blink rate or duration. Again that's all just a guess without seeing some source code or design documents on the module.

Having said that, except for in extremely low cost systems, most current trends are to have far more resources than you need. The cost of megabytes now is what we once paid for bits. But if you're selling hundreds of thousands, even a few dimes can make a difference given the count of modules in every BMW.

And I'll stick around. I've only coded a few things that irked me on my two bimmers. Since they're both still under warranty, I'm not messing too much with them. Maybe I need a project car ;-)
Current - 11 E90 335i, 15 F25 X3 2.8i xdrive
Gone - 08 E70 X5 3.0i, 04 E46 330i, 95 E36 M3