How to handle reading and sending flow control for ls and hs can

E38 E92 and many others. Approximately 2007 and newer
04colyZQ8
Posts: 536
Joined: Thu Jan 16, 2014 2:41 am
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

How to handle reading and sending flow control for ls and hs can

Post by 04colyZQ8 »

How to use universal patcher master logger to read and write longer packets like vins with flow control?

Anyone have a sample script?
04colyZQ8
Posts: 536
Joined: Thu Jan 16, 2014 2:41 am
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: How to handle reading and sending flow control for ls and hs can

Post by 04colyZQ8 »

[22:47:51.145] 00 00 01 01 FE 01 3E 00 00 00 00 00
[22:47:51.198] 00 00 06 21 00 52 00 00 00 00 00 00
[22:47:51.217] 00 00 01 01 03 FE 01 3E
[22:47:51.498] 00 00 02 4C 02 27 01
[22:47:51.556] 00 00 06 4C 04 67 01 00 00 35 32 39
[22:47:52.077] 00 00 02 4C 04 27 02 FB 27
[22:47:52.133] 00 00 06 21 00 52 00 00 00 00 00 00
[22:47:52.656] 00 00 02 4C 07 AE 3F 01 01 00 00 00
[22:47:52.712] 00 00 06 4C 03 7F 27 22 00 35 32 39
[22:47:53.233] 00 00 02 4C 10 14 3B 90 FF FF FF
[22:47:53.288] 00 00 06 21 00 52 00 00 00 00 00 00
[22:47:53.811] 00 00 02 41 30 00 00 00 00 00 00 00
[22:47:53.864] 00 00 06 4C 03 7F AE 31 00 35 32 39
[22:47:54.387] 00 00 02 4C 21 FF FF FF FF FF FF FF
[22:47:54.440] 00 00 06 21 00 52 00 00 00 00 00 00
[22:47:54.967] 00 00 02 4C 22 FF FF FF FF FF FF FF
[22:47:55.020] 00 00 06 21 00 52 00 00 00 00 00 00

It is not working not getting correct ack

This is for IPC (60) 24C on low speed can.

I first reset the MEC to 255 now it should take a new vin... but it does not?

Code: Select all

globaldelay:50
delay:500
00 00 01 01 FE 01 3E 00 00 00 00 00
00 00 01 01 03 FE 01 3E 
delay:80
00 00 02 4C 02 27 01
delay:500
00 00 02 4C 04 27 02 FB 27 
delay:500
00 00 02 4C 07 AE 3F 01 01 00 00 00
delay:500
00 00 02 4C 10 14 3B 90 FF FF FF
delay:500
00 00 02 41 30 00 00 00 00 00 00 00
delay:500
00 00 02 4C 21 FF FF FF FF FF FF FF
delay:500
00 00 02 4C 22 FF FF FF FF FF FF FF
delay:500
00 00 02 4C 23 FF FF FF FF FF FF FF
Did I make a mistake in my script?
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: How to handle reading and sending flow control for ls and hs can

Post by ironduke »

00 00 02 4C 10 14 3B 90 FF FF FF << why is this only 11 bytes? Should be 12. Also why 14 bytes in length. 17 digit vin plus 3b and 90 is only 19 or 0x13 bytes
delay:500
00 00 02 41 30 00 00 00 00 00 00 00 << What is this? If you send the multiline message above correctly the ipc should be sending 06 41 01 30 for you to send the rest of the message.
delay:500
00 00 02 4C 21 FF FF FF FF FF FF FF
delay:500
00 00 02 4C 22 FF FF FF FF FF FF FF
delay:500
00 00 02 4C 23 FF FF FF FF FF FF FF

Not sure where you are setting the enable to 00 but I've been able to write vins in ecm's and tcm's without ever changing the enable. No idea if it's needed or not.
04colyZQ8
Posts: 536
Joined: Thu Jan 16, 2014 2:41 am
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: How to handle reading and sending flow control for ls and hs can

Post by 04colyZQ8 »

Code: Select all

globaldelay:50
delay:500
00 00 01 01 FE 01 3E 00 00 00 00 00
00 00 01 01 03 FE 01 3E 
delay:80
00 00 02 4C 02 27 01
delay:500
00 00 02 4C 04 27 02 FB 27 
delay:500
00 00 02 4C 10 1B 3B 90 00 FF FF FF
delay:500
00 00 02 4C 30 00 00 00 00 00 00 00
delay:500
00 00 02 4C 21 FF FF FF FF FF FF FF
delay:500
00 00 02 4C 22 FF FF FF FF FF FF FF
delay:500
00 00 02 4C 23 00 00 00 00 00 00 00
This is maybe better? do I need the last frame 23? is the first one with 3b 90 supposed to carry the vin ie 00 ff ff ff. I think the ipc sees 18 bytes for 17 digit vin ie 00 FF FF FF FF FF FF ... The tester present for multi frame 00 00 02 4C 01 30 is that required ti be sent after each ack from ipc or only for reading vin? I count 27 bytes or 1b hex for 3b 90 plus payload, it would be 27 - 7 for not sending last frame.
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: How to handle reading and sending flow control for ls and hs can

Post by ironduke »

This is what I would try.

globaldelay:50
delay:500
00 00 01 01 FE 01 3E 00 00 00 00 00
00 00 01 01 03 FE 01 3E
delay:80
00 00 02 4C 02 27 01
delay:500
00 00 02 4C 04 27 02 FB 27
delay:500
00 00 02 4C 10 13 3B 90 01 02 03 04
delay:500
00 00 02 4C 21 05 06 07 08 09 0A 0B
delay:500
00 00 02 4C 22 0C 0D 0E 0F 10 11 FF

01-11 is the 17 digits of the vin.. make them ff's if you like, I just did this for visability..
02 4c 10 13 < The 13 is how many chars for the ecu to process.. your sending 3b 90 plus 17 chars of the vin so 19(0x13) total..
I have never seen a vin send with 00 at the front of the vin for a total of 18 chars? Do you have a log showing that? I can look around some ipc utility files. I know radio's are missing the first digit but I don't write the vin on those, I unlock them and just cycle the key for it to learn the vin from the car.
below is yours with a few edits..

globaldelay:50
delay:500
00 00 01 01 FE 01 3E 00 00 00 00 00
00 00 01 01 03 FE 01 3E
delay:80
00 00 02 4C 02 27 01
delay:500
00 00 02 4C 04 27 02 FB 27
delay:500
00 00 02 4C 10 1B 3B 90 00 FF FF FF >> What is the 00 after the 90 for??
delay:500
00 00 02 4C 30 00 00 00 00 00 00 00 >> What is this??? If the first multiline command goes thru correctly then the ipc should reply with 06 4C 01 30 as a reply it's ready for the rest.
delay:500 >> Don't need this extra delay if your removing the first line.
00 00 02 4C 21 FF FF FF FF FF FF FF
delay:500
00 00 02 4C 22 FF FF FF FF FF FF FF
delay:500 >> Not needed
00 00 02 4C 23 00 00 00 00 00 00 00 >> Don't need this extra line of data..
kur4o
Posts: 1145
Joined: Sun Apr 10, 2016 11:20 am

Re: How to handle reading and sending flow control for ls and hs can

Post by kur4o »

You need to switch to iso15765 protocol [in raw can will be hit or miss to get correct timing with flow control ack]. The easiest way to use is to connect through setting dialog HSCAN and pcm id, than goto j-console and upload script.

the iso15765 protocol can handle messages upto 4k-[both ways], tool handles flow control and formatting

To get correct messages formatting, it needs byte count removed and no need for full 12 bytes message,

example
sent
00 00 07 E0 1A C1
received
00 00 07 E8 5A C1 00 C0 79 C8


To use j-console you need to set flow control filter
protocol:iso15765 or SW_ISO15765_PS
baud 500000 or 33333
pins for LScan


filters set
type:FLOW CONTROL FILTER
MASK:FFFFFFFF
pattern:000007e8
flowcontrol:000007e0
04colyZQ8
Posts: 536
Joined: Thu Jan 16, 2014 2:41 am
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: How to handle reading and sending flow control for ls and hs can

Post by 04colyZQ8 »

So frustrating I have never had success sending multi frame never works and seems like it never will.. every tool and try elm327, mongoose pro

the script i try doesnt work pretty sure this is correct
00 00 02 4C 10 13 3B 90 FF FF FF FF

it gets correct ack it is the next frames that fail..

same with reading
00 00 02 4C 02 1A 90
works
but this fails
00 00 02 4C 03 30 00 00

and setting the filters causes no data to be sent or read
on ls can seting iso15765 causes it not to connect at all
04colyZQ8
Posts: 536
Joined: Thu Jan 16, 2014 2:41 am
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: How to handle reading and sending flow control for ls and hs can

Post by 04colyZQ8 »

Image
Image
IMG_2263.jpeg
This setting works for high speed but failed to program vin to tcm maybe it needs unlock??

Image

But can’t get 15675 or filters to work with low speed at all?
You do not have the required permissions to view the files attached to this post.
kur4o
Posts: 1145
Joined: Sun Apr 10, 2016 11:20 am

Re: How to handle reading and sending flow control for ls and hs can

Post by kur4o »

Flow control filters are set per module you want to talk, you need to set different filters for each module you want to talk. You will also get response only that match the pattern/flowcontrol pair, and nothing else. You can use mixed mode that have iso and raw can protocol running simultaneously. use CAN_MIXED_FORMAT=1 in config

for LSCAN for example you need to set

mask:FFFFFFFF
pattern:0000064c
flowcontrol:0000024c

you can also set CAN_MIXED_FORMAT=1
from config dialog.
Not sure it is needed.


Here is some config to look at, use load both button.

some bcm script for analysis is added too.


to wake up LSCAN bus add this to script

set:txflags:SW_CAN_HV_TX
00 00 01 00:p0
clear:txflags:SW_CAN_HV_TX


Most tests are done with mdi, so if mongoose gives errors, some debug log will be needed.
You do not have the required permissions to view the files attached to this post.
04colyZQ8
Posts: 536
Joined: Thu Jan 16, 2014 2:41 am
cars: 2004 Colorado 4.8L swap
86/90 Jimmy 6.5L diesel swap
80 Chevrolet Silverado TBI swap
88dodge W100 LPG conversion

Re: How to handle reading and sending flow control for ls and hs can

Post by 04colyZQ8 »

Your script for the xmlx fails to load, do you have a different version of the patcher? Or another xml script to try.

The default pcm ISO padded works to read VIN of the PCM, and changing the address the TCM as well at high speed. The low Speed is not working with your guys suggestions.

Also cannot program VIN to TCM even though I can read it, this did not work for high speed TCM change vin

Code: Select all

00 00 07 E2 1A 90
delay:500
00 00 07 E2 27 01
delay:500
00 00 07 E2 27 02 C4 88
delay:500
00 00 07 E2 3B A0 FF
delay:500
delay:500
00 00 07 E2 3B A0 FF
delay:500
delay:500
00 00 07 E2 3B 90 33 47 4E 43 4A 53 53 42 30 46 4C 31 36 36 37 38 34