
[VeAnalyze]
	         ;    tableName,  lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
#if NARROW_BAND_EGO
     veAnalyzeMap = veTable1Tbl, afrTSCustom, afr, egoCorrection, { (portd & 0b00000010) || UseVE3 == 0}
#else
     veAnalyzeMap = veTable1Tbl, afrTable1Tbl, afr, egoCorrection, { (portd & 0b00000010) || UseVE3 == 0 }
#endif
         lambdaTargetTables = afrTable1Tbl, afrTable2Tbl, afrTable2Tbl, afrTSCustom, 
       ; filter =  Name,        "DisplayName", outputChannel, operator, defaultVal, userAdjustable
        filter = minRPMFilter, "Minimum RPM", rpm,           <       , 500,      , true
       ; filter = maxRPMFilter, "Maximum RPM", rpm,           >       , 18000,    , true
       
       ;  filter = std_xAxisMin ; Auto build with appropriate axis channels
         filter = std_xAxisMax ; Auto build with appropriate axis channels
         filter = std_yAxisMin ; Auto build with appropriate axis channels
         filter = std_yAxisMax ; Auto build with appropriate axis channels
         filter = std_DeadLambda ; Auto build

#if CELSIUS          
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 71,       , true
#else
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 160,      , true
#endif
         filter = accelFilter, "Accel Flag" , engine,         &       , 16,       , false
         filter = aseFilter,   "ASE Flag"   , engine,         &       , 4,        , false
         filter = overrunFilter, "Overrun"    , pulseWidth1,  =       , 0,        , false
         ;filter = std_Expression, "Table Inactive"    , { (portd & 0b00000010) ==0 }, false
         filter = std_Custom ; Standard Custom Expression Filter.
         
    ; Table 2
#if NARROW_BAND_EGO
     veAnalyzeMap = veTable2Tbl, afrTSCustom, afr2, egoCorrection2, { inj2t }
#else
     veAnalyzeMap = veTable2Tbl, afrTable1Tbl, afr2, egoCorrection2, { inj2t }
#endif
         lambdaTargetTables = afrTable1Tbl, afrTable2Tbl, afrTable2Tbl, afrTSCustom, 
       ; filter =  Name,        "DisplayName", outputChannel, operator, defaultVal, userAdjustable
       ; filter = minRPMFilter, "Minimum RPM", rpm,           <       , 500,      , true
       ; filter = maxRPMFilter, "Maximum RPM", rpm,           >       , 18000,    , true
       
         filter = std_xAxisMin ; Auto build with appropriate axis channels
         filter = std_xAxisMax ; Auto build with appropriate axis channels
         filter = std_yAxisMin ; Auto build with appropriate axis channels
         filter = std_yAxisMax ; Auto build with appropriate axis channels
         filter = std_DeadLambda ; Auto build

#if CELSIUS          
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 71,       , true
#else
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 160,      , true
#endif
         filter = accelFilter, "Accel Flag" , engine,         &       , 16,       , false
         filter = aseFilter,   "ASE Flag"   , engine,         &       , 4,        , false
         filter = overrunFilter, "Overrun"  , pulseWidth2,    =       , 0,        , false
         filter = std_Custom ; Standard Custom Expression Filter.


    ; Table 3
#if NARROW_BAND_EGO
     veAnalyzeMap = veTable3Tbl, afrTSCustom, afr, egoCorrection, { UseVE3 && !(portd & 0b00000010) }
#else
     veAnalyzeMap = veTable3Tbl, afrTable2Tbl, afr, egoCorrection, { UseVE3 && !(portd & 0b00000010) }
#endif
         lambdaTargetTables = afrTable1Tbl, afrTable2Tbl, afrTable2Tbl, afrTSCustom, 
       ; filter =  Name,        "DisplayName", outputChannel, operator, defaultVal, userAdjustable
       ; filter = minRPMFilter, "Minimum RPM", rpm,           <       , 500,      , true
       ; filter = maxRPMFilter, "Maximum RPM", rpm,           >       , 18000,    , true
       
         filter = std_xAxisMin ; Auto build with appropriate axis channels
         filter = std_xAxisMax ; Auto build with appropriate axis channels
         filter = std_yAxisMin ; Auto build with appropriate axis channels
         filter = std_yAxisMax ; Auto build with appropriate axis channels
         filter = std_DeadLambda ; Auto build

#if CELSIUS          
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 71,       , true
#else
         filter = minCltFilter, "Minimum CLT", coolant,       <       , 160,      , true
#endif
         filter = accelFilter, "Accel Flag" , engine,        &       , 16,       , false
         filter = aseFilter,   "ASE Flag"   , engine,        &       , 4,        , false
         filter = overrunFilter, "Overrun"    , pulseWidth1,   =       , 0,        , false
         ;filter = std_Expression, "Table Inactive"    ,  {(portd & 0b00000010) != 0 }, false
         filter = std_Custom ; Standard Custom Expression Filter.
