beautypg.com

Old’ (lm-1) lambda/afr channels – Innovate Motorsports OT-2 SDK User Manual

Page 16

background image

16

000

Lambda valid, lambda value contains lambda reading in .001 lambda increments

Offset by .5 lambda (0x000 = .5 lambda, 0x3FF = 1.523 lambda)

001

Lambda value contains O2 level in 1/10%

010

Free air calibration in progress, Lambda data not valid

011

Need Free air Calibration Request, Lambda data not valid

100

Warming up, Lambda value is temp in 1/10% of operating temp.

101

Heater Calibration, Lambda value contains calibration countdown.

110

Error code in Lambda value

111

reserved


If you don’t want to parse all possible states, you can simply go on 000 means valid data,
not 000 means invalid data. Last we have the information needed to approximate AFR
from the actual lambda reading:

Word

Bit
15

Bit
14

Bit
13

Bit
12

Bit
11

Bit
10

Bit
9

Bit
8

Bit
7

Bit
6

Bit
5

Bit
4

Bit
3

Bit
3

Bit
1

Bit
0

0

0

1

0

F2

F1

F0

1

AF
7

0

AF
6

AF
5

AF
4

AF
3

AF
2

AF
1

AF
0

1

0

0

L12 L11 L10 L9

L8

L7

0

L6

L5

L4

L3

L2

L1

L0


This is the ‘Air Fuel Multiplier’, scaled by 10. In other words, 147 really represents 14.7.
You would multiply this number by the lambda measurement to get approximate AFR for
the fuel currently specified.

Although you probably have figured all this out, we get asked how to calculate the proper
values from this packet a lot, so, at the risk of repeating, the basic measurements are:

Assemble “L”
Assemble “AF”
Assemble “F”

if (F == 0) // Valid
{

float lambda = (L * 0.001) + 0.500;

float afr = lambda * AF / 10;

}

‘Old’ (LM-1) Lambda/AFR Channels


The old lambda channel (sent only by the LM-1) is the most complicated, and also the
most troublesome for parsing. Although all the sample applications properly parse this
packet, frankly, if you are writing your own parser you might do well to simply ignore it,
unless you know that you will have to deal with connected LM-1’s.

Word

Bit
15

Bit
14

Bit
13

Bit
12

Bit
11

Bit
10

Bit
9

Bit
8

Bit
7

Bit
6

Bit
5

Bit
4

Bit
3

Bit
3

Bit
1

Bit
0

0

LM1 R

0

F2

F1

F0

0

AF
7

0

AF
6

AF
5

AF
4

AF
3

AF
2

AF
1

AF
0

1

0

0

L12 L11 L10 L9

L8

L7

0

L6

L5

L4

L3

L2

L1

L0

2

0

0

mb
2

mb
1

mb
0

bv9

bv8

bv7

0

bv6

Bv5

bv4

bv4

bv2

bv1

bv0