CANhack.de CAN-Interface RKS+CAN
CAN Hardware, CAN Software, CAN Protocols - CAN Bus Forum for Your CAN Bus Project.

VW Jetta 2.0 TDI: Specs & Review

 
New Topic Reply 🔗 🖨 CANhack.de - Index » Engine CAN
Author Message
hasenwerk



Joined: 12/29/2016
Posts: 4
Karma: +0 / -0   Thank you, like it!
Location: Kanada

Free account, no CAN development support

Post03-01-2017, 3:32    Subject: VW Jetta 2.0 TDI: Specs & Review Quote

Please excuse my English on this German forum. icon_rolleyes.gif

I'm trying to get a 2009 2.0L TDI CBAA engine running in my Volkswagen T3. I've figured out all the necessary CAN information, except for the cruise control (GRA) system.

"Through my traffic analysis, I have identified that 0x03A represents 'GRA', and it consists of 3 bytes of data. However, when I send this information to the ECU, it doesn't change the status of the switches as observed when monitoring measuring block 006 in VCDS."

0x0 = 0x2 + "offset"
Off = 0
On = -1
(-) = -3
(SET) = -21
etc...

0x1 = Binary representation of switch:
00000000 = no buttons pressed.
00000001 = ON
xxxxxx1x = CANCEL
xxxxx1xx = Decelerate
xxxx1xxx = Accelerate
xxx1xxxx = Set
xx1xxxxx = Resume

0x2 - Clock
Repeats: 20, 52, 84, 116, 148, 180, 212, 244, 20, 52...

0x3 - Always "0"


What other information or components are required for the ECU to utilize my inputs in a GRA (Gasoline Direct Injection) system?

Pedal inputs are all correct (all show 0). Speed is shown in the first block of 006. Accelerator pedal input is working . . . I have a strong feeling it is depending on another address as well... I'm stuck!

Best regards!


Translated on 09-08-2026, 21:38.
Back to top Profile PM
majonez
CAN-Profi
CAN-Profi


Joined: 07/31/2013
Posts: 37
Karma: +12 / -0   Thank you, like it!
Location: Breslau

CAN Support

Post03-01-2017, 21:20    Subject: VW Jetta 2.0 TDI: Specs & Review Quote

Hello and welcome.
According to my notes, the cruise control system buttons are located at ID 0x289. The source of this message originates from the comfort bus (specifically, the steering wheel module), and then this message is translated to ID 0x38A by the gateway before being forwarded to the powertrain bus.

Code:
byte0: XOR checksum

byte1:
00000000 = CCS off
0000000? = stuck ON
000000?1 = pressed OFF
00000?01 = decelerate (-)
0000?001 = accelerate (+)
000?0?01 = decelerate (-) stuck
00?0?001 = accelerate (+) stuck
?0000000 = ACC coded

byte2:
0000000? = set
000000?0 = resume
0000??00 = coding. 11 = GRA im blinkerhebel, 01 = GRA im drittenhebel
0x?X = counter from 0x00 to 0xF0

byte3:
00000100 = distance-
00001000 = distance+


Translated on 09-08-2026, 21:41.
Back to top Profile PM
hasenwerk



Joined: 12/29/2016
Posts: 4
Karma: +0 / -0   Thank you, like it!
Location: Kanada

Free account, no CAN development support

Post03-01-2017, 21:29    Subject: VW Jetta 2.0 TDI: Specs & Review Quote

majonez wrote:
Hello and welcome.
According to my notes, the cruise control system buttons are located at ID 0x289. The source of this message originates from the comfort bus (specifically, the steering wheel module), and then this message is translated to ID 0x38A by the gateway before being forwarded to the powertrain bus.

Code:
byte0: XOR checksum

byte1:
00000000 = CCS off
0000000? = stuck ON
000000?1 = pressed OFF
00000?01 = decelerate (-)
0000?001 = accelerate (+)
000?0?01 = decelerate (-) stuck
00?0?001 = accelerate (+) stuck
?0000000 = ACC coded

byte2:
0000000? = set
000000?0 = resume
0000??00 = coding. 11 = GRA im blinkerhebel, 01 = GRA im drittenhebel
0x?X = counter from 0x00 to 0xF0

byte3:
00000100 = distance-
00001000 = distance+


Thank you for this information! I will review my code again and see what results I get.

Subject: byte3 - Is this the following distance setting for the Adaptive Cruise Control (ACC) system?


Translated on 09-08-2026, 21:42.
Back to top Profile PM
hasenwerk



Joined: 12/29/2016
Posts: 4
Karma: +0 / -0   Thank you, like it!
Location: Kanada

Free account, no CAN development support

Post05-01-2017, 6:42    Subject: VW Jetta 2.0 TDI: Specs & Review Quote

hasenwerk wrote:
majonez wrote:
Hello and welcome.
According to my notes, the cruise control system buttons are located at ID 0x289. The source of this message originates from the comfort bus (specifically, the steering wheel module), and then this message is translated to ID 0x38A by the gateway before being forwarded to the powertrain bus.

Code:
byte0: XOR checksum

byte1:
00000000 = CCS off
0000000? = stuck ON
000000?1 = pressed OFF
00000?01 = decelerate (-)
0000?001 = accelerate (+)
000?0?01 = decelerate (-) stuck
00?0?001 = accelerate (+) stuck
?0000000 = ACC coded

byte2:
0000000? = set
000000?0 = resume
0000??00 = coding. 11 = GRA im blinkerhebel, 01 = GRA im drittenhebel
0x?X = counter from 0x00 to 0xF0

byte3:
00000100 = distance-
00001000 = distance+


Thank you for this information! I will review my code again and see what results I get.

Re: byte3 - Is this the separation distance for the Active Cruise Control (ACC) system?


"I've reviewed all aspects of my code, and I believe the ECU is still lacking something."

With GRA (presumably referring to a vehicle setting) turned off, it is:

0x0 0x1 0x2 0x3
20 0 20 0
52 0 52 0
84 0 84 0
116 0 116 0
148 0 148 0
180 0 180 0
212 0 212 0
244 0 244 0
20 0 20 0

GRA set on ON.

0x0 0x1 0x2 0x3
21 1 20 0
53 1 52 0
85 1 84 0
117 1 116 0
149 1 148 0
181 1 180 0
213 1 212 0
245 1 244 0
21 1 20 0


The examples I provided align with your description. However, when I send that data to my ECU, it doesn't change state as expected. Group 006, "Switch Blocks," always displays 01000000, which is the same value as when the regular system is running. Is there something else that needs to be active before the ECU will accept the input?

"As a side note, if I interpret 0x38a as 8 bytes, then bytes 3 through 7 do have values... but they appear to be pseudo-random. 105, 33, 250, 209 is the most common sequence (occurring more than 50% of the time), while 0, 0, 31, 0, 254, 255, 255, 250, and 255, 0, 0, 160 are examples of some of the output."


Translated on 09-08-2026, 21:46.
Back to top Profile PM
majonez
CAN-Profi
CAN-Profi


Joined: 07/31/2013
Posts: 37
Karma: +12 / -0   Thank you, like it!
Location: Breslau

CAN Support

CAN-Diagnose likes this.
Post05-01-2017, 23:28    Subject: VW Jetta 2.0 TDI: Specs & Review Quote

hasenwerk wrote:

Group 006, labeled "Switch Blocks," consistently displays 01000000, which is the same value observed when the standard system is operating. Is there another condition that must be met before the ECU will recognize this input?

Did you connect the physical CCS enable pin on the engine control unit (ECU) to +12V?
Did you calculate the checksum correctly?
Did you maintain the counter correctly?
hasenwerk wrote:

Side note, if I read 0x38a as 8 bytes, bytes 3 to 7 do have values... but they seem pseudo-random. 105, 33, 250, 209 is the most common (more than 50% of the time), 0, 0, 31, 0, 254, 255, 255, 250, and 255, 0, 0, 160 are examples of some of the output.

How did you interpret a 4-byte message as an 8-byte value? You cannot do that icon_smile.gif. The random values are likely garbage from the microcontroller's RAM.

Best regards, Michal.


Translated on 09-08-2026, 21:52.
Back to top Profile PM
hasenwerk



Joined: 12/29/2016
Posts: 4
Karma: +0 / -0   Thank you, like it!
Location: Kanada

Free account, no CAN development support

Post07-01-2017, 4:45    Subject: VW Jetta 2.0 TDI: Specs & Review Quote

majonez wrote:
hasenwerk wrote:

Group 006, labeled "Switch Blocks," consistently displays 01000000, which is the same value observed when the standard system is operating. Is there another condition that must be met before the ECU will recognize this input?

Did you connect the physical CCS enable pin on the engine control unit (ECU) to +12V?
Did you calculate the checksum correctly?
Did you maintain the counter correctly?
hasenwerk wrote:

Side note, if I read 0x38a as 8 bytes, bytes 3 to 7 do have values... but they seem pseudo-random. 105, 33, 250, 209 is the most common (more than 50% of the time), 0, 0, 31, 0, 254, 255, 255, 250, and 255, 0, 0, 160 are examples of some of the output.

How did you interpret a 4-byte message as an 8-byte value? You cannot do that icon_smile.gif. The random values are likely garbage from the microcontroller's RAM.

Cheers, Michal.


CCS enable pin? Are you referring to pins F, F36, and F47? These settings appear to be configured correctly. Which pin are you talking about on the EDC17? Basically, I can connect the ECU to the car's CAN bus, and it works when I press the buttons on the stalk. When I connect it to my microcontroller's (Arduino with CAN shield) CAN bus, nothing happens.

If I interpret 0x38A as an 8-byte read instead of a 4-byte read, I get that "garbage," so yes, it's definitely random data. I am sending a 4-byte write to the bus, so I *should* be fine.

"Is it correct that writing *only* to address 0x38A is sufficient to control the GRA (Gasoline Direct Injection) function on the EDC17 engine control unit?"


Translated on 09-08-2026, 21:56.
Back to top Profile PM
New Topic Reply 🔗 🖨 CANhack.de - Index » Engine CAN
Jump to:  
You cannot post new topics in this forum.