JeremyW said:
I went to an event today where a whole bunch of i3 owners got their cars "fixed" via special software. It adds back a hold option for the rex, AM radio, and changes a lot of other things like the seatbelt gong, number of blinker flashes after tapping the turn signal, etc. Apparently the i3 is very similar to other BMW cars in that they all run the same core software. Changes are uploaded via ethernet. Some modules are locked about 3 hours after installation at the factory and can't be changed, but they're ones like ABS/Traction Control which you shouldn't be messing with anyway.
It's a whole other world compared to the Leaf.
There's no "core software" that 'runs' in other BMWs similar to an operating system found in a PC or cell
phone like Windows or iOS. Most all the distributed processing in the various vehicle controllers operate
independent of an overall control software based on their own firmware in each controller. Some utilize
inputs from the driver but control their output functions based on their firmware in their microcontroller's
flash memory and in many cases in their mask ROMs. Examples of that are the ABS/DSC, the transmission
controller and the engine controller. Some of the modules can be re-flashed via factory diagnostic tools,
e.g. the Nissan Consult, but in many cases to a very limited amount.
The BMW i3 most likely has a user interface, i.e. given the unique design of their EV, which has minor
control over driver inputs, e.g. the amount of motor power based on SOC, when the Rex operates,
and what accessories operate based on SOC. The BMW i3 user interface is very limited in its functionality
based on the overall operations of the vehicle and how each controller module functions and interacts
with other modules via the various bus networks found on all late model vehicles. Simple coding changes
such as whether the doors auto-lock at a certain speed can be made via diagnostic tools but these
are not considered as major firmware mods. Many controllers have volatile/non-volatile memory
locations for such simple re-coding of minor functional changes.