Changeset 339


Ignore:
Timestamp:
09/22/2011 03:21:36 AM (20 months ago)
Author:
dschultzca
Message:

More External data converter code

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/release_notes.txt

    r334 r339  
    3535 
    3636------------------------------- 
    37 - 0.5.3b RC10 Notes (09/12/2011) - 
     37- 0.5.3b RC11 Notes (??/??/????) - 
    3838------------------------------- 
    39 This is the tenth beta release of the upcoming official 0.5.3b release. 
     39This is the eleventh beta release of the upcoming official 0.5.3b release. 
    4040 
    4141--------------------------- 
    42 - 0.5.3b RC10 Known Issues - 
     42- 0.5.3b RC11 Known Issues - 
    4343--------------------------- 
    4444- Editor 
     
    5555- Change Log - 
    5656-------------- 
     57 
     580.5.3b RC11 (??/??/????) 
     59----------------------- 
     60 
     61--- Logger --- 
     62- TXS Tuner Wideband plugin added curtosy of, nitros 
     63- Added support for ECU/TCU Switch filtering 
     64- Added (msec) designation to logged CSV column heading 
     65- Added support for sorting the Selected? & Description paramater list entries. 
    5766 
    58670.5.3b RC10 (09/12/2011) 
  • trunk/src/com/romraider/logger/ecu/EcuLogger.java

    r338 r339  
    628628            try { 
    629629                List<? extends ExternalDataItem> dataItems = dataSource.getDataItems(); 
    630  
    631630                for (ExternalDataItem item : dataItems) { 
    632631                    externalDatas.add(new ExternalDataImpl(item, dataSource)); 
  • trunk/src/com/romraider/logger/ecu/definition/ExternalDataConvertorImpl.java

    r338 r339  
    2121 
    2222import static com.romraider.logger.ecu.definition.xml.ConverterMaxMinDefaults.getMaxMin; 
     23import static com.romraider.util.ByteUtil.asUnsignedInt; 
     24import static com.romraider.util.JEPUtil.evaluate; 
     25import static com.romraider.util.ParamChecker.isValidBit; 
     26import static java.lang.Float.intBitsToFloat; 
    2327 
    2428import com.romraider.logger.ecu.ui.handler.dash.GaugeMinMax; 
     
    2630 
    2731import java.text.DecimalFormat; 
     32import java.util.Map; 
    2833 
    2934public final class ExternalDataConvertorImpl implements EcuDataConvertor { 
     35    private final String units; 
     36    private final String expression; 
     37    private final GaugeMinMax gaugeMinMax; 
    3038        private final ExternalDataItem dataItem;  
    31     private static final String FORMAT = "0.##"; 
    32     private DecimalFormat format = new DecimalFormat(FORMAT); 
     39    private DecimalFormat format; 
     40     
     41//    <conversion units="psi" expr="x*37/255" format="0.00" gauge_min="-20" gauge_max="40" gauge_step="5" /> 
     42//    <conversion units="kPa" expr="x*37/255/14.50377*100" format="0" gauge_min="-120" gauge_max="280" gauge_step="40" /> 
     43//    <conversion units="hPa" expr="x*37/255/14.50377*1000" format="0" gauge_min="-1200" gauge_max="2800" gauge_step="400" /> 
     44//    <conversion units="bar" expr="x*37/255/14.50377" format="0.000" gauge_min="-1.2" gauge_max="2.8" gauge_step="0.4" /> 
    3345         
    3446        public ExternalDataConvertorImpl(ExternalDataItem dataItem) { 
    3547                this.dataItem = dataItem; 
     48                this.units = dataItem.getUnits(); 
     49                this.expression = "x"; 
     50                this.gaugeMinMax = new GaugeMinMax(0,0,0); 
     51                this.format = new DecimalFormat("0.##"); 
    3652        } 
    3753 
    3854    public double convert(byte[] bytes) { 
    39         return dataItem.getData(); 
     55        double value = dataItem.getData(); 
     56        double result = evaluate(expression, value); 
     57        return Double.isNaN(result) || Double.isInfinite(result) ? 0.0 : result; 
    4058    } 
    4159 
     
    4563 
    4664    public String getUnits() { 
    47         return dataItem.getUnits(); 
     65        return units; 
    4866    } 
    4967 
     
    5371 
    5472    public String getFormat() { 
    55         return FORMAT; 
     73        return format.toPattern(); 
    5674    } 
    5775} 
  • trunk/src/com/romraider/logger/external/core/ExternalDataSourceLoaderImpl.java

    r286 r339  
    3939            File pluginsDir = new File("./plugins"); 
    4040            if (pluginsDir.exists() && pluginsDir.isDirectory()) { 
    41                 externalDataSources = new ArrayList<ExternalDataSource>(); 
     41//                externalDataSources = new ArrayList<ExternalDataSource>(); 
    4242                File[] pluginPropertyFiles = pluginsDir.listFiles(new PluginFilenameFilter()); 
    4343                for (File pluginPropertyFile : pluginPropertyFiles) { 
  • trunk/src/com/romraider/logger/external/te/plugin/TEDataItem.java

    r323 r339  
    2424public interface TEDataItem extends ExternalDataItem { 
    2525    void setRaw(int... raw); 
     26     
     27    String getFormat(); 
     28     
     29    String getExpression(); 
    2630} 
  • trunk/src/com/romraider/logger/external/te/plugin/TEDataItemImpl.java

    r338 r339  
    2626    private final TESensorUnits sensorUnits; 
    2727    private final TESensorType sensorType; 
    28     private final String[] units; 
     28    private final String units; 
    2929    private final String name; 
     30    private final String format; 
     31    private final String expression; 
    3032    private int[] raw; 
    3133 
    32     public TEDataItemImpl(String name, String[] units, TESensorType sensorType, TESensorUnits sensorUnits) { 
     34//    public TEDataItemImpl(String name, String[] units, TESensorType sensorType, TESensorUnits sensorUnits) { 
     35    public TEDataItemImpl(String name, String units, TESensorType sensorType, TESensorUnits sensorUnits, String format, String expression) { 
    3336        super(); 
    3437        this.name = name; 
     
    3639        this.sensorType = sensorType; 
    3740        this.sensorUnits = sensorUnits; 
     41        this.format = format; 
     42        this.expression = expression; 
    3843    } 
    3944 
     
    4752 
    4853    public String getUnits() { 
    49         return units[0]; 
     54        return units; 
     55    } 
     56 
     57    public String getFormat() { 
     58        return format; 
     59    } 
     60 
     61    public String getExpression() { 
     62        return expression; 
    5063    } 
    5164 
  • trunk/src/com/romraider/logger/external/te/plugin/TEDataSource.java

    r338 r339  
    5353 
    5454    { 
    55         dataItems.put(Lambda, new TEDataItemImpl("Wideband", new String[]{"Lambda", "AFR"}, Lambda, WIDEBAND_AFR_LAMBDA)); 
    56         dataItems.put(AFR, new TEDataItemImpl("Wideband", new String[]{"AFR"}, Lambda, WIDEBAND_AFR_GASOLINE147)); 
    57         dataItems.put(USR1, new TEDataItemImpl("User 1", new String[]{"VDC"}, USR1, VDC)); 
    58         dataItems.put(USR2, new TEDataItemImpl("User 2", new String[]{"VDC"}, USR2, VDC)); 
    59         dataItems.put(USR3, new TEDataItemImpl("User 3", new String[]{"VDC"}, USR3, VDC)); 
    60         dataItems.put(TC1, new TEDataItemImpl("Thermocouple 1", new String[]{"raw"}, TC1, RAW)); 
    61         dataItems.put(TC2, new TEDataItemImpl("Thermocouple 2", new String[]{"raw"}, TC2, RAW)); 
    62         dataItems.put(TC3, new TEDataItemImpl("Thermocouple 3", new String[]{"raw"}, TC3, RAW)); 
    63         dataItems.put(TorVss, new TEDataItemImpl("Thermistor or Vss", new String[]{"raw"}, TorVss, RAW)); 
    64         dataItems.put(RPM, new TEDataItemImpl("Engine Speed (4-cyl)", new String[]{"RPM"}, RPM, ENGINE_SPEED)); 
     55//        dataItems.put(Lambda, new TEDataItemImpl("Wideband", new String[]{"Lambda", "AFR"}, Lambda, WIDEBAND_AFR_LAMBDA)); 
     56//        dataItems.put(AFR, new TEDataItemImpl("Wideband", new String[]{"AFR"}, Lambda, WIDEBAND_AFR_GASOLINE147)); 
     57//        dataItems.put(USR1, new TEDataItemImpl("User 1", new String[]{"VDC"}, USR1, VDC)); 
     58//        dataItems.put(USR2, new TEDataItemImpl("User 2", new String[]{"VDC"}, USR2, VDC)); 
     59//        dataItems.put(USR3, new TEDataItemImpl("User 3", new String[]{"VDC"}, USR3, VDC)); 
     60//        dataItems.put(TC1, new TEDataItemImpl("Thermocouple 1", new String[]{"raw"}, TC1, RAW)); 
     61//        dataItems.put(TC2, new TEDataItemImpl("Thermocouple 2", new String[]{"raw"}, TC2, RAW)); 
     62//        dataItems.put(TC3, new TEDataItemImpl("Thermocouple 3", new String[]{"raw"}, TC3, RAW)); 
     63//        dataItems.put(TorVss, new TEDataItemImpl("Thermistor or Vss", new String[]{"raw"}, TorVss, RAW)); 
     64//        dataItems.put(RPM, new TEDataItemImpl("Engine Speed (4-cyl)", new String[]{"RPM"}, RPM, ENGINE_SPEED)); 
     65        dataItems.put(Lambda, new TEDataItemImpl("Wideband", "Lambda", Lambda, WIDEBAND_AFR_LAMBDA, "x", "0.##")); 
     66        dataItems.put(AFR, new TEDataItemImpl("Wideband", "AFR", Lambda, WIDEBAND_AFR_GASOLINE147, "x", "0.##")); 
     67        dataItems.put(USR1, new TEDataItemImpl("User 1", "VDC", USR1, VDC, "x", "0.##")); 
     68        dataItems.put(USR2, new TEDataItemImpl("User 2", "VDC", USR2, VDC, "x", "0.##")); 
     69        dataItems.put(USR3, new TEDataItemImpl("User 3", "VDC", USR3, VDC, "x", "0.##")); 
     70        dataItems.put(TC1, new TEDataItemImpl("Thermocouple 1", "raw", TC1, RAW, "x", "0.##")); 
     71        dataItems.put(TC2, new TEDataItemImpl("Thermocouple 2", "raw", TC2, RAW, "x", "0.##")); 
     72        dataItems.put(TC3, new TEDataItemImpl("Thermocouple 3", "raw", TC3, RAW, "x", "0.##")); 
     73        dataItems.put(TorVss, new TEDataItemImpl("Thermistor or Vss", "raw", TorVss, RAW, "x", "0.##")); 
     74        dataItems.put(RPM, new TEDataItemImpl("Engine Speed (4-cyl)", "RPM", RPM, ENGINE_SPEED, "x", "0.##")); 
    6575    } 
    6676 
Note: See TracChangeset for help on using the changeset viewer.