Saturday, December 2, 2017

E90 Warning lights.


After way too long I finally found the message for the warning lights. It is on ARBID 592.  It is an 8 byte message.  Byte1 and the first bit of byte 2 are the "Error ID".


 
The error ID is referenced in documents for the "check control symbols" like this one.   Before I found one of the documents I just made a program that cycled through the error codes one at a time.  Found that not all the symbols are explained in the document.


 

Like this one to the right.  It is error ID 153 (0x99).  I expect this one is for a police version of the car.  Anyway it made me laugh.





ARBID 592 as far as I have made out so far is as follows
length - 8
B0 - set to 40 seems to be for errors
B1 - Low byte of Error ID
B2 - First bit is part of Error ID. Rest unknown
B3 - the first bit indicates on or off. 1 on, 0 off.  Other bits seem to effect how long it is on.
B4 through B7 are unknown. For the bulb check FF or 0 is there.  Expect it has something to do with
conditions when the error was set.

Anyway have fun.  Here is a video of my test bench showing a few of the symbols

Tuesday, November 7, 2017

E90 LCD add + iPod

Added a LCD to my car to show the coolant temp.

Then got to thinking.  While I had a connection to the CAN bus then why not have the program monitor for the skip buttons on the wheel.  The send skip the song on my iPod. Similar to the ibus ipod interface I had for my E46.

Got that working. Then thought if I put a bigger screen I display the song title (E46 I put it on the radio display).  With this screen I could fit a bunch of information.

View of the screen in the ash tray.

Close up of the screen.  It's a color screen. I chose a color that matched the rest of the cars displays.  I do have the engine temp change color based on Cold, Normal or HOT.

I made the screen bezel on my 3D printer. I need to glue it in instead of the tape. But you get the idea.

The program is essentially the same ipod program I posted earlier in this blog.  Except I modified the ibus inputs to be CAN bus.  And the outputs go to the LCD instead of the ibus.  I'll post code in the future.  Need to work out a few more formatting things.