psi based boost control
#1
psi based boost control
Hi Guys,
1) A BIG thanks to MrFred for working this out on CT9A, this is basically a rip-off of that
2) This is really only good for 3port setup's
3) The scaling is setup for the STOCK 3bar sensor - if you have a different sensor in there you will NEED to modify the scalings
4) Sharing is caring! Let me know if these definitions work for other ROMID's (I am sure some do)
53040010:
52680022:
55590007:
55570006:
55580006:
53050009:
52690022
As always ensure the BEFORE numbers match before saving/flashing
And definitely give me money :P hehe
1) A BIG thanks to MrFred for working this out on CT9A, this is basically a rip-off of that
2) This is really only good for 3port setup's
3) The scaling is setup for the STOCK 3bar sensor - if you have a different sensor in there you will NEED to modify the scalings
4) Sharing is caring! Let me know if these definitions work for other ROMID's (I am sure some do)
53040010:
Code:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/> <scaling name="BoostErrorPsi" units="psi" toexpr="(x-128)*0.19347/4" frexpr="(x*4/0.19347)+128" format="%.1f" min="-6.1" max="6.1" inc="0.1" storagetype="uint16" endian="big"/> <scaling name="OffsetWGDC" units="WGDC Change" toexpr="(x-128)/2" frexpr="x*2+128" format="%.1f" min="-64" max="63.5" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="psia8" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint8" endian="big"/> <scaling name="psia16" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint16" endian="big"/> <table name="Atmospheric Boost" category="Direct Boost" address="53484" type="1D" scaling="psia16"/> <table name="Target Boost Error Correction" category="Direct Boost" address="58cd8" type="2D" scaling="OffsetWGDC"> <table name="Boost Error" address="625f6" type="Y Axis" elements="17" scaling="BoostErrorPsi"/> </table> <table name="Boost Target #1A (High Gear Range)" category="Direct Boost" address="58e45" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6264e"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="625cc"/> </table> <table name="Boost Target #1B (High Gear Range)" category="Direct Boost" address="58eef" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6264e"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="625cc"/> </table> <table name="Boost Target #2 (Low Gear Range)" category="Direct Boost" address="573f5" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6264e"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="625cc"/> </table> <table name="Variable for Boost Control 0xC76C -> 0xC712" category="Direct Boost" address="9e732" type="1D" scaling="Hex16"/> <table name="SHLR->SHLR2 0x5101 -> 0x5102" category="Direct Boost" address="9e734" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address 0xC588 -> 0xC586 (is 0x808586 for logging)" category="Direct Boost" address="9e75a" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address in Load Error Table 0xC588 -> 0xC586" category="Direct Boost" address="625f2" type="1D" scaling="Hex16"/>
Code:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/> <scaling name="BoostErrorPsi" units="psi" toexpr="(x-128)*0.19347/4" frexpr="(x*4/0.19347)+128" format="%.1f" min="-6.1" max="6.1" inc="0.1" storagetype="uint16" endian="big"/> <scaling name="OffsetWGDC" units="WGDC Change" toexpr="(x-128)/2" frexpr="x*2+128" format="%.1f" min="-64" max="63.5" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="psia8" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint8" endian="big"/> <scaling name="psia16" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint16" endian="big"/> <table name="Atmospheric Boost" category="Direct Boost" address="53484" type="1D" scaling="psia16"/> <table name="Target Boost Error Correction" category="Direct Boost" address="58cd4" type="2D" scaling="OffsetWGDC"> <table name="Boost Error" address="625b8" type="Y Axis" elements="17" scaling="BoostErrorPsi"/> </table> <table name="Boost Target #1A (High Gear Range)" category="Direct Boost" address="58e41" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="62610"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="6258e"/> </table> <table name="Boost Target #1B (High Gear Range)" category="Direct Boost" address="58eeb" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="62610"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="6258e"/> </table> <table name="Boost Target #2 (Low Gear Range)" category="Direct Boost" address="573f1" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="62610"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="6258e"/> </table> <table name="Variable for Boost Control 0xC774 -> 0xC71A" category="Direct Boost" address="a0cc6" type="1D" scaling="Hex16"/> <table name="SHLR->SHLR2 0x5101 -> 0x5102" category="Direct Boost" address="a0cc8" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address 0xC590 -> 0xC58E (is 0x80858E for logging)" category="Direct Boost" address="a0cee" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address in Load Error Table 0xC590 -> 0xC58E" category="Direct Boost" address="625b4" type="1D" scaling="Hex16"/>
Code:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/> <scaling name="BoostErrorPsi" units="psi" toexpr="(x-128)*0.19347/4" frexpr="(x*4/0.19347)+128" format="%.1f" min="-6.1" max="6.1" inc="0.1" storagetype="uint16" endian="big"/> <scaling name="OffsetWGDC" units="WGDC Change" toexpr="(x-128)/2" frexpr="x*2+128" format="%.1f" min="-64" max="63.5" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="psia8" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint8" endian="big"/> <scaling name="psia16" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint16" endian="big"/> <table name="Atmospheric Boost" category="Direct Boost" address="53484" type="1D" scaling="psia16"/> <table name="Target Boost Error Correction" category="Direct Boost" address="58d78" type="2D" scaling="OffsetWGDC"> <table name="Boost Error" address="62812" type="Y Axis" elements="17" scaling="BoostErrorPsi"/> </table> <table name="Boost Target #1A (High Gear Range)" category="Direct Boost" address="58ee5" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Boost Target #1B (High Gear Range)" category="Direct Boost" address="58f8f" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Boost Target #2 (Low Gear Range)" category="Direct Boost" address="57495" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Variable for Boost Control 0xC78A -> 0xC72E" category="Direct Boost" address="a35ca" type="1D" scaling="Hex16"/> <table name="SHLR->SHLR2 0x5101 -> 0x5102" category="Direct Boost" address="a35cc" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address 0xC5A4 -> 0xC5A2 (is 0x8085A2 for logging)" category="Direct Boost" address="a35f2" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address in Load Error Table 0xC5A4 -> 0xC5A2" category="Direct Boost" address="6280e" type="1D" scaling="Hex16"/>
Code:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/> <scaling name="BoostErrorPsi" units="psi" toexpr="(x-128)*0.19347/4" frexpr="(x*4/0.19347)+128" format="%.1f" min="-6.1" max="6.1" inc="0.1" storagetype="uint16" endian="big"/> <scaling name="OffsetWGDC" units="WGDC Change" toexpr="(x-128)/2" frexpr="x*2+128" format="%.1f" min="-64" max="63.5" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="psia8" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint8" endian="big"/> <scaling name="psia16" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint16" endian="big"/> <table name="Atmospheric Boost" category="Direct Boost" address="53484" type="1D" scaling="psia16"/> <table name="Target Boost Error Correction" category="Direct Boost" address="58d78" type="2D" scaling="OffsetWGDC"> <table name="Boost Error" address="62812" type="Y Axis" elements="17" scaling="BoostErrorPsi"/> </table> <table name="Boost Target #1A (High Gear Range)" category="Direct Boost" address="58ee5" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Boost Target #1B (High Gear Range)" category="Direct Boost" address="58f8f" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Boost Target #2 (Low Gear Range)" category="Direct Boost" address="57495" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Variable for Boost Control 0xC78A -> 0xC72E" category="Direct Boost" address="a36aa" type="1D" scaling="Hex16"/> <table name="SHLR->SHLR2 0x5101 -> 0x5102" category="Direct Boost" address="a36ac" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address 0xC5A4 -> 0xC5A2 (is 0x8085A2 for logging)" category="Direct Boost" address="a36d2" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address in Load Error Table 0xC5A4 -> 0xC5A2" category="Direct Boost" address="6280e" type="1D" scaling="Hex16"/>
Code:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/> <scaling name="BoostErrorPsi" units="psi" toexpr="(x-128)*0.19347/4" frexpr="(x*4/0.19347)+128" format="%.1f" min="-6.1" max="6.1" inc="0.1" storagetype="uint16" endian="big"/> <scaling name="OffsetWGDC" units="WGDC Change" toexpr="(x-128)/2" frexpr="x*2+128" format="%.1f" min="-64" max="63.5" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="psia8" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint8" endian="big"/> <scaling name="psia16" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint16" endian="big"/> <table name="Atmospheric Boost" category="Direct Boost" address="53484" type="1D" scaling="psia16"/> <table name="Target Boost Error Correction" category="Direct Boost" address="58d78" type="2D" scaling="OffsetWGDC"> <table name="Boost Error" address="62812" type="Y Axis" elements="17" scaling="BoostErrorPsi"/> </table> <table name="Boost Target #1A (High Gear Range)" category="Direct Boost" address="58ee5" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Boost Target #1B (High Gear Range)" category="Direct Boost" address="58f8f" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Boost Target #2 (Low Gear Range)" category="Direct Boost" address="57495" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6286a"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="627e8"/> </table> <table name="Variable for Boost Control 0xC78A -> 0xC72E" category="Direct Boost" address="a36ea" type="1D" scaling="Hex16"/> <table name="SHLR->SHLR2 0x5101 -> 0x5102" category="Direct Boost" address="a36ec" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address 0xC5A4 -> 0xC5A2 (is 0x8085A2 for logging)" category="Direct Boost" address="a3712" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address in Load Error Table 0xC5A4 -> 0xC5A2" category="Direct Boost" address="6280e" type="1D" scaling="Hex16"/>
Code:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/> <scaling name="BoostErrorPsi" units="psi" toexpr="(x-128)*0.19347/4" frexpr="(x*4/0.19347)+128" format="%.1f" min="-6.1" max="6.1" inc="0.1" storagetype="uint16" endian="big"/> <scaling name="OffsetWGDC" units="WGDC Change" toexpr="(x-128)/2" frexpr="x*2+128" format="%.1f" min="-64" max="63.5" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="psia8" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint8" endian="big"/> <scaling name="psia16" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint16" endian="big"/> <table name="Atmospheric Boost" category="Direct Boost" address="53484" type="1D" scaling="psia16"/> <table name="Target Boost Error Correction" category="Direct Boost" address="58cd8" type="2D" scaling="OffsetWGDC"> <table name="Boost Error" address="625f6" type="Y Axis" elements="17" scaling="BoostErrorPsi"/> </table> <table name="Boost Target #1A (High Gear Range)" category="Direct Boost" address="58e45" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6264e"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="625cc"/> </table> <table name="Boost Target #1B (High Gear Range)" category="Direct Boost" address="58eef" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6264e"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="625cc"/> </table> <table name="Boost Target #2 (Low Gear Range)" category="Direct Boost" address="573f5" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="6264e"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="625cc"/> </table> <table name="Variable for Boost Control 0xC76C -> 0xC712" category="Direct Boost" address="9e6ca" type="1D" scaling="Hex16"/> <table name="SHLR->SHLR2 0x5101 -> 0x5102" category="Direct Boost" address="9e6cc" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address 0xC588 -> 0xC586 (is 0x808586 for logging)" category="Direct Boost" address="9e6f2" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address in Load Error Table 0xC588 -> 0xC586" category="Direct Boost" address="625f2" type="1D" scaling="Hex16"/>
Code:
<scaling name="Throttle_Main - Stored Minimum Throttle %" units="%" toexpr="(x+(90/4))*100/255" frexpr="x*255/100-(90/4)" format="%.1f" min="0" max="100" inc="2" storagetype="uint16" endian="big"/> <scaling name="BoostErrorPsi" units="psi" toexpr="(x-128)*0.19347/4" frexpr="(x*4/0.19347)+128" format="%.1f" min="-6.1" max="6.1" inc="0.1" storagetype="uint16" endian="big"/> <scaling name="OffsetWGDC" units="WGDC Change" toexpr="(x-128)/2" frexpr="x*2+128" format="%.1f" min="-64" max="63.5" inc="0.5" storagetype="uint8" endian="big"/> <scaling name="psia8" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint8" endian="big"/> <scaling name="psia16" units="psia" toexpr="x*0.19347" frexpr="x/0.19347" format="%.1f" min="0" max="49.5" inc="0.1" storagetype="uint16" endian="big"/> <table name="Atmospheric Boost" category="Direct Boost" address="53484" type="1D" scaling="psia16"/> <table name="Target Boost Error Correction" category="Direct Boost" address="58cd4" type="2D" scaling="OffsetWGDC"> <table name="Boost Error" address="625b8" type="Y Axis" elements="17" scaling="BoostErrorPsi"/> </table> <table name="Boost Target #1A (High Gear Range)" category="Direct Boost" address="58e41" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="62610"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="6258e"/> </table> <table name="Boost Target #1B (High Gear Range)" category="Direct Boost" address="58eeb" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="62610"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="6258e"/> </table> <table name="Boost Target #2 (Low Gear Range)" category="Direct Boost" address="573f1" type="3D" swapxy="true" scaling="psia8"> <table name="Throttle" type="X Axis" elements="9" scaling="Throttle_Main - Stored Minimum Throttle %" address="62610"/> <table name="RPM" type="Y Axis" elements="18" scaling="RPM" address="6258e"/> </table> <table name="Variable for Boost Control 0xC774 -> 0xC71A" category="Direct Boost" address="a0d06" type="1D" scaling="Hex16"/> <table name="SHLR->SHLR2 0x5101 -> 0x5102" category="Direct Boost" address="a0d08" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address 0xC590 -> 0xC58E (is 0x80858E for logging)" category="Direct Boost" address="a0d2e" type="1D" scaling="Hex16"/> <table name="Boost Error RAM Address in Load Error Table 0xC590 -> 0xC58E" category="Direct Boost" address="625b4" type="1D" scaling="Hex16"/>
And definitely give me money :P hehe
Last edited by tephra; Aug 1, 2010 at 10:38 PM.
#2
Oh I forgot:
This works for altmaps - just change the scaling
ie
<table name="Alt Boost Target Engine Load #2 (Low Gear Range)" address="f0517" category="TephraXMOD V1" type="3D" swapxy="true" scaling="Load8">
would become
<table name="Alt Boost Target #2 (Low Gear Range)" address="f0517" category="TephraXMOD V1" type="3D" swapxy="true" scaling="psia8">
I run both sets of tables - but you can rename/delete the old one if you liked
This works for altmaps - just change the scaling
ie
<table name="Alt Boost Target Engine Load #2 (Low Gear Range)" address="f0517" category="TephraXMOD V1" type="3D" swapxy="true" scaling="Load8">
would become
<table name="Alt Boost Target #2 (Low Gear Range)" address="f0517" category="TephraXMOD V1" type="3D" swapxy="true" scaling="psia8">
I run both sets of tables - but you can rename/delete the old one if you liked
Last edited by tephra; Jul 19, 2010 at 12:18 AM.
Trending Topics
#10
Evolved Member
iTrader: (1)
Join Date: Nov 2009
Location: Omaha, NE
Posts: 1,456
Likes: 0
Received 0 Likes
on
0 Posts
I tried the scalings for 55590007 for my 55570106 ROM, and all the tables look right, but all the xxxx -> yyyy are not correct. ( except the Boost Error RAM Address in Load Error Table)