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