PDA

View Full Version : We can't filter State PIDs?



mr.prick
October 10th, 2009, 08:56 AM
I just found this out today, GM.STATE0x is not in the filter drop down box.

mr.prick
October 11th, 2009, 04:23 AM
I made a cal_pid for this. :)

joecar
October 11th, 2009, 08:22 AM
That's what I do... (also, this way they can appear on a chart).

mr.prick
October 11th, 2009, 11:46 AM
It's not easy to do, I had to search for a while before I found out how.

Ninety8C5
October 11th, 2009, 12:55 PM
What's the secret?

mr.prick
October 11th, 2009, 01:52 PM
The state PIDs have 8 "Bit Positions" and each have "RAW" value
Bit position 7 = 128
Bit position 6 = 64
Bit position 5 = 32
Bit position 4 = 16
Bit position 3 = 8
Bit position 2 = 4
Bit position 1 = 2
Bit position 0 = 1
Match the PID's Bit Position and RAW value and use
iff(RAW({GM.STATE00})&bit position,1,0)


Blacky explains it better here. (http://forum.efilive.com/showpost.php?p=20356&postcount=7)

Why we need to go through this is a mystery to me,
it would be nice to have them defined in a way so they appear in the
filter drop down box.
The iff,& and bits :hihi: operators can be a handful for some people
to understand. (like myself) :doh2:

I recently discovered you can make a calc_pid for frame counts and
filter out/in a certain section of a log by frame numbers.
Call me slow. :confused:

joecar
October 11th, 2009, 08:39 PM
For example, bit 5 can be extracted using either of these:

iff(RAW({GM.STATE02}) & 32, 1, 0)

RAW({GM.STATE02}) / 32 & 1

RAW({GM.STATE02}) >> 5 & 1