mirror of https://github.com/rusefi/RomRaider.git
Enginuity 0.2.7.3 Beta.
Note that I skipped 0.2.7.2 as that release was missing the src folder. git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@28 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
parent
4b62c5b266
commit
207b35fd2b
|
@ -29,8 +29,8 @@
|
|||
<scaling units="RPM" expression="x/256*50" to_byte="x/50*256" format="#" increment="256" />
|
||||
</table>
|
||||
<description>"Ignition Correction values, added * IAM / 16."</description>
|
||||
</table>
|
||||
|
||||
</table>
|
||||
|
||||
<table type="3D" name="FUEL - Low Detonation" category="Fuel" swapxy="false" flipx="false" flipy="false" storagetype="uint8" endian="big" sizex="14" sizey="16">
|
||||
<scaling units="Air/Fuel Ratio" expression="14.7/(1+x/128)" to_byte="(14.7/x-1)*128" format="#.00" increment="1" />
|
||||
<table type="X Axis" name="Engine Load" storagetype="uint16" endian="big" sizex="14">
|
||||
|
@ -173,12 +173,12 @@
|
|||
</table>
|
||||
|
||||
<table type="3D" name="EGT Limit" category="CEL" swapxy="false" flipx="false" flipy="false" storagetype="uint8" endian="big" sizex="2" sizey="2">
|
||||
<scaling units="?" expression="1.8*(x-40)*5+32" to_byte="1.8/(x+40)/5-32" format="#" increment="1" />
|
||||
<scaling units="Celcius" expression="(x*4)+40" to_byte="(x-40)/4" format="#" increment="1" />
|
||||
<table type="X Axis" name="Load" storagetype="uint16" endian="big" sizex="2">
|
||||
<scaling units="grams" expression="x/8192" to_byte="x*8192" format="0.00" increment="256" />
|
||||
<scaling units="grams" expression="x*.0001220703125" to_byte="x/.0001220703125" format="#.00" increment="256" />
|
||||
</table>
|
||||
<table type="Y Axis" name="Engine RPM" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="RPM" expression="x/256*50" to_byte="x/50*256" format="#" increment="256" />
|
||||
<table type="Y Axis" name="RPM" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="RPM" expression="x*.1953125" to_byte="x/.1953125" format="#" increment="256" />
|
||||
</table>
|
||||
<description>"Maximum allowed Exhaust Gas Temperature limit before Check Engine Light."</description>
|
||||
</table>
|
||||
|
@ -192,8 +192,8 @@
|
|||
<description>"RPM at which limiter turns on and off."</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="Rev Limit - IGN Retard" category="Timing" storagetype="uint16" endian="big" sizey="1">
|
||||
<scaling units="degrees" expression="x/360" to_byte="x*360" format="#.00" increment="1"/>
|
||||
<table type="1D" name="Rev Limit - IGN Retard" category="Timing" storagetype="uint8" endian="big" sizey="1">
|
||||
<scaling units="degrees" expression="x*.3515625" to_byte="x/.3515625" format="#.00" increment="1"/>
|
||||
<description>"Degrees of Ignition to Retard when hitting the limiter"</description>
|
||||
</table>
|
||||
|
||||
|
@ -208,9 +208,20 @@
|
|||
</table>
|
||||
|
||||
<table type="2D" name="BOOST - Compensation (Atmospheric Pressure)" category="Boost" storagetype="uint8" endian="big" sizey="12">
|
||||
<scaling units="%" expression="x/2.55" to_byte="x*2.55" format="#" increment="3" />
|
||||
<table type="Y Axis" name="Atmospheric Pressure" storagetype="uint16" endian="big" sizey="12">
|
||||
<scaling units="?" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<scaling units="WG DC %" expression="(x*.78125)-100" to_byte="(x+100)/.78125" format="#.00" increment="1" />
|
||||
<table type="Static Y Axis" name="Atm Pressure PSI" sizey="12">
|
||||
<data>7.83</data>
|
||||
<data>8.55</data>
|
||||
<data>9.13</data>
|
||||
<data>9.71</data>
|
||||
<data>10.44</data>
|
||||
<data>11.02</data>
|
||||
<data>11.60</data>
|
||||
<data>12.18</data>
|
||||
<data>12.90</data>
|
||||
<data>13.48</data>
|
||||
<data>14.06</data>
|
||||
<data>14.64</data>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
|
@ -226,9 +237,14 @@
|
|||
</table>
|
||||
|
||||
<table type="2D" name="Wastegate Duty Compensation (Atmospheric Pressure)" category="Boost" storagetype="uint8" endian="big" sizey="6">
|
||||
<scaling units="%" expression="x/2.55" to_byte="x*2.55" format="#" increment="3" />
|
||||
<table type="Y Axis" name="Atmospheric Pressure" storagetype="uint16" endian="big" sizey="6">
|
||||
<scaling units="?" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<scaling units="%" expression="(x*.78125)-100" to_byte="(x+100)/.78125" format="#.00" increment="1" />
|
||||
<table type="Static Y Axis" name="Atmospheric Pressure PSI" sizey="6">
|
||||
<data>8.55</data>
|
||||
<data>9.71</data>
|
||||
<data>11.02</data>
|
||||
<data>12.18</data>
|
||||
<data>13.48</data>
|
||||
<data>14.64</data>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
|
@ -305,20 +321,29 @@
|
|||
<description>"Voltage at which a CEL will throw due to MAF voltage"</description>
|
||||
</table>
|
||||
|
||||
<table type="2D" name="Boost Limit (CEL) ?" category="CEL" storagetype="uint16" endian="big" sizey="5">
|
||||
<scaling units="PSI" expression="x/100" to_byte="x*100" format="#.00" increment="256" />
|
||||
<table type="Y Axis" name="?" storagetype="uint16" endian="big" sizey="5">
|
||||
<scaling units="?" expression="x" to_byte="x" format="#" increment="256" />
|
||||
<table type="2D" name="Boost Limit (CEL)" category="CEL" storagetype="uint16" endian="big" sizey="5">
|
||||
<scaling units="Relative PSI" expression="(x*0.019290019154)-14.4" to_byte="(x+14.4)/0.019290019154" format="#.00" increment="256" />
|
||||
<table type="Static Y Axis" name="Atm Pressure PSI" sizey="5">
|
||||
<data>9.71</data>
|
||||
<data>11.02</data>
|
||||
<data>12.18</data>
|
||||
<data>13.48</data>
|
||||
<data>14.64</data>
|
||||
</table>
|
||||
<description>"Max boost before Check Engine Light, per gear?"</description>
|
||||
<description>"Max boost before Check Engine Light, Relative PSI vs Atmospheric"</description>
|
||||
</table>
|
||||
|
||||
<table type="2D" name="Boost Limit (Fuel Cut) ?" category="Boost" storagetype="uint16" endian="big" sizey="5">
|
||||
<scaling units="?" expression="x/100" to_byte="x*100" format="#.00" increment="256" />
|
||||
<table type="Y Axis" name="?" storagetype="uint16" endian="big" sizey="5">
|
||||
<scaling units="?" expression="x" to_byte="x" format="#" increment="256" />
|
||||
<table type="2D" name="Boost Limit (Fuel Cut)" category="Boost" storagetype="uint16" endian="big" sizey="6">
|
||||
<scaling units="Relative PSI" expression="(x*0.019290019154)-14.5" to_byte="(x+14.5)/0.019290019154" format="#.00" increment="1" />
|
||||
<table type="Static Y Axis" name="Atm Pressure PSI" sizey="6">
|
||||
<data>8.55</data>
|
||||
<data>9.71</data>
|
||||
<data>11.02</data>
|
||||
<data>12.18</data>
|
||||
<data>13.48</data>
|
||||
<data>14.64</data>
|
||||
</table>
|
||||
<description>"Max boost before fuel cut."</description>
|
||||
<description>"Max boost before fuel cut Boost is Relative vs Atmospheric Pressure"</description>
|
||||
</table>
|
||||
|
||||
<table type="2D" name="Tip-In Enrichment" category="Fuel" storagetype="uint8" endian="big" sizey="18">
|
||||
|
@ -354,18 +379,46 @@
|
|||
<description>"Open Loop Throttle Threshold %"</description>
|
||||
</table>
|
||||
|
||||
<table type="2D" name="CL TPS Min Enter" category="OLCL" storagetype="uint8" endian="big" sizey="16">
|
||||
<scaling units="TPS %" expression="x*.58828936483126" to_byte="x/.58828936483126" format="#.00" increment="1" />
|
||||
<table type="Static Y Axis" name="RPM" sizey="16">
|
||||
<data>0</data>
|
||||
<data>400</data>
|
||||
<data>800</data>
|
||||
<data>1200</data>
|
||||
<data>1600</data>
|
||||
<data>2000</data>
|
||||
<data>2400</data>
|
||||
<data>2800</data>
|
||||
<data>3200</data>
|
||||
<data>3600</data>
|
||||
<data>4000</data>
|
||||
<data>4400</data>
|
||||
<data>4800</data>
|
||||
<data>5200</data>
|
||||
<data>5600</data>
|
||||
<data>6000</data>
|
||||
</table>
|
||||
<description>"Min amount of Throttle to Enable Closed Loop?"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Cruise AFR" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<scaling units="AFR" expression="(x*-.00179443359375)+22.27969" to_byte="(x-22.27969)/-.00179443359375" format="#.00" increment="256" />
|
||||
<description>"CL Cruise AFR"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Min Coolant Temp" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<scaling units="F" expression="1.8*(x/256)+32" to_byte="(x-32)/1.8*256" format="#" increment="256" />
|
||||
<description>"Minimum coolant temp for closed loop fueling."</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Max EGT" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<scaling units="Degrees F" expression="1.8*(x/256)+32" to_byte="(x-32)/1.8*256" format="#" increment="256" />
|
||||
<table type="1D" name="CL Max EGT" category="OLCL" storagetype="uint8" endian="big" sizey="2">
|
||||
<scaling units="Degrees F" expression="((x*4)+40)*1.8+32" to_byte="(((x-32)/1.8)-40)/4" format="#" increment="256" />
|
||||
<description>"Maximum exhaust gas temperature for closed loop fueling."</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Max EGT - High Det" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<scaling units="Degrees F" expression="1.8*(x/256)+32" to_byte="(x-32)/1.8*256" format="#" increment="256" />
|
||||
<table type="1D" name="CL Max EGT - High Det" category="OLCL" storagetype="uint8" endian="big" sizey="2">
|
||||
<scaling units="Degrees F" expression="((x*4)+40)*1.8+32" to_byte="(((x-32)/1.8)-40)/4" format="#" increment="256" />
|
||||
<description>"Maximum exhaust gas temperature for closed loop fueling. High Det"</description>
|
||||
</table>
|
||||
|
||||
|
@ -399,22 +452,45 @@
|
|||
<description>"Closed Loop Modified Load"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Delay A" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<table type="2D" name="CL Modified Load - Bugeye" category="OLCL" storagetype="uint8" endian="big" sizey="16">
|
||||
<scaling units="Inj MS" expression="x*.0625" to_byte="x/.0625" format="#.00" increment="1" />
|
||||
<table type="Static Y Axis" name="Engine RPM" sizey="16">
|
||||
<data>0</data>
|
||||
<data>400</data>
|
||||
<data>800</data>
|
||||
<data>1200</data>
|
||||
<data>1600</data>
|
||||
<data>2000</data>
|
||||
<data>2400</data>
|
||||
<data>2800</data>
|
||||
<data>3200</data>
|
||||
<data>3600</data>
|
||||
<data>4000</data>
|
||||
<data>4400</data>
|
||||
<data>4800</data>
|
||||
<data>5200</data>
|
||||
<data>5600</data>
|
||||
<data>6000</data>
|
||||
</table>
|
||||
<description>"Closed Loop Modified Load"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Delay A - Inc RPM" category="OLCL" storagetype="uint16" endian="big" sizey="4">
|
||||
<scaling units="g/sec" expression="x/8912" to_byte="x*8912" format="#.00" increment="256" />
|
||||
<description>"CL Delays A (g/sec) Increasing RPM"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Delay B" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<table type="1D" name="CL Delay B - Dec RPM" category="OLCL" storagetype="uint16" endian="big" sizey="4">
|
||||
<scaling units="g/sec" expression="x/8912" to_byte="x*8912" format="#.00" increment="256" />
|
||||
<description>"CL Delays B (g/sec) Decreasing RPM"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Delay C" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<table type="1D" name="CL Delay C - Inc MPH" category="OLCL" storagetype="uint16" endian="big" sizey="4">
|
||||
<scaling units="g/sec" expression="x/8912" to_byte="x*8912" format="#.00" increment="256" />
|
||||
<description>"CL Delays C (g/sec) Increasing MPH"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CL Delay D" category="OLCL" storagetype="uint16" endian="big" sizey="1">
|
||||
<table type="1D" name="CL Delay D - Dec MPH" category="OLCL" storagetype="uint16" endian="big" sizey="4">
|
||||
<scaling units="g/sec" expression="x/8912" to_byte="x*8912" format="#.00" increment="256" />
|
||||
<description>"CL Delays D (g/sec) Decreasing MPH"</description>
|
||||
</table>
|
||||
|
@ -459,48 +535,69 @@
|
|||
<description>"ECU Id and Cal ID"</description>
|
||||
</table>
|
||||
|
||||
<table type="3D" name="test" category="Boost" swapxy="false" flipx="false" flipy="false" storagetype="uint8" endian="big" sizex="10" sizey="14">
|
||||
<scaling units="?" expression="x" to_byte="x" format="#" increment="3" />
|
||||
<table type="X Axis" name="?" storagetype="uint16" endian="big" sizex="10">
|
||||
<scaling units="?" expression="x" to_byte="x" format="#" increment="256" />
|
||||
</table>
|
||||
<table type="Y Axis" name="?" storagetype="uint16" endian="big" sizey="14">
|
||||
<scaling units="?" expression="x" to_byte="x" format="#" increment="256" />
|
||||
</table>
|
||||
<description>"test"</description>
|
||||
</table>
|
||||
|
||||
|
||||
<table type="1D" name="CEL - P0037" category="CEL" storagetype="uint16" endian="big" sizey="2">
|
||||
<table type="1D" name="CEL - P0037" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0037"</description>
|
||||
<description>"CEL - P0037 Rear O2 Sensor Heater Control Circuit Low"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P0038" category="CEL" storagetype="uint16" endian="big" sizey="2">
|
||||
<table type="1D" name="CEL - P0038" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0038"</description>
|
||||
<description>"CEL - P0038 Rear 02 Sensor Heater Control Circuit High"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P0137" category="CEL" storagetype="uint16" endian="big" sizey="2">
|
||||
<table type="1D" name="CEL - P0137" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0137"</description>
|
||||
<description>"CEL - P0137 Rear O2 Sensor Low Voltage"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P0138" category="CEL" storagetype="uint16" endian="big" sizey="2">
|
||||
<table type="1D" name="CEL - P0138" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0138"</description>
|
||||
<description>"CEL - P0138 Rear O2 Sensor High Voltage"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P0139" category="CEL" storagetype="uint16" endian="big" sizey="2">
|
||||
<table type="1D" name="CEL - P0139" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0139"</description>
|
||||
<description>"CEL - P0139 Rear O2 Sensor Circuit Slow Response"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P0420" category="CEL" storagetype="uint16" endian="big" sizey="2">
|
||||
<table type="1D" name="CEL - P0420" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0420"</description>
|
||||
<description>"CEL - P0420 Catalyst System Efficiency Below Threshold"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P0545" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0545 Exhaust Gas Temperature Sensor Circuit Low"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P0546" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P0546 Exhaust Gas Temperature Sensor Circuit High"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P1301" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P1301 Misfire Detected (High Temperature Exhaust Gas)"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P1312" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P1312 Exhaust Gas Temperature Sensor Malfunction"</description>
|
||||
</table>
|
||||
|
||||
<table type="1D" name="CEL - P1544" category="CEL Fix" storagetype="uint16" endian="big" sizey="2">
|
||||
<scaling units="DTC Code" expression="x" to_byte="x" format="#" increment="1" />
|
||||
<description>"CEL - P1544 Exhaust Gas Temperature Too High"</description>
|
||||
</table>
|
||||
|
||||
|
||||
<table type="2D" name="Front o2 Scaling" category="Fuel" storagetype="uint16" endian="big" sizey="13">
|
||||
<scaling units="AFR" expression="(x*.0001220703125)*14.7" to_byte="(x/14.7)/.0001220703125" format="#.00" increment="1" />
|
||||
<table type="Y Axis" name="Voltage" storagetype="uint16" endian="big" sizey="13">
|
||||
<scaling units="volts" expression="x" to_byte="x" format="#.00" increment="1" />
|
||||
<description>"Front o2 Sensor Scaling"</description>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
</rom>
|
||||
|
||||
|
@ -516,6 +613,7 @@
|
|||
<year>2004</year>
|
||||
<flashmethod>wrx04</flashmethod>
|
||||
<memmodel>unknown</memmodel>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
|
||||
<table name="IGN - Base Timing" storageaddress="0x293EB">
|
||||
|
@ -526,8 +624,8 @@
|
|||
<table name="IGN - Correction" storageaddress="0x298BD">
|
||||
<table type="X Axis" storageaddress="0x298A1"/>
|
||||
<table type="Y Axis" storageaddress="0x29880"/>
|
||||
</table>
|
||||
|
||||
</table>
|
||||
|
||||
<table name="BOOST - WG DC (MT)" storageaddress="0x2A68E">
|
||||
<table type="X Axis" storageaddress="0x2A67C" />
|
||||
<table type="Y Axis" storageaddress="0x2A66B" />
|
||||
|
@ -548,9 +646,9 @@
|
|||
<table type="Y Axis" storageaddress="0x28EED" />
|
||||
</table>
|
||||
|
||||
<table name="EGT Limit" storageaddress="0x2AFFC">
|
||||
<table type="X Axis" storageaddress="0x2AFF6" />
|
||||
<table type="Y Axis" storageaddress="0x2AFF1" />
|
||||
<table name="EGT Limit" storageaddress="0x2AFFA">
|
||||
<table type="X Axis" storageaddress="0x2AFEF" />
|
||||
<table type="Y Axis" storageaddress="0x2AFF4" />
|
||||
</table>
|
||||
|
||||
|
||||
|
@ -568,18 +666,13 @@
|
|||
<table name="Injector Pulse Width" storageaddress="0x286C3" />
|
||||
<table name="Boost Speed Limiting" storageaddress="0x2A7DC" />
|
||||
<table name="Fuel Speed Limiting" storageaddress="0x291E9" />
|
||||
|
||||
<table name="CEL - MAF Threshold" storageaddress="0x2AD7C" />
|
||||
<table name="MAF Sensor Scaling" storageaddress="0x2808A">
|
||||
<table type="Y Axis" storageaddress="0x28028" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (CEL) ?" storageaddress="0x2AECE">
|
||||
<table type="Y Axis" storageaddress="0x2AECA" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (Fuel Cut) ?" storageaddress="0x291F9">
|
||||
<table type="Y Axis" storageaddress="0x291F5" />
|
||||
</table>
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2AEE1" />
|
||||
<table name="Boost Limit (Fuel Cut)" storageaddress="0x291F9" />
|
||||
|
||||
<table name="Tip-In Enrichment" storageaddress="0x29107">
|
||||
<table type="Y Axis" storageaddress="0x290E5" />
|
||||
|
@ -590,6 +683,8 @@
|
|||
<table name="AM - Boost Disable" storageaddress="0x2A7EF" />
|
||||
<table name="AM - Fuel Map Switch Threshold" storageaddress="0x28DCC" />
|
||||
<table name="OL TPS Threshold" storageaddress="0x28D5A"/>
|
||||
<table name="CL TPS Min Enter" storageaddress="0x28A8E"/>
|
||||
<table name="CL Cruise AFR" storageaddress="0x0F3E8"/>
|
||||
<table name="CL Min Coolant Temp" storageaddress="0x28D60" />
|
||||
<table name="CL Max EGT" storageaddress="0x28D68" />
|
||||
<table name="CL Max EGT - High Det" storageaddress="0x28D6A" />
|
||||
|
@ -599,10 +694,10 @@
|
|||
<table name="CL Max MPH Increasing" storageaddress="0x28D67" />
|
||||
<table name="CL Max MPH Trigger" storageaddress="0x28D6B"/>
|
||||
<table name="CL Modified Load" storageaddress="0x28D5D" />
|
||||
<table name="CL Delay A" storageaddress="0x28D72" />
|
||||
<table name="CL Delay B" storageaddress="0x28D7A" />
|
||||
<table name="CL Delay C" storageaddress="0x28D82" />
|
||||
<table name="CL Delay D" storageaddress="0x28D8A" />
|
||||
<table name="CL Delay A - Inc RPM" storageaddress="0x28D72" />
|
||||
<table name="CL Delay B - Dec RPM" storageaddress="0x28D7A" />
|
||||
<table name="CL Delay C - Inc MPH" storageaddress="0x28D82" />
|
||||
<table name="CL Delay D - Dec MPH" storageaddress="0x28D8A" />
|
||||
<table name="IDLE - Min Speed Startup (AT)" storageaddress="0x29FAA" />
|
||||
<table name="IDLE - Min Speed Startup (MT)" storageaddress="0x29FB4" />
|
||||
<table name="IDLE - Min Speed A/C (AT)" storageaddress="0x29D9F" />
|
||||
|
@ -618,17 +713,13 @@
|
|||
<table type="Y Axis" storageaddress="0x2A78F" />
|
||||
</table>
|
||||
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2A774">
|
||||
<table type="Y Axis" storageaddress="0x2A75D" />
|
||||
</table>
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2A774" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Speed)" storageaddress="0x29A33">
|
||||
<table type="Y Axis" storageaddress="0x29A11" />
|
||||
</table>
|
||||
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2A6D4">
|
||||
<table type="Y Axis" storageaddress="0x2A6D9" />
|
||||
</table>
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2A6D4" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Intake Temp)" storageaddress="0x2A6DE" />
|
||||
|
||||
|
@ -637,7 +728,16 @@
|
|||
<table name="CEL - P0137" storageaddress="0x2C478" />
|
||||
<table name="CEL - P0138" storageaddress="0x2C490" />
|
||||
<table name="CEL - P0139" storageaddress="0x2C3F0" />
|
||||
<table name="CEL - P0420" storageaddress="0x2C40C" />
|
||||
<table name="CEL - P0420" storageaddress="0x2C40C" />
|
||||
<table name="CEL - P0545" storageaddress="0x2C5E0" />
|
||||
<table name="CEL - P0546" storageaddress="0x2C5E4" />
|
||||
<table name="CEL - P1301" storageaddress="0x2C448" />
|
||||
<table name="CEL - P1312" storageaddress="0x2C5E8" />
|
||||
<table name="CEL - P1544" storageaddress="0x2C5EC" />
|
||||
|
||||
<table name="Front o2 Scaling" storageaddress="0x282AF">
|
||||
<table type="Y Axis" storageaddress="0x28293" />
|
||||
</table>
|
||||
|
||||
</rom>
|
||||
|
||||
|
@ -647,6 +747,15 @@
|
|||
<internalidaddress>200</internalidaddress>
|
||||
<internalidstring>A4TF800E</internalidstring>
|
||||
</romid>
|
||||
|
||||
<table name="EGT Limit" storageaddress="0x2AFFE">
|
||||
<table type="X Axis" storageaddress="0x2AFF8" />
|
||||
<table type="Y Axis" storageaddress="0x2AFF3" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2AECE" />
|
||||
<table name="CL Cruise AFR" storageaddress="0x1F2C4"/>
|
||||
|
||||
</rom>
|
||||
|
||||
<rom base="A4TF400E">
|
||||
|
@ -654,6 +763,7 @@
|
|||
<xmlid>A4TF300E</xmlid>
|
||||
<internalidaddress>200</internalidaddress>
|
||||
<internalidstring>A4TF300E</internalidstring>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
</rom>
|
||||
|
||||
|
@ -662,13 +772,17 @@
|
|||
<xmlid>A4TF500F</xmlid>
|
||||
<internalidaddress>200</internalidaddress>
|
||||
<internalidstring>A4TF500F</internalidstring>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
|
||||
<table name="Boost Limit (CEL) ?" storageaddress="0x2AEE1">
|
||||
<table type="Y Axis" storageaddress="0x2AEDD" />
|
||||
</table>
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2AEE1" />
|
||||
<table name="CL Cruise AFR" storageaddress="0x0F3E2"/>
|
||||
<table name="Coarse Ignition Range (Load)" storageaddress="0x29996" />
|
||||
|
||||
<table name="Coarse Ignition Range (Load)" storageaddress="0x29996" />
|
||||
<table name="EGT Limit" storageaddress="0x2AFFA">
|
||||
<table type="X Axis" storageaddress="0x2AFEF" />
|
||||
<table type="Y Axis" storageaddress="0x2AFF4" />
|
||||
</table>
|
||||
|
||||
</rom>
|
||||
|
||||
|
@ -677,16 +791,15 @@
|
|||
<xmlid>A4TF510F</xmlid>
|
||||
<internalidaddress>200</internalidaddress>
|
||||
<internalidstring>A4TF510F</internalidstring>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
<table name="EGT Limit" storageaddress="0x2B002">
|
||||
<table type="X Axis" storageaddress="0x2AFFC" />
|
||||
<table type="Y Axis" storageaddress="0x2AFF7" />
|
||||
<table name="EGT Limit" storageaddress="0x2B004">
|
||||
<table type="X Axis" storageaddress="0x2AFF9" />
|
||||
<table type="Y Axis" storageaddress="0x2AFFE" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (CEL) ?" storageaddress="0x2AEE1">
|
||||
<table type="Y Axis" storageaddress="0x2AEDD" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2AEE1" />
|
||||
<table name="CL Cruise AFR" storageaddress="0x0F22C"/>
|
||||
</rom>
|
||||
|
||||
<rom base="A4TF400E">
|
||||
|
@ -695,6 +808,27 @@
|
|||
<internalidaddress>200</internalidaddress>
|
||||
<internalidstring>A4TF800F</internalidstring>
|
||||
</romid>
|
||||
|
||||
<table name="EGT Limit" storageaddress="0x2AFFE">
|
||||
<table type="X Axis" storageaddress="0x2AFF8" />
|
||||
<table type="Y Axis" storageaddress="0x2AFF3" />
|
||||
</table>
|
||||
|
||||
<table name="CL Cruise AFR" storageaddress="0x1F2C4"/>
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2AECE" />
|
||||
|
||||
<table name="CEL - P0037" storageaddress="0x2C574" />
|
||||
<table name="CEL - P0038" storageaddress="0x2C56C" />
|
||||
<table name="CEL - P0137" storageaddress="0x2C538" />
|
||||
<table name="CEL - P0138" storageaddress="0x2C550" />
|
||||
<table name="CEL - P0139" storageaddress="0x2C4B0" />
|
||||
<table name="CEL - P0420" storageaddress="0x2C4CC" />
|
||||
<table name="CEL - P0545" storageaddress="0x2C6A0" />
|
||||
<table name="CEL - P0546" storageaddress="0x2C6A4" />
|
||||
<table name="CEL - P1301" storageaddress="0x2C508" />
|
||||
<table name="CEL - P1312" storageaddress="0x2C6A8" />
|
||||
<table name="CEL - P1544" storageaddress="0x2C6AC" />
|
||||
|
||||
</rom>
|
||||
|
||||
<rom base="WRXBASE">
|
||||
|
@ -741,13 +875,13 @@
|
|||
<table type="Y Axis" storageaddress="0x28EED" />
|
||||
</table>
|
||||
|
||||
<table name="EGT Limit" storageaddress="0x2B01C">
|
||||
<table type="X Axis" storageaddress="0x2B016" />
|
||||
<table type="Y Axis" storageaddress="0x2B011" />
|
||||
<table name="EGT Limit" storageaddress="0x2B01E">
|
||||
<table type="X Axis" storageaddress="0x2B013" />
|
||||
<table type="Y Axis" storageaddress="0x2B018" />
|
||||
</table>
|
||||
|
||||
<table name="Rev Limit" storageaddress="0x291C8" />
|
||||
<table name="Rev Limit - IGN Retard" storageaddress="0x2971B" />
|
||||
<table name="Rev Limit - IGN Retard" storageaddress="0x29735" />
|
||||
<table name="Knock Detection Range (RPM)" storageaddress="0x299E2" />
|
||||
<table name="Knock Detection - Min Load" storageaddress="0x299EA" />
|
||||
<table name="Knock Learning Range (RPM)" storageaddress="0x299FF" />
|
||||
|
@ -765,13 +899,9 @@
|
|||
<table type="Y Axis" storageaddress="0x28028" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (CEL) ?" storageaddress="0x2AEFB">
|
||||
<table type="Y Axis" storageaddress="0x2AEF7" />
|
||||
</table>
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2AEFB" />
|
||||
|
||||
<table name="Boost Limit (Fuel Cut) ?" storageaddress="0x291F9">
|
||||
<table type="Y Axis" storageaddress="0x291F5" />
|
||||
</table>
|
||||
<table name="Boost Limit (Fuel Cut)" storageaddress="0x291F9" />
|
||||
|
||||
<table name="Tip-In Enrichment" storageaddress="0x29107">
|
||||
<table type="Y Axis" storageaddress="0x290E5" />
|
||||
|
@ -782,6 +912,8 @@
|
|||
<table name="AM - Boost Disable" storageaddress="0x2A809" />
|
||||
<table name="AM - Fuel Map Switch Threshold" storageaddress="0x28DCC" />
|
||||
<table name="OL TPS Threshold" storageaddress="0x28D5A" />
|
||||
<table name="CL TPS Min Enter" storageaddress="0x28A8E"/>
|
||||
<table name="CL Cruise AFR" storageaddress="0x2F4EC"/>
|
||||
<table name="CL Min Coolant Temp" storageaddress="0x28D60" />
|
||||
<table name="CL Max EGT" storageaddress="0x28D68" />
|
||||
<table name="CL Max EGT - High Det" storageaddress="0x28D6A" />
|
||||
|
@ -791,10 +923,10 @@
|
|||
<table name="CL Max MPH Increasing" storageaddress="0x28D67" />
|
||||
<table name="CL Max MPH Trigger" storageaddress="0x28D6B" />
|
||||
<table name="CL Modified Load" storageaddress="0x28D5D" />
|
||||
<table name="CL Delay A" storageaddress="0x28D72" />
|
||||
<table name="CL Delay B" storageaddress="0x28D7A" />
|
||||
<table name="CL Delay C" storageaddress="0x28D82" />
|
||||
<table name="CL Delay D" storageaddress="0x28D8A" />
|
||||
<table name="CL Delay A - Inc RPM" storageaddress="0x28D72" />
|
||||
<table name="CL Delay B - Dec RPM" storageaddress="0x28D7A" />
|
||||
<table name="CL Delay C - Inc MPH" storageaddress="0x28D82" />
|
||||
<table name="CL Delay D - Dec MPH" storageaddress="0x28D8A" />
|
||||
<table name="IDLE - Min Speed Startup (AT)" storageaddress="0x29FC4" />
|
||||
<table name="IDLE - Min Speed Startup (MT)" storageaddress="0x29FCE" />
|
||||
<table name="IDLE - Min Speed A/C (AT)" storageaddress="0x29DB9" />
|
||||
|
@ -810,20 +942,31 @@
|
|||
<table type="Y Axis" storageaddress="0x2A7A9" />
|
||||
</table>
|
||||
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2A78E">
|
||||
<table type="Y Axis" storageaddress="0x2A777" />
|
||||
</table>
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2A78E" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Speed)" storageaddress="0x29A4D">
|
||||
<table type="Y Axis" storageaddress="0x29A2B" />
|
||||
</table>
|
||||
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2A6ED">
|
||||
<table type="Y Axis" storageaddress="0x2A6CB" />
|
||||
</table>
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2A6EE" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Intake Temp)" storageaddress="0x2A6F7" />
|
||||
<table name="Wastegate Duty Compensation (Intake Temp)" storageaddress="0x2A6F7" />
|
||||
|
||||
<table name="CEL - P0037" storageaddress="0x2C534" />
|
||||
<table name="CEL - P0038" storageaddress="0x2C52C" />
|
||||
<table name="CEL - P0137" storageaddress="0x2C4F8" />
|
||||
<table name="CEL - P0138" storageaddress="0x2C510" />
|
||||
<table name="CEL - P0139" storageaddress="0x2C470" />
|
||||
<table name="CEL - P0420" storageaddress="0x2C48C" />
|
||||
<table name="CEL - P0545" storageaddress="0x2C660" />
|
||||
<table name="CEL - P0546" storageaddress="0x2C664" />
|
||||
<table name="CEL - P1301" storageaddress="0x2C4C8" />
|
||||
<table name="CEL - P1312" storageaddress="0x2C668" />
|
||||
<table name="CEL - P1544" storageaddress="0x2C66C" />
|
||||
|
||||
<table name="Front o2 Scaling" storageaddress="0x282AF">
|
||||
<table type="Y Axis" storageaddress="0x28293" />
|
||||
</table>
|
||||
</rom>
|
||||
|
||||
<rom base="A4TF520F">
|
||||
|
@ -846,6 +989,7 @@
|
|||
<year>2002</year>
|
||||
<flashmethod>wrx02</flashmethod>
|
||||
<memmodel>unknown</memmodel>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
|
||||
<table name="FUEL - Low Detonation" storageaddress="0x293A4" sizex="15">
|
||||
|
@ -887,15 +1031,11 @@
|
|||
<table name="Coarse Ignition Range (Load)" storageaddress="0x2A1F7" />
|
||||
<table name="Boost Speed Limiting" storageaddress="0x2B522" />
|
||||
<table name="Fuel Speed Limiting" storageaddress="0x298D4" />
|
||||
<table name="Boost Limit (CEL) ?" storageaddress="0x2BB80" />
|
||||
<table name="Boost Limit (Fuel Cut) ?" storageaddress="0x298E3" />
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2BB80" />
|
||||
<table name="Boost Limit (Fuel Cut)" storageaddress="0x298E3" />
|
||||
<table name="CL Min Coolant Temp" storageaddress="0x292BB" />
|
||||
<table name="IAM - Initial" storageaddress="0x2A1EE" />
|
||||
|
||||
<table name="test" storageaddress="0x2DA8A" >
|
||||
<table type="X Axis" storageaddress="0x2DB16" />
|
||||
<table type="Y Axis" storageaddress="0x2DA5E" />
|
||||
</table>
|
||||
</rom>
|
||||
|
||||
<rom base="A4SGC00C">
|
||||
|
@ -918,7 +1058,7 @@
|
|||
<year>2003</year>
|
||||
<flashmethod>wrx02</flashmethod>
|
||||
<memmodel>unknown</memmodel>
|
||||
<obsolete>true</obsolete>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
|
||||
<table name="FUEL - Low Detonation" storageaddress="0x28E12" sizex="14" sizey="16">
|
||||
|
@ -946,9 +1086,9 @@
|
|||
<table type="Y Axis" storageaddress="0x2A711" />
|
||||
</table>
|
||||
|
||||
<table name="EGT Limit" storageaddress="0x2B0AF">
|
||||
<table type="X Axis" storageaddress="0x2B0A9" />
|
||||
<table type="Y Axis" storageaddress="0x2B0A4" />
|
||||
<table name="EGT Limit" storageaddress="0x2B0B1">
|
||||
<table type="X Axis" storageaddress="0x2B0A6" />
|
||||
<table type="Y Axis" storageaddress="0x2B0AB" />
|
||||
</table>
|
||||
|
||||
<table name="MAF Sensor Scaling" storageaddress="0x2808A">
|
||||
|
@ -961,8 +1101,8 @@
|
|||
<table type="Y Axis" storageaddress="0x290EB" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (CEL) ?" storageaddress="0x2AF6A" />
|
||||
<table name="Boost Limit (Fuel Cut) ?" storageaddress="0x291FF" />
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2AF6A" />
|
||||
<table name="Boost Limit (Fuel Cut)" storageaddress="0x291FF" />
|
||||
<table name="Injector Flow Scaling" storageaddress="0x28699" />
|
||||
<table name="Injector Pulse Width" storageaddress="0x286A1" />
|
||||
<table name="Rev Limit" storageaddress="0x291CE" />
|
||||
|
@ -983,18 +1123,19 @@
|
|||
<table name="AM - Fuel Map Switch Threshold" storageaddress="0x28DD1" />
|
||||
<table name="OL TPS Threshold" storageaddress="0x28D43"/>
|
||||
<table name="CL Min Coolant Temp" storageaddress="0x28D39" />
|
||||
<table name="CL TPS Min Enter" storageaddress="0x28A6C"/>
|
||||
<table name="CL Cruise AFR" storageaddress="0x157E2"/>
|
||||
<table name="CL Max EGT" storageaddress="0x28D49" />
|
||||
<table name="CL Max EGT - High Det" storageaddress="0x28D4B" />
|
||||
<table name="CL Max RPM Decreasing" storageaddress="0x28D3B" />
|
||||
<table name="CL Max RPM Increasing" storageaddress="0x28D3D" />
|
||||
<table name="CL Max MPH Decreasing" storageaddress="0x28D3F" />
|
||||
<table name="CL Max MPH Increasing" storageaddress="0x28D40" />
|
||||
<table name="CL Max MPH Trigger" storageaddress="0x28D44"/>
|
||||
<table name="CL Modified Load" storageaddress="0x28D36" />
|
||||
<table name="CL Delay A" storageaddress="0x28D51" />
|
||||
<table name="CL Delay B" storageaddress="0x28D59" />
|
||||
<table name="CL Delay C" storageaddress="0x28D61" />
|
||||
<table name="CL Delay D" storageaddress="0x28D69" />
|
||||
<table name="CL Modified Load - Bugeye" storageaddress="0x28D91" />
|
||||
<table name="CL Delay A - Inc RPM" storageaddress="0x28D51" />
|
||||
<table name="CL Delay B - Dec RPM" storageaddress="0x28D59" />
|
||||
<table name="CL Delay C - Inc MPH" storageaddress="0x28D61" />
|
||||
<table name="CL Delay D - Dec MPH" storageaddress="0x28D69" />
|
||||
<table name="IDLE - Min Speed Startup (AT)" storageaddress="0x29FAE" />
|
||||
<table name="IDLE - Min Speed Startup (MT)" storageaddress="0x29FB8" />
|
||||
<table name="IDLE - Min Speed A/C (AT)" storageaddress="0x29DA3" />
|
||||
|
@ -1010,19 +1151,31 @@
|
|||
<table type="Y Axis" storageaddress="0x2A79F" />
|
||||
</table>
|
||||
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2A784">
|
||||
<table type="Y Axis" storageaddress="0x2A76D" />
|
||||
</table>
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2A784" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Speed)" storageaddress="0x29A37">
|
||||
<table type="Y Axis" storageaddress="0x29A15" />
|
||||
</table>
|
||||
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2A6E4">
|
||||
<table type="Y Axis" storageaddress="0x2A6E9" />
|
||||
</table>
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2A6E4" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Intake Temp)" storageaddress="0x2A6F1" />
|
||||
<table name="Wastegate Duty Compensation (Intake Temp)" storageaddress="0x2A6F1" />
|
||||
|
||||
<table name="CEL - P0037" storageaddress="0x2C9B4" />
|
||||
<table name="CEL - P0038" storageaddress="0x2C9AC" />
|
||||
<table name="CEL - P0137" storageaddress="0x2C978" />
|
||||
<table name="CEL - P0138" storageaddress="0x2C990" />
|
||||
<table name="CEL - P0139" storageaddress="0x2C8F0" />
|
||||
<table name="CEL - P0420" storageaddress="0x2C90C" />
|
||||
<table name="CEL - P0545" storageaddress="0x2CAE0" />
|
||||
<table name="CEL - P0546" storageaddress="0x2CAE4" />
|
||||
<table name="CEL - P1301" storageaddress="0x2C948" />
|
||||
<table name="CEL - P1312" storageaddress="0x2CAE8" />
|
||||
<table name="CEL - P1544" storageaddress="0x2CAEC" />
|
||||
|
||||
<table name="Front o2 Scaling" storageaddress="0x2828D">
|
||||
<table type="Y Axis" storageaddress="0x28271" />
|
||||
</table>
|
||||
|
||||
</rom>
|
||||
|
||||
|
@ -1080,6 +1233,11 @@
|
|||
<table type="Y Axis" storageaddress="0x2B44B" />
|
||||
</table>
|
||||
|
||||
<table name="EGT Limit" storageaddress="0x2BC9E">
|
||||
<table type="X Axis" storageaddress="0x2BC93" />
|
||||
<table type="Y Axis" storageaddress="0x2BC98" />
|
||||
</table>
|
||||
|
||||
<table name="Rev Limit" storageaddress="0x298B4" />
|
||||
<table name="Rev Limit - IGN Retard" storageaddress="0x29F7B" />
|
||||
<table name="Boost Speed Limiting" storageaddress="0x2B522" />
|
||||
|
@ -1101,13 +1259,8 @@
|
|||
|
||||
<table name="CEL - MAF Threshold" storageaddress="0x2B94B" />
|
||||
|
||||
<table name="Boost Limit (CEL) ?" storageaddress="0x2BB85">
|
||||
<table type="Y Axis" storageaddress="0x2BB81" />
|
||||
</table>
|
||||
|
||||
<table name="Boost Limit (Fuel Cut) ?" storageaddress="0x298E4">
|
||||
<table type="Y Axis" storageaddress="0x298E0" />
|
||||
</table>
|
||||
<table name="Boost Limit (CEL)" storageaddress="0x2BB85" />
|
||||
<table name="Boost Limit (Fuel Cut)" storageaddress="0x298E4" />
|
||||
|
||||
<table name="Tip-In Enrichment" storageaddress="0x29796">
|
||||
<table type="Y Axis" storageaddress="0x29774" />
|
||||
|
@ -1119,18 +1272,19 @@
|
|||
<table name="AM - Fuel Map Switch Threshold" storageaddress="0x29353" />
|
||||
<table name="OL TPS Threshold" storageaddress="0x292C5"/>
|
||||
<table name="CL Min Coolant Temp" storageaddress="0x292BB" />
|
||||
<table name="CL TPS Min Enter" storageaddress="0x28F39"/>
|
||||
<table name="CL Cruise AFR" storageaddress="0x15FEA"/>
|
||||
<table name="CL Max EGT" storageaddress="0x292CB" />
|
||||
<table name="CL Max EGT - High Det" storageaddress="0x292CD" />
|
||||
<table name="CL Max RPM Decreasing" storageaddress="0x292BD" />
|
||||
<table name="CL Max RPM Increasing" storageaddress="0x292BF" />
|
||||
<table name="CL Max MPH Decreasing" storageaddress="0x292C1" />
|
||||
<table name="CL Max MPH Increasing" storageaddress="0x292C2" />
|
||||
<table name="CL Max MPH Trigger" storageaddress="0x292C6"/>
|
||||
<table name="CL Modified Load" storageaddress="0x292B8" />
|
||||
<table name="CL Delay A" storageaddress="0x292D3" />
|
||||
<table name="CL Delay B" storageaddress="0x292DB" />
|
||||
<table name="CL Delay C" storageaddress="0x292E3" />
|
||||
<table name="CL Delay D" storageaddress="0x292EB" />
|
||||
<table name="CL Modified Load - Bugeye" storageaddress="0x29313" />
|
||||
<table name="CL Delay A - Inc RPM" storageaddress="0x292D3" />
|
||||
<table name="CL Delay B - Dec RPM" storageaddress="0x292DB" />
|
||||
<table name="CL Delay C - Inc MPH" storageaddress="0x292E3" />
|
||||
<table name="CL Delay D - Dec MPH" storageaddress="0x292EB" />
|
||||
<table name="IDLE - Min Speed Startup (AT)" storageaddress="0x2AAFC" />
|
||||
<table name="IDLE - Min Speed Startup (MT)" storageaddress="0x2AB04" />
|
||||
<table name="IDLE - Min Speed A/C (AT)" storageaddress="0x2A8A2" />
|
||||
|
@ -1146,19 +1300,29 @@
|
|||
<table type="Y Axis" storageaddress="0x2B4D9" />
|
||||
</table>
|
||||
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2B4BE">
|
||||
<table type="Y Axis" storageaddress="0x2B4A7" />
|
||||
</table>
|
||||
<table name="BOOST - Compensation (Atmospheric Pressure)" storageaddress="0x2B4BE" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Speed)" storageaddress="0x2A2B8">
|
||||
<table type="Y Axis" storageaddress="0x2A296" />
|
||||
</table>
|
||||
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2B3B1">
|
||||
<table type="Y Axis" storageaddress="0x2B3B6" />
|
||||
</table>
|
||||
<table name="Wastegate Duty Compensation (Atmospheric Pressure)" storageaddress="0x2B3B1" />
|
||||
|
||||
<table name="Wastegate Duty Compensation (Intake Temp)" storageaddress="0x2B3BE" />
|
||||
<table name="Wastegate Duty Compensation (Intake Temp)" storageaddress="0x2B3BE" />
|
||||
|
||||
<table name="CEL - P0037" storageaddress="0x2DBB4" />
|
||||
<table name="CEL - P0038" storageaddress="0x2DBAC" />
|
||||
<table name="CEL - P0139" storageaddress="0x2DAF0" />
|
||||
<table name="CEL - P0420" storageaddress="0x2DB0C" />
|
||||
<table name="CEL - P0545" storageaddress="0x2DCE0" />
|
||||
<table name="CEL - P0546" storageaddress="0x2DCE4" />
|
||||
<table name="CEL - P1301" storageaddress="0x2DB48" />
|
||||
<table name="CEL - P1312" storageaddress="0x2DCE8" />
|
||||
<table name="CEL - P1544" storageaddress="0x2DCEC" />
|
||||
|
||||
<table name="Front o2 Scaling" storageaddress="0x2855F">
|
||||
<table type="Y Axis" storageaddress="0x28543" />
|
||||
</table>
|
||||
|
||||
</rom>
|
||||
|
||||
|
@ -1167,36 +1331,9 @@
|
|||
<xmlid>A4SG900C</xmlid>
|
||||
<internalidaddress>200</internalidaddress>
|
||||
<internalidstring>A4SG900C</internalidstring>
|
||||
<caseid>?</caseid>
|
||||
<ecuid>1</ecuid>
|
||||
<market>?</market>
|
||||
<transmission>?</transmission>
|
||||
<year>2002</year>
|
||||
<flashmethod>wrx02</flashmethod>
|
||||
<memmodel>unknown</memmodel>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
<table name="FUEL - Low Detonation" storageaddress="0x293A4" sizex="16" sizey="18">
|
||||
<table type="X Axis" storageaddress="0x29382" />
|
||||
<table type="Y Axis" storageaddress="0x2935D" />
|
||||
</table>
|
||||
<table name="IGN - Base Timing" storageaddress="0x29BF7" sizey="18">
|
||||
<table type="X Axis" storageaddress="0x29BD5" />
|
||||
<table type="Y Axis" storageaddress="0x29BB0" />
|
||||
</table>
|
||||
<table name="IGN - Correction" storageaddress="0x2A18C" sizex="16" sizey="18">
|
||||
<table type="X Axis" storageaddress="0x2A16A" />
|
||||
<table type="Y Axis" storageaddress="0x2A145" />
|
||||
</table>
|
||||
<table name="BOOST - WG DC (MT)" storageaddress="0x2B39E">
|
||||
<table type="X Axis" storageaddress="0x2B38C" />
|
||||
<table type="Y Axis" storageaddress="0x2B37B" />
|
||||
</table>
|
||||
<table name="BOOST - Target PSI (MT)" storageaddress="0x2B499">
|
||||
<table type="X Axis" storageaddress="0x2B487" />
|
||||
<table type="Y Axis" storageaddress="0x2B474" />
|
||||
</table>
|
||||
|
||||
|
||||
</rom>
|
||||
|
||||
<rom base="WRXBASE">
|
||||
|
@ -1212,6 +1349,7 @@
|
|||
<flashmethod>wrx02</flashmethod>
|
||||
<memmodel>unknown</memmodel>
|
||||
<filesize>160kb</filesize>
|
||||
<obsolete>true</obsolete>
|
||||
</romid>
|
||||
<table name="FUEL - Low Detonation" storageaddress="0x20CB7" sizex="16" sizey="16">
|
||||
<table type="X Axis" storageaddress="0x20C95" />
|
||||
|
|
|
@ -5,20 +5,36 @@ Enginuity is currently in BETA TEST status, meaning it is not thoroughly tested
|
|||
Until Enginuity reaches a mature point, releases will be quite frequent and will usually contain significant changes. However, some times I may release a revision to add a single feature I'd like users to have, or maybe just to add a certain ECU version. Until more features are complete, version support will be quite limited. If you'd like your ECU version to be added, please visit openecu.org and post a message in the Technical Tuning Software forum, with your image attached.
|
||||
|
||||
|
||||
0.2.7.1b Release Notes (4/12/2006)
|
||||
--------------------------------
|
||||
There were a few small bugs with settings not saving properly. Fixed.
|
||||
0.2.7.3b Release Notes (4/17/2006)
|
||||
----------------------------------
|
||||
The next release was supposed to include table comparing, but I found more changes I wanted to make than I originally anticipated. Once again, a number of minor bugs have been fixed as well as a couple small new features. The major issue with 0.2.7.2b was false byte conversion warnings being generated. This has been fixed. Table comparing will be available in the next release, hopefully in the next week.
|
||||
|
||||
|
||||
0.2.7b Release Notes (4/12/2006)
|
||||
--------------------------------
|
||||
The main goal of this release was fixing known issues and adding a settings panel. The settings panel now allows you to choose the way tables are displayed, which warnings will be displayed and specify system files. Settings are now stored in settings.xml -- the old method caused settings to be lost whenever a new feature was introduced with a release. A message will appear the first time you run the new version telling you Enginuity is creating a new settings file.
|
||||
|
||||
Bug fixes are listed in the changes below. A memory usage issue still exists in 0.2.7b which. Opening or refreshing several images will continue to result in increased memory usage, even after an image is closed. This bug will be looked in to and should be fixed for the next release.
|
||||
|
||||
|
||||
Changes:
|
||||
--------
|
||||
0.2.7.3b (4/17/2006)
|
||||
--------------------
|
||||
- Fix border colors not showing changes from keyboard
|
||||
- Add progress indicators
|
||||
- Remove table definition generator
|
||||
- Fix refresh button closing images with same filename
|
||||
- Fix border/background of static axiis
|
||||
- Fix rounding problems causing false conflicts for conversion expressions
|
||||
- Fix set value not updating borders
|
||||
- Reset default settings option
|
||||
- Fix cell border not saving
|
||||
- Improve warning messages
|
||||
- Fix ECU definition file settings not saving
|
||||
- Fix last image directory resetting
|
||||
- Fix updated cell border not updating
|
||||
|
||||
|
||||
0.2.7.2b (4/12/2006)
|
||||
--------------------
|
||||
- Fixed close all images
|
||||
|
||||
|
||||
0.2.7.1b (4/12/2006)
|
||||
--------------------
|
||||
- Fixed ECU definitions not saving
|
||||
|
|
|
@ -11,29 +11,31 @@ import enginuity.swing.RomTreeNode;
|
|||
import enginuity.swing.TableTreeNode;
|
||||
import enginuity.swing.TableFrame;
|
||||
import enginuity.net.URL;
|
||||
import enginuity.swing.JProgressPane;
|
||||
import enginuity.xml.DOMSettingsBuilder;
|
||||
import enginuity.xml.DOMSettingsUnmarshaller;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.event.WindowListener;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JSplitPane;
|
||||
import java.util.Vector;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import org.w3c.dom.Document;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
public class ECUEditor extends JFrame implements WindowListener {
|
||||
|
||||
|
@ -42,7 +44,7 @@ public class ECUEditor extends JFrame implements WindowListener {
|
|||
private RomTree imageList = new RomTree(imageRoot);
|
||||
private Vector<Rom> images = new Vector<Rom>();
|
||||
private Settings settings = new Settings();
|
||||
private String version = new String("0.2.7 Beta");
|
||||
private String version = new String("0.2.8 Beta");
|
||||
private String versionDate = new String("4/12/2006");
|
||||
private String titleText = new String("Enginuity v" + version);
|
||||
private MDIDesktopPane rightPanel = new MDIDesktopPane();
|
||||
|
@ -107,7 +109,10 @@ public class ECUEditor extends JFrame implements WindowListener {
|
|||
|
||||
DOMSettingsBuilder builder = new DOMSettingsBuilder();
|
||||
try {
|
||||
builder.buildSettings(settings, new File("./settings.xml"));
|
||||
JProgressPane progress = new JProgressPane(this, "Saving settings...", "Saving settings...");
|
||||
|
||||
builder.buildSettings(settings, new File("./settings.xml"), progress);
|
||||
|
||||
} catch (IOException ex) { }
|
||||
}
|
||||
public void windowOpened(WindowEvent e) { }
|
||||
|
@ -150,11 +155,23 @@ public class ECUEditor extends JFrame implements WindowListener {
|
|||
|
||||
if (input.getRomID().isObsolete() && settings.isObsoleteWarning()) {
|
||||
JPanel infoPanel = new JPanel();
|
||||
infoPanel.setLayout(new GridLayout(4, 1));
|
||||
infoPanel.add(new JLabel("A newer version of this ECU revision exists."));
|
||||
infoPanel.add(new JLabel("Please visit the following link to download the latest revision:"));
|
||||
infoPanel.add(new JLabel());
|
||||
infoPanel.add(new URL(getSettings().getRomRevisionURL()));
|
||||
infoPanel.setLayout(new GridLayout(3, 1));
|
||||
infoPanel.add(new JLabel("A newer version of this ECU revision exists. " +
|
||||
"Please visit the following link to download the latest revision:"));
|
||||
infoPanel.add(new URL(getSettings().getRomRevisionURL()));
|
||||
|
||||
JCheckBox check = new JCheckBox("Always display this message", true);
|
||||
check.setHorizontalAlignment(check.RIGHT);
|
||||
|
||||
check.addActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
settings.setObsoleteWarning(((JCheckBox)e.getSource()).isSelected());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
infoPanel.add(check);
|
||||
new JOptionPane().showMessageDialog(this, infoPanel, "ECU Revision is Obsolete", JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
input.setContainer(this);
|
||||
|
@ -204,9 +221,8 @@ public class ECUEditor extends JFrame implements WindowListener {
|
|||
while (imageRoot.getChildCount() > 0) {
|
||||
((Rom)images.get(0)).closeImage();
|
||||
images.remove(0);
|
||||
imageRoot.remove(0);
|
||||
}
|
||||
images.removeAllElements();
|
||||
imageRoot.removeAllChildren();
|
||||
imageList.updateUI();
|
||||
setLastSelectedRom(null);
|
||||
rightPanel.removeAll();
|
||||
|
@ -249,4 +265,9 @@ public class ECUEditor extends JFrame implements WindowListener {
|
|||
images.get(i).setContainer(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void repaintPanel() {
|
||||
rightPanel.repaint();
|
||||
rightPanel.update(rightPanel.getGraphics());
|
||||
}
|
||||
}
|
|
@ -74,13 +74,6 @@ public class DataCell extends JLabel implements MouseListener, Serializable {
|
|||
this.setBinValue((int)(Math.pow(256, table.getStorageType()) - 1));
|
||||
}
|
||||
this.updateDisplayValue();
|
||||
/*if (binValue > getOriginalValue()) {
|
||||
this.setBorder(new LineBorder(increaseBorder, 2));
|
||||
} else if (binValue < getOriginalValue()) {
|
||||
this.setBorder(new LineBorder(decreaseBorder, 2));
|
||||
} else {
|
||||
this.setBorder(new LineBorder(Color.BLACK, 1));
|
||||
}*/
|
||||
}
|
||||
|
||||
public int getBinValue() {
|
||||
|
@ -145,6 +138,7 @@ public class DataCell extends JLabel implements MouseListener, Serializable {
|
|||
public void increment(int increment) {
|
||||
if (table.getScale().getIncrement() < 0) increment = 0 - increment;
|
||||
this.setBinValue(binValue + increment);
|
||||
table.colorize();
|
||||
}
|
||||
|
||||
public void setTable(Table table) {
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
package enginuity.maps;
|
||||
|
||||
import enginuity.maps.RomID;
|
||||
import enginuity.maps.Table;
|
||||
import enginuity.ECUEditor;
|
||||
import enginuity.swing.JProgressPane;
|
||||
import enginuity.xml.TableNotFoundException;
|
||||
import java.awt.GridLayout;
|
||||
import java.io.File;
|
||||
import java.io.Serializable;
|
||||
import java.util.Vector;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
//import Enginuity.
|
||||
|
||||
|
@ -53,9 +49,14 @@ public class Rom implements Serializable {
|
|||
}
|
||||
}
|
||||
|
||||
public void populateTables(byte[] binData) {
|
||||
public void populateTables(byte[] binData, JProgressPane progress) {
|
||||
this.binData = binData;
|
||||
for (int i = 0; i < getTables().size(); i++) {
|
||||
|
||||
// update progress
|
||||
int currProgress = (int)((double)i / (double)getTables().size() * 40);
|
||||
progress.update("Populating " + tables.get(i).getName() + " table...", 40 + currProgress);
|
||||
|
||||
try {
|
||||
// if storageaddress has not been set (or is set to 0) omit table
|
||||
if (tables.get(i).getStorageAddress() != 0) {
|
||||
|
|
|
@ -12,6 +12,7 @@ import java.awt.datatransfer.DataFlavor;
|
|||
import java.awt.datatransfer.StringSelection;
|
||||
import java.awt.datatransfer.UnsupportedFlavorException;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.KeyListener;
|
||||
import java.io.IOException;
|
||||
|
@ -20,6 +21,8 @@ import java.util.StringTokenizer;
|
|||
import javax.swing.AbstractAction;
|
||||
import javax.swing.Action;
|
||||
import javax.swing.InputMap;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.KeyStroke;
|
||||
|
@ -66,6 +69,7 @@ public abstract class Table extends JPanel implements Serializable {
|
|||
protected Table axisParent;
|
||||
protected Color maxColor;
|
||||
protected Color minColor;
|
||||
protected boolean isAxis = false;
|
||||
|
||||
public Table() {
|
||||
this.setLayout(borderLayout);
|
||||
|
@ -400,7 +404,7 @@ public abstract class Table extends JPanel implements Serializable {
|
|||
}
|
||||
|
||||
public void colorize() {
|
||||
if (!isStatic) {
|
||||
if (!isStatic && !isAxis) {
|
||||
int high = 0;
|
||||
int low = 999999999;
|
||||
|
||||
|
@ -429,7 +433,14 @@ public abstract class Table extends JPanel implements Serializable {
|
|||
data[i].setBorder(new LineBorder(Color.BLACK, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else { // is static/axis
|
||||
for (int i = 0; i < getDataSize(); i++) {
|
||||
data[i].setColor(axisParent.getRom().getContainer().getSettings().getAxisColor());
|
||||
data[i].setOpaque(true);
|
||||
data[i].setBorder(new LineBorder(Color.BLACK, 1));
|
||||
data[i].setHorizontalAlignment(data[i].CENTER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setFrame(TableFrame frame) {
|
||||
|
@ -463,6 +474,7 @@ public abstract class Table extends JPanel implements Serializable {
|
|||
if (data[i].isSelected()) data[i].setRealValue(realValue);
|
||||
}
|
||||
}
|
||||
colorize();
|
||||
}
|
||||
|
||||
public Rom getRom() {
|
||||
|
@ -733,13 +745,28 @@ public abstract class Table extends JPanel implements Serializable {
|
|||
parser.addVariable("x", toReal);
|
||||
parser.parseExpression(scale.getByteExpression());
|
||||
|
||||
if (parser.getValue() != 5 && container.getContainer().getSettings().isCalcConflictWarning()) {
|
||||
new JOptionPane().showMessageDialog(container.getContainer(),
|
||||
"The real value and byte value conversion expressions for\n" +
|
||||
"table " + name +
|
||||
" are invalid.\n\n" +
|
||||
"To real value: " + scale.getExpression() + "\n" +
|
||||
"To byte: " + scale.getByteExpression(), "Byte Conversion Error", JOptionPane.ERROR_MESSAGE);
|
||||
if ((int)Math.round(parser.getValue()) != 5 && container.getContainer().getSettings().isCalcConflictWarning()) {
|
||||
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new GridLayout(3, 1));
|
||||
panel.add(new JLabel("The real value and byte value conversion expressions for table " + name + " are invalid."));
|
||||
panel.add(new JLabel("To real value: " + scale.getExpression() + "\n" +
|
||||
"To byte: " + scale.getByteExpression()));
|
||||
|
||||
JCheckBox check = new JCheckBox("Always display this message", true);
|
||||
check.setHorizontalAlignment(check.RIGHT);
|
||||
panel.add(check);
|
||||
|
||||
check.addActionListener(
|
||||
new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
getRom().getContainer().getSettings().setCalcConflictWarning(((JCheckBox)e.getSource()).isSelected());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
new JOptionPane().showMessageDialog(container.getContainer(), panel,
|
||||
"Warning", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,7 +9,6 @@ import javax.swing.JLabel;
|
|||
|
||||
public class Table1D extends Table implements Serializable {
|
||||
|
||||
private boolean isAxis = false;
|
||||
private Color axisColor = new Color(255, 255, 255);
|
||||
|
||||
public Table1D() {
|
||||
|
@ -54,13 +53,7 @@ public class Table1D extends Table implements Serializable {
|
|||
}
|
||||
|
||||
public void colorize() {
|
||||
if (!isAxis) {
|
||||
super.colorize();
|
||||
} else {
|
||||
for (int i = 0; i < this.getDataSize(); i++) {
|
||||
data[i].setColor(getAxisColor());
|
||||
}
|
||||
}
|
||||
super.colorize();
|
||||
}
|
||||
|
||||
public void cursorUp() {
|
||||
|
|
|
@ -326,6 +326,7 @@ public class Table3D extends Table implements Serializable {
|
|||
}
|
||||
xAxis.setRealValue(realValue);
|
||||
yAxis.setRealValue(realValue);
|
||||
colorize();
|
||||
}
|
||||
|
||||
public void addKeyListener(KeyListener listener) {
|
||||
|
|
|
@ -24,7 +24,7 @@ public class URL extends JLabel implements MouseListener {
|
|||
Font f = getFont();
|
||||
FontMetrics fm = getFontMetrics(f);
|
||||
int x1 = 0;
|
||||
int y1 = fm.getHeight();
|
||||
int y1 = fm.getHeight() + 3;
|
||||
int x2 = fm.stringWidth(getText());
|
||||
if (getText().length() > 0)
|
||||
g.drawLine(x1, y1, x2, y1);
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
package enginuity.swing;
|
||||
|
||||
import enginuity.swing.DebugPanel;
|
||||
import enginuity.swing.ECUImageFilter;
|
||||
import enginuity.swing.RomPropertyPanel;
|
||||
import enginuity.definitionbuilder.DefinitionBuilder;
|
||||
import enginuity.xml.RomNotFoundException;
|
||||
import enginuity.maps.Rom;
|
||||
import enginuity.xml.DOMRomUnmarshaller;
|
||||
|
@ -34,7 +30,6 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
|
|||
private JMenuItem closeAll = new JMenuItem("Close All Images");
|
||||
private JMenuItem exit = new JMenuItem("Exit");
|
||||
private JMenu editMenu = new JMenu("Edit");
|
||||
private JMenuItem tableDef = new JMenuItem("Table Definition Generator");
|
||||
private JMenuItem settings = new JMenuItem("Settings");
|
||||
private JMenu viewMenu = new JMenu("View");
|
||||
private JMenuItem romProperties = new JMenuItem("ECU Image Properties");
|
||||
|
@ -67,16 +62,12 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
|
|||
closeImage.addActionListener(this);
|
||||
closeAll.addActionListener(this);
|
||||
exit.addActionListener(this);
|
||||
tableDef.addActionListener(this);
|
||||
|
||||
add(editMenu);
|
||||
editMenu.setMnemonic('E');
|
||||
tableDef.setMnemonic('T');
|
||||
settings.setMnemonic('S');
|
||||
editMenu.add(tableDef);
|
||||
editMenu.add(new JSeparator());
|
||||
editMenu.add(settings);
|
||||
tableDef.addActionListener(this);
|
||||
settings.addActionListener(this);
|
||||
|
||||
|
||||
|
@ -120,6 +111,7 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
|
|||
new JOptionPane().showMessageDialog(parent, new DebugPanel(ex,
|
||||
parent.getSettings().getSupportURL()), "Exception", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
} else if (e.getSource() == saveImage) {
|
||||
try {
|
||||
this.saveImage(parent.getLastSelectedRom());
|
||||
|
@ -127,15 +119,20 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
|
|||
new JOptionPane().showMessageDialog(parent, new DebugPanel(ex,
|
||||
parent.getSettings().getSupportURL()), "Exception", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
} else if (e.getSource() == closeImage) {
|
||||
this.closeImage();
|
||||
|
||||
} else if (e.getSource() == closeAll) {
|
||||
this.closeAllImages();
|
||||
|
||||
} else if (e.getSource() == exit) {
|
||||
System.exit(0);
|
||||
|
||||
} else if (e.getSource() == romProperties) {
|
||||
new JOptionPane().showMessageDialog(parent, (Object)(new RomPropertyPanel(parent.getLastSelectedRom())),
|
||||
parent.getLastSelectedRom().getRomIDString() + " Properties", JOptionPane.INFORMATION_MESSAGE);
|
||||
|
||||
} else if (e.getSource() == refreshImage) {
|
||||
try {
|
||||
refreshImage();
|
||||
|
@ -144,8 +141,7 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
|
|||
new JOptionPane().showMessageDialog(parent, new DebugPanel(ex,
|
||||
parent.getSettings().getSupportURL()), "Exception", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
} else if (e.getSource() == tableDef) {
|
||||
new DefinitionBuilder(parent.getLastSelectedRom(), parent.getSettings().getLastImageDir());
|
||||
|
||||
} else if (e.getSource() == settings) {
|
||||
SettingsForm form = new SettingsForm(parent);
|
||||
form.setLocationRelativeTo(parent);
|
||||
|
@ -205,6 +201,9 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
|
|||
|
||||
public void openImage(File inputFile) throws XMLParseException, Exception {
|
||||
try {
|
||||
parent.repaintPanel();
|
||||
JProgressPane progress = new JProgressPane(parent, "Opening file...", "Parsing ECU definitions...");
|
||||
|
||||
InputSource src = new InputSource(new FileInputStream(parent.getSettings().getEcuDefinitionFile()));
|
||||
DOMRomUnmarshaller domUms = new DOMRomUnmarshaller();
|
||||
DOMParser parser = new DOMParser();
|
||||
|
@ -214,14 +213,20 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
|
|||
byte[] input = new byte[fis.available()];
|
||||
fis.read(input);
|
||||
fis.close();
|
||||
|
||||
Rom rom = domUms.unmarshallXMLDefinition(doc.getDocumentElement(), input);
|
||||
rom.populateTables(input);
|
||||
|
||||
progress.update("Finding ECU definition...", 10);
|
||||
|
||||
Rom rom = domUms.unmarshallXMLDefinition(doc.getDocumentElement(), input, progress);
|
||||
progress.update("Populating tables...", 50);
|
||||
rom.populateTables(input, progress);
|
||||
rom.setFileName(inputFile.getName());
|
||||
|
||||
parent.addRom(rom);
|
||||
rom.setFullFileName(inputFile);
|
||||
|
||||
|
||||
progress.update("Finalizing...", 90);
|
||||
parent.addRom(rom);
|
||||
rom.setFullFileName(inputFile);
|
||||
|
||||
progress.dispose();
|
||||
|
||||
} catch (RomNotFoundException ex) {
|
||||
new JOptionPane().showMessageDialog(parent, "ECU Definition Not Found", "Error Loading " + inputFile.getName(), JOptionPane.ERROR_MESSAGE);
|
||||
} catch (StackOverflowError ex) {
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package enginuity.swing;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.GridLayout;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JProgressBar;
|
||||
import javax.swing.border.LineBorder;
|
||||
|
||||
public class JProgressPane extends JFrame {
|
||||
|
||||
JLabel label = new JLabel();
|
||||
JProgressBar progressBar = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100);
|
||||
|
||||
public JProgressPane(Component component, String title, String status) {
|
||||
|
||||
JPanel panel = new JPanel();
|
||||
panel.setLayout(new GridLayout(2, 1));
|
||||
label.setHorizontalAlignment(label.CENTER);
|
||||
label.setText(status);
|
||||
panel.add(label);
|
||||
panel.add(progressBar);
|
||||
panel.setBorder(new LineBorder(getBackground(), 12));
|
||||
|
||||
setSize(400,60);
|
||||
setLocationRelativeTo(component);
|
||||
setTitle(title);
|
||||
setUndecorated(true);
|
||||
getContentPane().add(panel);
|
||||
|
||||
setVisible(true);
|
||||
requestFocus();
|
||||
}
|
||||
|
||||
public void update(String status, int percent) {
|
||||
label.setText(status);
|
||||
progressBar.setValue(percent);
|
||||
update(getGraphics());
|
||||
requestFocus();
|
||||
}
|
||||
}
|
|
@ -48,46 +48,63 @@
|
|||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="103" alignment="0" groupAlignment="1" attributes="0">
|
||||
<Component id="lblAxis" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="lblHighlight" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="lblMin" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="lblMax" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="maxColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="minColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="highlightColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="axisColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="57" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="lblDecrease" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="3" pref="3" max="3" attributes="0"/>
|
||||
<Component id="lblIncrease" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="103" alignment="0" groupAlignment="1" attributes="0">
|
||||
<Component id="lblAxis" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="lblHighlight" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="lblMin" alignment="1" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="lblMax" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="increaseColor" alignment="0" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="decreaseColor" alignment="0" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="maxColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="minColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="highlightColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="axisColor" alignment="1" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="1">
|
||||
<EmptySpace min="47" pref="47" max="47" attributes="0"/>
|
||||
<Component id="lblBorders" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="-2" pref="53" max="-2" attributes="0"/>
|
||||
<Component id="lblCellSize" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="-2" pref="57" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="lblDecrease" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="3" pref="3" max="3" attributes="0"/>
|
||||
<Component id="lblIncrease" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="increaseColor" alignment="0" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
<Component id="decreaseColor" alignment="0" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="1">
|
||||
<EmptySpace min="47" pref="47" max="47" attributes="0"/>
|
||||
<Component id="lblBorders" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="btnChooseFont" alignment="0" pref="140" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="lblFont" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="65" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="1">
|
||||
<EmptySpace min="-2" pref="47" max="-2" attributes="0"/>
|
||||
<Component id="lblBackgrounds" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="222" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
|
@ -99,38 +116,24 @@
|
|||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="1" attributes="0">
|
||||
<Group type="103" alignment="1" groupAlignment="0" attributes="0">
|
||||
<Component id="lblCellSize" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="10" pref="10" max="10" attributes="0"/>
|
||||
<Component id="cellWidth" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace min="10" pref="10" max="10" attributes="0"/>
|
||||
<Component id="cellWidth" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="cellHeight" min="-2" pref="50" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="-2" pref="133" max="-2" attributes="0"/>
|
||||
<Component id="lblFont" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace min="-2" pref="87" max="-2" attributes="0"/>
|
||||
<Component id="btnChooseFont" pref="115" max="32767" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="reset" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="34" max="32767" attributes="0"/>
|
||||
<Component id="btnApply" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="btnOk" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="btnCancel" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace pref="157" max="32767" attributes="0"/>
|
||||
<Component id="btnApply" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="btnOk" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="btnCancel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
|
@ -213,6 +216,7 @@
|
|||
<Component id="btnCancel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="btnOk" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="btnApply" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="reset" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
|
@ -451,5 +455,10 @@
|
|||
<Property name="text" type="java.lang.String" value="Choose"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JButton" name="reset">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value="Restore Defaults"/>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
|
|
|
@ -21,8 +21,25 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
this.parent = parent;
|
||||
settings = parent.getSettings();
|
||||
initComponents();
|
||||
initSettings();
|
||||
|
||||
maxColor.addMouseListener(this);
|
||||
minColor.addMouseListener(this);
|
||||
highlightColor.addMouseListener(this);
|
||||
axisColor.addMouseListener(this);
|
||||
increaseColor.addMouseListener(this);
|
||||
decreaseColor.addMouseListener(this);
|
||||
|
||||
btnOk.addMouseListener(this);
|
||||
btnApply.addMouseListener(this);
|
||||
btnCancel.addMouseListener(this);
|
||||
btnEcuDefinitionBrowse.addMouseListener(this);
|
||||
btnChooseFont.addMouseListener(this);
|
||||
reset.addMouseListener(this);
|
||||
}
|
||||
|
||||
private void initSettings() {
|
||||
|
||||
// set field values
|
||||
ecuDefinitionFile.setText(this.settings.getEcuDefinitionFile().getAbsolutePath());
|
||||
|
||||
obsoleteWarning.setSelected(settings.isObsoleteWarning());
|
||||
|
@ -36,24 +53,12 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
axisColor.setBackground(settings.getAxisColor());
|
||||
increaseColor.setBackground(settings.getIncreaseBorder());
|
||||
decreaseColor.setBackground(settings.getDecreaseBorder());
|
||||
maxColor.addMouseListener(this);
|
||||
minColor.addMouseListener(this);
|
||||
highlightColor.addMouseListener(this);
|
||||
axisColor.addMouseListener(this);
|
||||
increaseColor.addMouseListener(this);
|
||||
decreaseColor.addMouseListener(this);
|
||||
|
||||
cellWidth.setText(((int)settings.getCellSize().getWidth())+"");
|
||||
cellHeight.setText(((int)settings.getCellSize().getHeight())+"");
|
||||
|
||||
btnChooseFont.setFont(settings.getTableFont());
|
||||
btnChooseFont.setText(settings.getTableFont().getFontName());
|
||||
|
||||
btnOk.addMouseListener(this);
|
||||
btnApply.addMouseListener(this);
|
||||
btnCancel.addMouseListener(this);
|
||||
btnEcuDefinitionBrowse.addMouseListener(this);
|
||||
btnChooseFont.addMouseListener(this);
|
||||
}
|
||||
|
||||
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
|
||||
|
@ -89,6 +94,7 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
singleTableView = new javax.swing.JCheckBox();
|
||||
lblFont = new javax.swing.JLabel();
|
||||
btnChooseFont = new javax.swing.JButton();
|
||||
reset = new javax.swing.JButton();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
||||
setTitle("Enginuity Settings");
|
||||
|
@ -174,6 +180,8 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
|
||||
btnChooseFont.setText("Choose");
|
||||
|
||||
reset.setText("Restore Defaults");
|
||||
|
||||
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
|
||||
getContentPane().setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
|
@ -199,37 +207,48 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
.addContainerGap()
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
|
||||
.add(lblAxis)
|
||||
.add(lblHighlight)
|
||||
.add(lblMin))
|
||||
.add(lblMax))
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, maxColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, minColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, highlightColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, axisColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
||||
.add(57, 57, 57)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(lblDecrease)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(3, 3, 3)
|
||||
.add(lblIncrease)))
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
|
||||
.add(lblAxis)
|
||||
.add(lblHighlight)
|
||||
.add(lblMin))
|
||||
.add(lblMax))
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(increaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(decreaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, maxColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, minColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, highlightColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, axisColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(47, 47, 47)
|
||||
.add(lblBorders))))
|
||||
.add(53, 53, 53)
|
||||
.add(lblCellSize)))
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(57, 57, 57)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(lblDecrease)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(3, 3, 3)
|
||||
.add(lblIncrease)))
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(increaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||
.add(decreaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(47, 47, 47)
|
||||
.add(lblBorders))
|
||||
.add(btnChooseFont, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE)))
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(lblFont)
|
||||
.add(65, 65, 65))))
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(47, 47, 47)
|
||||
.add(lblBackgrounds)
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 222, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
|
||||
.add(lblBackgrounds))))
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(20, 20, 20)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
|
||||
|
@ -237,29 +256,19 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
.add(lblCellHeight))
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(lblCellSize)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(10, 10, 10)
|
||||
.add(cellWidth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
|
||||
.add(cellHeight, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
||||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||
.add(layout.createSequentialGroup()
|
||||
.add(133, 133, 133)
|
||||
.add(lblFont)
|
||||
.add(23, 23, 23))
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
|
||||
.add(87, 87, 87)
|
||||
.add(btnChooseFont, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 115, Short.MAX_VALUE)
|
||||
.add(18, 18, 18)))))
|
||||
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
|
||||
.addContainerGap(157, Short.MAX_VALUE)
|
||||
.add(btnApply)
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(btnOk)
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(btnCancel)
|
||||
.add(10, 10, 10)
|
||||
.add(cellWidth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
||||
.add(cellHeight, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
|
||||
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.add(reset)
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 34, Short.MAX_VALUE)
|
||||
.add(btnApply)
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(btnOk)
|
||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||
.add(btnCancel)))
|
||||
.addContainerGap())
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
|
@ -326,7 +335,8 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
|
||||
.add(btnCancel)
|
||||
.add(btnOk)
|
||||
.add(btnApply))
|
||||
.add(btnApply)
|
||||
.add(reset))
|
||||
.addContainerGap())
|
||||
);
|
||||
pack();
|
||||
|
@ -407,6 +417,10 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
btnChooseFont.setText(fc.getFont().getFontName());
|
||||
}
|
||||
|
||||
} else if (e.getSource() == reset) {
|
||||
settings = new Settings();
|
||||
initSettings();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -482,6 +496,7 @@ public class SettingsForm extends JFrame implements MouseListener {
|
|||
private javax.swing.JLabel maxColor;
|
||||
private javax.swing.JLabel minColor;
|
||||
private javax.swing.JCheckBox obsoleteWarning;
|
||||
private javax.swing.JButton reset;
|
||||
private javax.swing.JCheckBox singleTableView;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
|
|
|
@ -1,44 +1,92 @@
|
|||
package enginuity.swing;
|
||||
|
||||
import enginuity.maps.Table;
|
||||
import enginuity.maps.Table3D;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.ButtonGroup;
|
||||
import javax.swing.JMenu;
|
||||
import javax.swing.JMenuBar;
|
||||
import javax.swing.JMenuItem;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JRadioButtonMenuItem;
|
||||
import javax.swing.JSeparator;
|
||||
|
||||
public class TableMenuBar extends JMenuBar implements ActionListener {
|
||||
|
||||
private Table table;
|
||||
private JMenu fileMenu = new JMenu("Table");
|
||||
private JMenuItem compare = new JMenuItem("Compare");
|
||||
private JMenuItem graph = new JMenuItem("View Graph");
|
||||
private JMenuItem overlay = new JMenuItem("Overlay Log");
|
||||
private JMenuItem close = new JMenuItem("Close Table");
|
||||
private JMenu editMenu = new JMenu("Edit");
|
||||
private JMenuItem undoSel = new JMenuItem("Undo Selected Changes");
|
||||
private JMenuItem undoAll = new JMenuItem("Undo All Changes");
|
||||
private JMenuItem revert = new JMenuItem("Set Revert Point");
|
||||
private JMenuItem copySel = new JMenuItem("Copy Selection");
|
||||
private JMenuItem copyTable = new JMenuItem("Copy Table");
|
||||
private JMenuItem paste = new JMenuItem("Paste");
|
||||
private JMenu viewMenu = new JMenu("View");
|
||||
private JMenu fileMenu = new JMenu("Table");
|
||||
private JMenuItem graph = new JMenuItem("View Graph");
|
||||
private JMenuItem overlay = new JMenuItem("Overlay Log");
|
||||
|
||||
private JMenu compareMenu = new JMenu("Compare");
|
||||
private JRadioButtonMenuItem compareOriginal = new JRadioButtonMenuItem("Show Changes");
|
||||
private JRadioButtonMenuItem compareMap = new JRadioButtonMenuItem("Compare to Another Map");
|
||||
private JRadioButtonMenuItem compareOff = new JRadioButtonMenuItem("Off");
|
||||
private JMenu compareDisplay = new JMenu("Display");
|
||||
private JRadioButtonMenuItem comparePercent = new JRadioButtonMenuItem("Percent Difference");
|
||||
private JRadioButtonMenuItem compareAbsolute = new JRadioButtonMenuItem("Absolute Difference");
|
||||
|
||||
private JMenuItem close = new JMenuItem("Close Table");
|
||||
private JMenu editMenu = new JMenu("Edit");
|
||||
private JMenuItem undoSel = new JMenuItem("Undo Selected Changes");
|
||||
private JMenuItem undoAll = new JMenuItem("Undo All Changes");
|
||||
private JMenuItem revert = new JMenuItem("Set Revert Point");
|
||||
private JMenuItem copySel = new JMenuItem("Copy Selection");
|
||||
private JMenuItem copyTable = new JMenuItem("Copy Table");
|
||||
private JMenuItem paste = new JMenuItem("Paste");
|
||||
private JMenu viewMenu = new JMenu("View");
|
||||
private JMenuItem tableProperties = new JMenuItem("Table Properties");
|
||||
|
||||
private ButtonGroup compareGroup = new ButtonGroup();
|
||||
private ButtonGroup compareDisplayGroup = new ButtonGroup();
|
||||
|
||||
public TableMenuBar(Table table) {
|
||||
super();
|
||||
this.table = table;
|
||||
this.add(fileMenu);
|
||||
fileMenu.add(compare);
|
||||
fileMenu.add(graph);
|
||||
fileMenu.add(overlay);
|
||||
fileMenu.add(compareMenu);
|
||||
compareMenu.add(compareOriginal);
|
||||
compareMenu.add(compareMap);
|
||||
compareMenu.add(compareOff);
|
||||
compareMenu.add(new JSeparator());
|
||||
compareMenu.add(compareDisplay);
|
||||
compareDisplay.add(comparePercent);
|
||||
compareDisplay.add(compareAbsolute);
|
||||
fileMenu.add(new JSeparator());
|
||||
fileMenu.add(close);
|
||||
close.setText("Close " + table.getName());
|
||||
|
||||
compareMenu.setMnemonic('C');
|
||||
//////////
|
||||
|
||||
compareMenu.setEnabled(false);
|
||||
|
||||
////////
|
||||
compareOriginal.setMnemonic('C');
|
||||
compareMap.setMnemonic('M');
|
||||
compareOff.setMnemonic('O');
|
||||
compareOff.setSelected(true);
|
||||
compareDisplay.setMnemonic('D');
|
||||
comparePercent.setMnemonic('P');
|
||||
compareAbsolute.setMnemonic('A');
|
||||
compareAbsolute.setSelected(true);
|
||||
|
||||
compareGroup.add(compareOriginal);
|
||||
compareGroup.add(compareMap);
|
||||
compareGroup.add(compareOff);
|
||||
|
||||
compareDisplayGroup.add(comparePercent);
|
||||
compareDisplayGroup.add(compareAbsolute);
|
||||
|
||||
compareOriginal.addActionListener(this);
|
||||
compareMap.addActionListener(this);
|
||||
compareOff.addActionListener(this);
|
||||
comparePercent.addActionListener(this);
|
||||
compareAbsolute.addActionListener(this);
|
||||
|
||||
|
||||
this.add(editMenu);
|
||||
editMenu.add(undoSel);
|
||||
editMenu.add(undoAll);
|
||||
|
@ -62,7 +110,6 @@ public class TableMenuBar extends JMenuBar implements ActionListener {
|
|||
tableProperties.setMnemonic('P');
|
||||
tableProperties.addActionListener(this);
|
||||
|
||||
compare.addActionListener(this);
|
||||
graph.addActionListener(this);
|
||||
overlay.addActionListener(this);
|
||||
undoSel.addActionListener(this);
|
||||
|
@ -72,15 +119,13 @@ public class TableMenuBar extends JMenuBar implements ActionListener {
|
|||
|
||||
fileMenu.setMnemonic('F');
|
||||
fileMenu.setMnemonic('T');
|
||||
compare.setMnemonic('P');
|
||||
graph.setMnemonic('G');
|
||||
overlay.setMnemonic('L');
|
||||
undoSel.setMnemonic('U');
|
||||
undoAll.setMnemonic('A');
|
||||
revert.setMnemonic('R');
|
||||
close.setMnemonic('C');
|
||||
close.setMnemonic('X');
|
||||
|
||||
compare.setEnabled(false);
|
||||
graph.setEnabled(false);
|
||||
overlay.setEnabled(false);
|
||||
}
|
||||
|
|
|
@ -3,17 +3,21 @@
|
|||
package enginuity.xml;
|
||||
|
||||
import enginuity.maps.*;
|
||||
import enginuity.swing.JProgressPane;
|
||||
import javax.management.modelmbean.XMLParseException;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
public class DOMRomUnmarshaller {
|
||||
|
||||
private JProgressPane progress;
|
||||
|
||||
public DOMRomUnmarshaller() { }
|
||||
|
||||
public Rom unmarshallXMLDefinition (Node rootNode, byte[] input) throws RomNotFoundException, XMLParseException, StackOverflowError, Exception {
|
||||
public Rom unmarshallXMLDefinition (Node rootNode, byte[] input, JProgressPane progress) throws RomNotFoundException, XMLParseException, StackOverflowError, Exception {
|
||||
Node n;
|
||||
NodeList nodes = rootNode.getChildNodes();
|
||||
this.progress = progress;
|
||||
|
||||
for (int i = 0; i < nodes.getLength(); i++) {
|
||||
n = nodes.item(i);
|
||||
|
@ -47,6 +51,8 @@ public class DOMRomUnmarshaller {
|
|||
Node n;
|
||||
NodeList nodes = rootNode.getChildNodes();
|
||||
|
||||
progress.update("Creating tables...", 15);
|
||||
|
||||
if (!unmarshallAttribute(rootNode, "base", "none").equalsIgnoreCase("none")) {
|
||||
rom = getBaseRom(rootNode.getParentNode(), unmarshallAttribute(rootNode, "base", "none"), rom);
|
||||
rom.getRomID().setObsolete(false);
|
||||
|
@ -54,6 +60,10 @@ public class DOMRomUnmarshaller {
|
|||
|
||||
for (int i = 0; i < nodes.getLength(); i++) {
|
||||
n = nodes.item(i);
|
||||
|
||||
// update progress
|
||||
int currProgress = (int)((double)i / (double)nodes.getLength() * 40);
|
||||
progress.update("Creating tables...", 10 + currProgress);
|
||||
|
||||
if (n.getNodeType() == Node.ELEMENT_NODE) {
|
||||
if (n.getNodeName().equalsIgnoreCase("romid")) {
|
||||
|
|
|
@ -3,6 +3,7 @@ package enginuity.xml;
|
|||
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
|
||||
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
|
||||
import enginuity.Settings;
|
||||
import enginuity.swing.JProgressPane;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
|
@ -10,21 +11,28 @@ import javax.imageio.metadata.IIOMetadataNode;
|
|||
|
||||
public class DOMSettingsBuilder {
|
||||
|
||||
public void buildSettings (Settings settings, File output) throws IOException {
|
||||
public void buildSettings (Settings settings, File output, JProgressPane progress) throws IOException {
|
||||
|
||||
IIOMetadataNode settingsNode = new IIOMetadataNode("settings");
|
||||
|
||||
// create settings
|
||||
progress.update("Saving window settings...", 15);
|
||||
settingsNode.appendChild(buildWindow(settings));
|
||||
progress.update("Saving URL settings...", 30);
|
||||
settingsNode.appendChild(buildURLs(settings));
|
||||
progress.update("Saving file settings...", 45);
|
||||
settingsNode.appendChild(buildFiles(settings));
|
||||
progress.update("Saving options...", 60);
|
||||
settingsNode.appendChild(buildOptions(settings));
|
||||
progress.update("Saving display settings...", 75);
|
||||
settingsNode.appendChild(buildTableDisplay(settings));
|
||||
|
||||
OutputFormat of = new OutputFormat("XML","ISO-8859-1",true);
|
||||
of.setIndent(1);
|
||||
of.setIndenting(true);
|
||||
|
||||
progress.update("Writing to file...", 90);
|
||||
|
||||
FileOutputStream fos = new FileOutputStream(output);
|
||||
XMLSerializer serializer = new XMLSerializer(fos,of);
|
||||
serializer.serialize(settingsNode);
|
||||
|
|
|
@ -160,8 +160,7 @@ public class DOMSettingsUnmarshaller {
|
|||
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("highlight")) {
|
||||
settings.setHighlightColor(unmarshallColor(n));
|
||||
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("increaseborder")) {
|
||||
settings.setIncreaseBorder(unmarshallColor(n));
|
||||
System.out.println(unmarshallColor(n));
|
||||
settings.setIncreaseBorder(unmarshallColor(n));
|
||||
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("decreaseborder")) {
|
||||
settings.setDecreaseBorder(unmarshallColor(n));
|
||||
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("axis")) {
|
||||
|
|
Loading…
Reference in New Issue