News:

New Users: Send [email protected] an email with your account name. I've turned off auto-approve to reduce the 100 new spam accounts a day. Thanks, -Jason

Main Menu

VEMS RS232 Data Output Format

Started by hilly, October 19, 2007, 02:51:54 PM

Previous topic - Next topic

hilly

Not sure if this is the correct place for this, but here goes anyhow.

Does anyone know what VEMS spits out of the RS232 when sent an "a" ???

I want to link the VEMS to my LCD dash display to show stuff like Lambda etc.

Hilly

[email protected]

If you take a look in the vemsv3.ini file in the mtCfg directory of the MegaTune2.25 you'll see the format, search for  ochGetCommand and you'll see that theres a list below in the format:

item name = scalar, <type>, <offset>, <titleString>, 1.000, 0.000

hilly

Ah cool, found it, thanks Rob :)

So just to make sure I am reading what I think I am, there are a total of 48 bytes sent, some parameters are 16bit in lentgh (U16) and are either converted to units or raw ADC values.

Is the lambda ADC value linear about 2.5V (λ1.00 = 2.5V) or is there a calibration curve ???

Hilly

[email protected]

There is a calibration curve, you'll see that the file WBlambda100MOT.inc is mentioned in the vemsv3.ini

hilly

Thanks again Rob

I really sould read the vemsv3.ini a bit more :)

Hilly

mr_g

Does VEMS spits all the time all the information on RS232 or you have to ask for the information?

Is the information in binary form or ascii form?

hilly

VEMS only spills it's beans when asked to by sending an "A" (0x41)

It then sends back 48 binary bytes which is the following data :-

Some vales are 2 byte (16 bits) like mapADC.

secl = scalar, U08,  0, "sec",
squirt = scalar, U08,  1, "bits",   
engine   = scalar, U08,  2, "bits",   
barometer = scalar, U08,  3, "ADC",   
mapADC = scalar, U16,  4, "Pa",   
matADC = scalar, U08,  6, "ADC",   
cltADC = scalar, U08,  7, "ADC",   
tpsADC = scalar, U08,  8, "ADC",   
batADC = scalar, U08,  9, "ADC",   
egoADC = scalar, U08, 10, "ADC",   
egoCorrection = scalar, U08, 11, "%",      
airCorrection = scalar, U08, 12, "%",      
warmupEnrich = scalar, U08, 13, "%",      
rpmVHR = scalar, U16  14, "rpm",   
pulseWidth = scalar, U08, 16, "ms",   
accelEnrich = scalar, U08, 17, "%",      
baroCorrection   = scalar, U08, 18, "%",      
gammaEnrich = scalar, U08, 19, "%",      
veCurr = scalar, U08, 20, "%",      
INTdwell = scalar, U08, 21, "mS",   
NTspark = scalar, U08, 22, "",      
iacPos = scalar, U08, 23, "%",      
egt1ADC = scalar, U16, 24, "Deg",   
egt2ADC = scalar, U16, 26, "Deg",   
ebpADC = scalar, U16, 28, "Deg",   
pADC = scalar, U16, 30, "Deg",   
misc1ADC = scalar, U16, 32, "Deg",   
misc2ADC = scalar, U16, 34, "Deg",   
misc3ADC = scalar, U16, 36, "Deg",   
misc4ADC = scalar, U16, 38, "Deg",   
latgtADC = scalar, U08, 40, "",      
knock_cyl_0_knock_val  =scalar, U16, 41, "",   
knock_cyl_0_noise_val  =scalar, U16, 43, "",   
knock_cyl_0_adjust =scalar, U08, 45, "Deg",   
knock_cyl_0_state = scalar, U08, 46, "",      
status1  = scalar, U08, 47, "",      

Hope that makes sense

Hilly

mr_g

This means that you cannot have 2 monitoring devices attached...  >:(

One would be carputer or laptop when megatune application is called, and the other would be some sort of engine monitoring piggyback like BC, monitoring engine cosumtion, state, etc, and displaying it on small LCD...