XT2500 Product Manual
Page 37 | 92
CONFIDENTIAL AND PROPRIETARY
condact always
actions
run BuildAndSendMsg(4, 32, 1, 0)
5.2.3. Set User Flag 3 if OBD Reports PTO On
PTO status resides in the bit 1 position of Fld_ObdRunStatus (0x2c). The example below uses the BitAnd()
operator with a hex mask isolating the desired bit, comparing it to 0 for rising edge trigger.
This operation works from the inside out, parenthetically.
SystemVal (0x2c)
grabs the value stored in
Fld_
ObdRunStatus
.
BitAnd()
then takes that value “ANDed” with its second argument of 0x02, which isolates the
bit 1 position.
When bit 1 of
Fld_ObdRunStatus
(PTO state) is high, the
BitAnd()
resolves to a 1.
Neq()
then takes that and
compares it with its second argument of 0. When they don’t equal each other, the trigger is executed. The
Debounce in this example is disabled.
trigger when Neq(BitAnd(SystemVal(0x2c), 0x02), 0) [Debounce(0, 0)]
condact always
actions
run SetFlag(3)
5.3. P
ACKET
R
ECIPE
5.3.1. Fields
ID
Name
Description
0x01
aaaaaaaa
PacketID
aaaaaaaaaaaaaaaaaa
Packet recipes can be labeled from 0-255, but there are only 128
recipe slots
Bytes
Units
Resolution
Range
1
N/A
1
0 to 255
0x02
FmCustomHeader
value TBD (currently zero)
Bytes
Units
Resolution
Range
1
N/A
1
0 to 255