Friday, November 16, 2012

Another try..

After more researching, I got unexpected help from a Swedish Volvo forum. Now I know why it's so hard to find any hits from Google when searching with keywords relating to Volvo proprietary CAN protocol: All the hackers in that field of expertise are swedish :) So, I spent quite many hours reading the thread via help of Google Translator, but still couldn't find any references to parking heater. Nice guys on the forum did mention few tricks on how the heater could be ignited, but nevertheless they didn't work. When sending commands to CEM to start the heater directly, such as this:

Id: 00 0F FF FE
Data: CF 40 B1 5F 3B 01 01 04


The result is
Id: 00 80 00 03
Data: CC 40 7F B1 22 00 00 00

which indicates "Error: Conditions not correct or request sequence error"

It seems that starting the heater directly is a process more complicated than expected, involving the need to start perhaps also the water pump and other components via a direct command.

Here's a a command for querying the heater status:


000FFFFE CD 40 A6 5F 32 01 00 00 
          |  |  |  '--|  | 
          |  |  |     |  '-------- 01=Send the record once 
          |  |  |     '----------- 5F 32=Heater work status 
          |  |  '----------------- A6=Read Current Data By Identifier 
          |  '-------------------- CEM id 
          '----------------------- message length 

Heater work status 0x5F32
0x10 Heater is not started
0x20 Heater is starting
0x30 Heater & fuel pump active
0x40 Heater is running
0x50 Heater is stopping
0x60 Heater is cycling
0x70 Heater is stopped
0x80 Blow out occurred
0x90 Rest heat is running
0xA0 Operate fuel pump function
0xB0 One activation on fuel pump



I did start the heater manually using control stalk and queried the status few times:

00 0F FF FE cd 40 a6 5f 32 01 00 00
00 80 00 03 CD 40 E6 5F 32 01 00 00 // before starting (01=not powered?)
00 0F FF FE cd 40 a6 5f 32 01 00 00
00 80 00 03 CD 40 E6 5F 32 11 00 00 // turned it on manually: not yet started, but powered?
00 0F FF FE cd 40 a6 5f 32 01 00 00
00 80 00 03 CD 40 E6 5F 32 20 00 00 / /after few secs: heater is starting
00 0F FF FE cd 40 a6 5f 32 01 00 00
00 80 00 03 CD 40 E6 5F 32 30 00 00 // after 1 min: heater & fuel pump active

So at least querying works.. This needs more investigation.

No comments:

Post a Comment