<?xml version="1.0" encoding="UTF-8"?>
<logger version="2.0">
    <protocols>
        <protocol id="SSM" baud="4800" databits="8" stopbits="1" parity="0" connect_timeout="2000" send_timeout="100">
            <transport id="ISO9141" name="ISO9141" desc="Serial K-Line">
                <module id="ECU" address="0x10" desc="Engine Control Unit" tester="0xF0" fastpoll="false"/>
            </transport>
            <parameters>
                <!-- SSM 0x07 -> RAM 0x80b0e4 -->
                <parameter id="P1" name="Engine Load" desc="Calculated speed-density load" target="1">
                    <address>0x000007</address>
                    <conversions>
                        <conversion units="%" expr="x*100/255" format="0.0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x08 -> RAM 0x80b108 -->
                <parameter id="P2" name="Coolant Temperature" desc="Engine coolant temperature" target="1">
                    <address>0x000008</address>
                    <conversions>
                        <conversion units="C" expr="x-40" format="0" />
                        <conversion units="F" expr="(x-40)*9/5+32" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x09 -> RAM 0x80b0e1 -->
                <parameter id="P3" name="A/F Correction #1 (STFT)" desc="Short term fuel trim" target="1">
                    <address>0x000009</address>
                    <conversions>
                        <conversion units="%" expr="(x-128)*100/128" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x0A -> RAM 0x80b0db -->
                <parameter id="P4" name="A/F Learning #1 (LTFT)" desc="Long term fuel trim" target="1">
                    <address>0x00000A</address>
                    <conversions>
                        <conversion units="%" expr="(x-128)*100/128" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x0D -> RAM 0x80b123 -->
                <parameter id="P5" name="Manifold Absolute Pressure" desc="Absolute manifold pressure" target="1">
                    <address>0x00000D</address>
                    <conversions>
                        <conversion units="psia" expr="x*37/255" format="0.00" />
                        <conversion units="kPa" expr="x" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x0E -> RAM 0x80b08a -->
                <parameter id="P6" name="Engine Speed" desc="Engine RPM" target="1">
                    <address length="2">0x00000E</address>
                    <conversions>
                        <conversion units="RPM" expr="x/4" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x10 -> RAM 0x80b10f -->
                <parameter id="P7" name="Vehicle Speed" desc="Road speed" target="1">
                    <address>0x000010</address>
                    <conversions>
                        <conversion units="km/h" expr="x" format="0" />
                        <conversion units="mph" expr="x*0.621371" format="0.0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x11 -> RAM 0x80b142 -->
                <parameter id="P8" name="Ignition Total Timing" desc="Total ignition advance BTDC" target="1">
                    <address>0x000011</address>
                    <conversions>
                        <conversion units="degrees" expr="(x-128)/2" format="0.0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x12 -> RAM 0x80b124 -->
                <parameter id="P9" name="Intake Air Temperature" desc="Intake air temperature" target="1">
                    <address>0x000012</address>
                    <conversions>
                        <conversion units="C" expr="x-40" format="0" />
                        <conversion units="F" expr="(x-40)*9/5+32" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x15 -> RAM 0x80b099 -->
                <parameter id="P10" name="Throttle Opening Angle" desc="Throttle position" target="1">
                    <address>0x000015</address>
                    <conversions>
                        <conversion units="%" expr="x*100/255" format="0.0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x18 -> RAM 0x80b090 -->
                <parameter id="P11" name="Rear O2 Sensor Voltage" desc="Post-cat narrowband sensor (front is the wideband at 0x46)" target="1">
                    <address length="2">0x000018</address>
                    <conversions>
                        <conversion units="V" expr="x/200" format="0.000" />
                    </conversions>
                </parameter>
                <!-- SSM 0x1C -> RAM 0x80b10d -->
                <parameter id="P12" name="Battery Voltage" desc="System battery voltage" target="1">
                    <address>0x00001C</address>
                    <conversions>
                        <conversion units="V" expr="x*2/25" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x1E -> RAM 0x80b0f8 -->
                <parameter id="P13" name="Throttle Sensor Voltage" desc="Raw TPS output - finds dead spots" target="1">
                    <address>0x00001E</address>
                    <conversions>
                        <conversion units="V" expr="x/50" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x20 -> RAM 0x80b0fb -->
                <parameter id="P14" name="Fuel Injection #1 Pulse Width" desc="Injector #1 pulse width" target="1">
                    <address>0x000020</address>
                    <conversions>
                        <conversion units="ms" expr="x*256/1000" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x22 -> RAM 0x80b0f0 -->
                <parameter id="P15" name="Knock Correction" desc="Dynamic knock correction; negative = timing pulled" target="1">
                    <address>0x000022</address>
                    <conversions>
                        <conversion units="degrees" expr="(x-128)/2" format="0.0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x23 -> RAM 0x80b09c -->
                <parameter id="P16" name="Atmospheric Pressure" desc="Barometric pressure" target="1">
                    <address>0x000023</address>
                    <conversions>
                        <conversion units="psia" expr="x*37/255" format="0.00" />
                        <conversion units="kPa" expr="x" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x24 -> RAM 0x80b0a0 -->
                <parameter id="P17" name="Manifold Relative Pressure" desc="Vacuum/boost relative to atmosphere" target="1">
                    <address>0x000024</address>
                    <conversions>
                        <conversion units="psig" expr="(x-128)*37/255" format="0.00" />
                        <conversion units="kPa" expr="x-128" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x26 -> RAM 0x80b0fa -->
                <parameter id="P18" name="Fuel Tank Pressure" desc="Evap system pressure" target="1">
                    <address>0x000026</address>
                    <conversions>
                        <conversion units="kPa" expr="(x-128)/40" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x28 -> RAM 0x80b148 -->
                <parameter id="P19" name="Learned Ignition Timing" desc="Long-term learned knock correction" target="1">
                    <address>0x000028</address>
                    <conversions>
                        <conversion units="degrees" expr="(x-128)/2" format="0.0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x2A -> RAM 0x80b102 -->
                <parameter id="P20" name="Fuel Temperature" desc="Fuel temperature" target="1">
                    <address>0x00002A</address>
                    <conversions>
                        <conversion units="C" expr="x-40" format="0" />
                        <conversion units="F" expr="(x-40)*9/5+32" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x2B -> RAM 0x80b098 -->
                <parameter id="P21" name="Front O2 #1 Heater Current" desc="Front oxygen sensor heater current" target="1">
                    <address>0x00002B</address>
                    <conversions>
                        <conversion units="A" expr="x*10/255" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x2C -> RAM 0x80b0f3 -->
                <parameter id="P22" name="Rear O2 Heater Current" desc="Rear oxygen sensor heater current" target="1">
                    <address>0x00002C</address>
                    <conversions>
                        <conversion units="A" expr="x*10/255" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x2E -> RAM 0x80b0ad -->
                <parameter id="P23" name="Fuel Level Sensor Voltage" desc="Fuel level sender" target="1">
                    <address>0x00002E</address>
                    <conversions>
                        <conversion units="V" expr="x/50" format="0.00" />
                    </conversions>
                </parameter>
                <!-- SSM 0x32 -> RAM 0x80b0a6 -->
                <parameter id="P24" name="CPC Valve Duty Ratio" desc="Canister purge duty - disturbs fuel trims" target="1">
                    <address>0x000032</address>
                    <conversions>
                        <conversion units="%" expr="x*100/255" format="0.0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x38 -> RAM 0x805ea4 -->
                <parameter id="P25" name="ISC Valve Steps" desc="Idle air control position; climbing = vacuum leak" target="1">
                    <address>0x000038</address>
                    <conversions>
                        <conversion units="steps" expr="x" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x3A -> RAM 0x80b149 -->
                <parameter id="P26" name="Alternator Duty" desc="Alternator field duty" target="1">
                    <address>0x00003A</address>
                    <conversions>
                        <conversion units="%" expr="x" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x44 -> RAM 0x8055cd -->
                <parameter id="P27" name="A/F Sensor #1 Resistance" desc="Wideband sensor impedance - sensor health" target="1">
                    <address>0x000044</address>
                    <conversions>
                        <conversion units="ohms" expr="x" format="0" />
                    </conversions>
                </parameter>
                <!-- SSM 0x46 -> RAM 0x80b13e -->
                <parameter id="P28" name="A/F Sensor #1 Lambda" desc="FRONT wideband sensor - this ECU's real fuel control feedback" target="1">
                    <address>0x000046</address>
                    <conversions>
                        <conversion units="lambda" expr="x/128" format="0.000" />
                        <conversion units="AFR" expr="x/128*14.7" format="0.00" />
                    </conversions>
                </parameter>
            </parameters>
            <switches>
                <switch id="S1" name="Read Memory Signal" desc="" byte="0x000061" bit="4" target="1" />
                <switch id="S2" name="Test Mode Signal" desc="" byte="0x000061" bit="5" target="1" />
                <switch id="S3" name="AT Vehicle ID" desc="" byte="0x000061" bit="6" target="1" />
                <switch id="S4" name="Air Conditioning Switch" desc="" byte="0x000062" bit="1" target="1" />
                <switch id="S5" name="Power Steering Switch" desc="" byte="0x000062" bit="2" target="1" />
                <switch id="S6" name="Intercooler Auto Washer Switch" desc="" byte="0x000062" bit="4" target="1" />
                <switch id="S7" name="Idle Switch" desc="" byte="0x000062" bit="6" target="1" />
                <switch id="S8" name="Neutral Position Switch" desc="" byte="0x000062" bit="7" target="1" />
                <switch id="S9" name="Electrical Load Signal" desc="" byte="0x000063" bit="0" target="1" />
                <switch id="S10" name="Knock Signal #2" desc="ALWAYS OFF - builder at 0x512A0 never sets this bit; one knock sensor" byte="0x000063" bit="1" target="1" />
                <switch id="S11" name="Knock Signal #1" desc="Raw knock sensor #1 trigger" byte="0x000063" bit="2" target="1" />
                <switch id="S12" name="Rear O2 Rich Signal" desc="" byte="0x000063" bit="4" target="1" />
                <switch id="S13" name="Front O2 #1 Rich Signal" desc="ALWAYS OFF - builder at 0x512A0 never sets this bit" byte="0x000063" bit="5" target="1" />
                <switch id="S14" name="Starter Switch" desc="" byte="0x000063" bit="6" target="1" />
                <switch id="S15" name="Camshaft Position Signal" desc="" byte="0x000064" bit="6" target="1" />
                <switch id="S16" name="Crankshaft Position Signal" desc="" byte="0x000064" bit="7" target="1" />
                <switch id="S17" name="CPC Solenoid Valve" desc="" byte="0x000065" bit="1" target="1" />
                <switch id="S18" name="Fuel Pump Relay" desc="" byte="0x000065" bit="3" target="1" />
                <switch id="S19" name="Radiator Fan Relay #1" desc="" byte="0x000065" bit="5" target="1" />
                <switch id="S20" name="Radiator Fan Relay #2" desc="" byte="0x000065" bit="4" target="1" />
            </switches>
            <ecuparams>
                <ecuparam id="E1" name="A/F Sensor Raw ADC (0x804546)" desc="Pre-conversion wideband reading; thresholds sit at 2.07-2.18 V" target="1">
                    <ecu id="3DA6003005">
                        <address length="2">0x804546</address>
                    </ecu>
                    <conversions>
                        <conversion units="V" expr="x*5/1024" format="0.000" />
                    </conversions>
                </ecuparam>
                <ecuparam id="E2" name="ADC Channel 0x800AA0 (unidentified)" desc="Circuit-check input only - read once in the whole ROM" target="1">
                    <ecu id="3DA6003005">
                        <address length="2">0x800AA0</address>
                    </ecu>
                    <conversions>
                        <conversion units="V" expr="x*5/1024" format="0.000" />
                    </conversions>
                </ecuparam>
            </ecuparams>
        </protocol>
    </protocols>
</logger>
