MembersPage/DTechnologies/Hayabusa/Config

Part of MembersPage/DTechnologies/Hayabusa project.

Configuration (it's not complete because I'm writing it RIGHT NOW :)

While I'm waiting to get some quotes back on having my rotor machined, I'm going to start building my config files and tables using what information I have right now. I've been reading some of your configurations and I just hope that together we can keep my engine from blowing up hehehe.

Much of this is based off of the comments in JimW?'s fantastic setup config. I'm going to make a lot of mistakes I'm sure and I'll make comments where I've left items as is because I didn't know if they needed to be changed and where I've put in my own values. I'll be using JimW?'s values where I don't know what my values should be...let me know if you object Jim. I'll then change these values over time to values that will work with my engine.



primep=0D                  #Fuel Pump Priming 0x0D=1.3ms JimW.
primep_temp_scaling=A0     #Hot start priming 0xA0=63% JimW.
cwl=1E                     #Cold cranking pulsewidth 0x1E=3.0ms JimW.
cwh=0A                     #Hot cranking pulsewidth 0x0A=1.0ms JimW.
cranking_thres=03          #Cranking threshold 0x03=399 rpm JimW.
crank_minper=0F            #Minimum crank period 0x0F=2.4ms DTech 'busa
rev_limit=78               #Rev Limit 0x78=12,000 rpm. DTech 'busa.

######
#Injector setup
# displacement = 79.2 CID = 1298cc
# 4cyl, 4inj, 37.14lb/hr injectors
# 2 squirts per 720deg. TODO: why not 1 ?
# I've chosen 2 squirts so that each cylinder will get fuel exactly the same without knowing
# pair of cylinders are in what phase. All cylinders will get a squirt at intake and a squirt
# at exhaust. Otherwise 2 will get squirts at instake and 2 will only get squirts at exhaust.
# I know this doesn't matter a whole lot, but if the software can do it, why not?

#calculated using above specs in megasquirt calculator:
#http://www.megasquirt.info/manual/mfuel.htm#reqfuel
# req_fuel cut in half to double resolution of j[]
req_fuel=1C               #5.6ms = 56 * 100 micro seconds = 0x38/2=0x1C

alternate=01              #01=alternate between first and second batch
divider=02                #divider = (number of cyl/(alternate-1)

######
#Injectors: Salvaged from Honda S2000. Rated for 390cc/min
#Injector Firing Sequence
#Even though injectors are being fired in pairs, each will be connected to a seperate pin so that sequential injection is a future possibility.
#EC36 pins 06,07,08 and 09 to be used. 06+07=0x40+0x01=0x41, 08+09=0x10+0x04=0x14
h[0]=41 14 00 00 00 00 00 00

injopen=10               #Injector opening time 0x10=2.56ms JimW.
battfac=10               #Battery compensation JimW.
injocfuel=20             #Injector opening compensation 0x20=7.68ms JimW.
injrampup_battfac=FF     #Injector battery compensation 0xFF=77% of injocfuel@14V

injpwmt=FF               #Injector PWM time. disabled=0xFF. JimW.
infpwm=FF                #Injector duty cycle. 0xFF=100%. JimW.
injpwm6=00               #Injector duty cycle @ 6V 0x00=00%. JimW.

rpmk[0]=0B               #RPM Calculation. JimW.
rpmk[1]=B8

tps_low=00               #TPS Calibration. Starting with JimWs values
tps_high=FF              #Will be calibrated later

tpsdot_kpadot_conf=00    #Use TPS DOT for acceleration enrichment. JimW.

tpsdotrate[0]=05         #Change in throttle position over 0.1 sec. JimW.
tpsdotrate[1]=14
tpsdotrate[2]=28
tpsdotrate[3]=4D

tpsaq[0]=00              #TPS accelerator enrichment
tpsaq[1]=00              #Set to 00 for initial VE tuning
tpsaq[2]=00
tpsaq[3]=00

tps_thresh=05            #Throttle Sensitivity JimW.
tpsasync=02              #Acceleration duration 0x0A=1second JimW.
acmult=64                #Cold acceleration multiplication factor 0x64= 0bias JimW.
tpsacold=05              #Cold acceleration added amount. JimW.
tpsdq=64                 #Deceleration fuel cut. 0x64=100%. JimW.
decel_fuelcut_thres=0F   #Decel fuelcut enabled above threshold 0x0F=1500rpm. JimW.
overrun_fuelcut=11       #Injectors disabled above this. 0x01=100rpm.
overrun_fuelresume=10    #Injectors re-enabled below this. 0x01=100rpm.

airden_ignore=62         #Idle enleaning limit. 0x62=98% JimW.
kpafac=7F                #MPX4250AP barometer settings. JimW.
kpaofs=52
baro=64                  #Mean barometric pressure 0x01=2kPa. JimW.
dbaro=0C                 #Max allowed difference in pressure. JimW.

######
#4cyl values as per JimW's config.
config11=30
config12=30
config13=02
mt_unused=FF
######

batt_cal=BC              #Battery voltage calibration. JimW. Will change later with Megatune

fan_temp=EA              #Temp fan will come on. 0x69=105degC (Same as factory) DTech 'busa
fanhyst=05               #Hysteresis for fan shut off 0x05=5degC (Same as factory) DTech 'busa

fan_channel=P259_0       #fan output channel. JimW.

fastidle=AA              #fast idle enabled below this temp. AA=130degF. JimW.

######
#Idle air controller. Hayabusa has a mechanical fast idle built into throttle bodies. From factory it is manual. For this application, it will be operated by a small on/off solenoid...unless a better method is found.
iac_stepseq=C8              #Stepping sequence. Not relevant
iac_conf=10                 #Idle air controller type
# precise idle bit must be off (for on/off type). At the same time this means that only fastidle and fan_channel are relevant (all others are for precise_idle)
# decide if you like ignition-advance adjustments for idle (but use small window initially, anyway)
iac_tps_thres=05            #Enable IAC when TPS is less than this. 0x01=.64% JimW.
iac_cold_idle_temp=A0       #Below this temp, idle is set to iac_cold_rpm. 0xA0=200degF JimW.
iac_warm_idle_temp=D0       #Above this temp, idle is set to iac_warm_rpm. 0xD0=248degF JimW.
iac_cold_rpm=145            #cold state idle rpm. 0x145=3250rpm. (Same as factory). DTech 'busa
iac_warm_rpm=73             #Warm state idle rpm. 0x73=1150rpm (Same as factory). DTech 'busa
iac_cold_start_pos=??
iac_warm_start_pos=??
iac_afterstart_rpm=1F       #RPM overshoot after startup. ox1F=310rpm JimW.
iac_afterstart_duration=20  #Duration to hold iac_afterstart_rpm. 0x20=3.2sec. JimW.
iac_afterstart_steps=00     # or max 01 Steps per 160rpm

#PID parameters for idle air controller (all from JimW's)
iac_kp=25
iac_ki=17
iac_kd=A0
iac_integral_speed=40
iac_integral_limit_dec=10
iac_integral_limit_inc=20
iac_integral_deadband=14
iac_deadband=0A
iac_pid_conf=01
iac_overclose_interval=0A

# Reference position hint as function of coolant temp (all from JimW's)
iac_ref_pos[0]=35
iac_ref_pos[1]=34
iac_ref_pos[2]=33
iac_ref_pos[3]=32
iac_ref_pos[4]=31
iac_ref_pos[5]=30
iac_ref_pos[6]=2F
iac_ref_pos[7]=2E
iac_ref_pos[8]=2D
iac_ref_pos[9]=2C

iac_sol_channel=P259_4    #output channel. 0xFF=disabled.

###################################
#
# Ignition based idle control from JimW's
#
# This section should be used for idle 
# if you have no idle air control device.
# Idle control via ignition advance/retard.
#
# Ignition advance based fine-adjust
# 0x01=0.25 crank degrees per 256rpm
iac_ign_advance_change=28

# Ignition advance based fine-adjust
# 0x01=0.25 crank degrees per 256rpm
iac_ign_retard_change=20

# Ignition advance limit when trying to increase RPM
# 0x01=0.25 crank degrees
# eg 0x10=4 degree limit
iac_ign_advance_limit=10

# Ignition retard limit when trying to decrease RPM
# 0x01=0x25 crank degrees
# eg 0x1A=6.5 degree limit
iac_ign_retard_limit=1A

# Minimum distance (in degrees) before change in advance/retard.
# If less than n degrees of ignition advance/retard is sufficient
# to reach the idle RPM target, don't change current advance/retard
# 0x01=0.25 crank degrees
# eg 0x08=2 crank degrees
iac_ign_threshold=08
#########################

awev=1E               #Afterstart warmup enrichment 0x01=1% JimW.
awc=96                #Afterstart # of cycles. 0x64=100 cycles
awev_temp_scaling=A0  #Afterstart warmup scaling > 170F. 0x01=0.4%

#temperature bins used for interpolation (all from JimW's)
warmup_clt_range[0]=00  # -40.0 C
warmup_clt_range[1]=14  # -28.8 C
warmup_clt_range[2]=28  # -17.7 C
warmup_clt_range[3]=3C  #  -6.6 C
warmup_clt_range[4]=50  #   4.4 C
warmup_clt_range[5]=64  #  15.5 C
warmup_clt_range[6]=78  #  26.6 C
warmup_clt_range[7]=8C  #  37.7 C
warmup_clt_range[8]=AA  #  54.4 C
warmup_clt_range[9]=C8  #  71.1 C

# warmup_clt is the value of each bin defined in warmup_clt_range (all from JimW)
warmup_clt[0]=A0
warmup_clt[1]=A0
warmup_clt[2]=A0
warmup_clt[3]=A0
warmup_clt[4]=A0
warmup_clt[5]=96
warmup_clt[6]=8C
warmup_clt[7]=87
warmup_clt[8]=7D
warmup_clt[9]=64

#Warmup enrichment as a function of RPM. Obsolete. Not sure if it's required or not.
warmup_rpm[0]=64 # 100%
warmup_rpm[1]=64
warmup_rpm[2]=64
warmup_rpm[3]=64
warmup_rpm[4]=64
warmup_rpm[5]=64
warmup_rpm[6]=64
warmup_rpm[7]=64

warmup_rpm_scale=F0      #Warmup enrichment as a function of RPM. JimW.

####
#EGO Setup (Is this for narrow band only? Can I get rid of this section?)
####

ego_conf=07              #Seems to be standard. From JimW's
ego_delta=02             #Minimum resolution change recognized. 0x02=0.8%. JimW
ego_lag=03               #Minimum time between correction factor changes. 0x01=1 engine cycle. JimW.
ego_coolant=92           #Minimum coolant temperature for EGO enabling. 0x92=146degF JimW
ego_maxtps=FF            #Maximum TPS position for EGO corrections. JimW
ego_maxmap=FF            #Maximum MAP for EGO corrections. 0x01=2kPa JimW
ego_minrpm=08            #Minimum RPM for EGO enabling. 0x01=100rpm. JimW
ego_maxrpm=FF            #Maximum RPM for EGO enabling. JimW
ego_warmup=3C            #Warmup time. 0x3C=60sec. JimW.
ego_lean_limit=30        #Maximum allowed anleanment of AFR. 0x30=19.2%. JimW.
ego_rich_limit=30        #Maximum allowed enrichment of AFR. JimW.

#############################################################
#WideBandO2 code needs to be done...I'm clueless
##################################################################


###################################################
#Knock Detection will not be used. I don't know if I can leave variables out or if they need to be set to FF.
#####################################################

ve_learn_conf=01                #Enable VE Learning
ve_learn_coolant=D8             #Minimum coolant temp for learning. 0xD8=176degF. JimW

#VE Learning speeds. All from JimW's
ve_learn_rpm_scale=1E
ve_learn_kpa_scale=1E
ve_learn_ego_scale=43
ve_learn_speed=FF
ve_learn_max_power=FF

ve_learn_min_weight=4D          #Minimum weight for modifying VE entry. JimW.
ve_learn_limit=FF               #Max deviation from reference VE bin 0x01=0.4%. JimW.

####Triggers####

primary_trigger=01              #0x01=Multi-tooth wheel. DTech 'busa
tooth_wheel=17                  #0x17=23= 24-1 trigger wheel. DTech 'busa
tooth_wheel_twidth1=0F          #0x0F=15% between teeth.
trigger_tooth=01                # trigger is at 1 tooth (15 crankdegrees) after tooth after missing tooth
secondary_trigger=02            #My setup doesn't have a secondary trigger.
another_trigger_tooth=0c        # since 4 cyl: 180 crankdegrees apart, that is 24/2 teeth
tooth_wheel_twidth2=??          #My setup doesn't have a secondary trigger.
cam_sync_r_edge_phase=FF
cam_sync_f_edge_phase=FF
reset_engphase_after=FF

####Ignition####

ign_tdcdelay=??                  #Distance (in half degrees) between trigger_tooth tooth after missing tooth and cyl1 TDC
# where cyl1 is the cyl fired by the IGBT associated with element "ignchmax" in h[2] like in h[2]=02 04 03 01
ign_dwell14=14                   #Dwell settings for 14V JimW
ign_dwell6=1E                    #Dwell settings for 6V JimW
ign_crank_advance=20             #Advance at cranking 0x01=0.25deg JimW
ign_out=70                       #??? JimW
ignchmax=03                      #Highest indexed ignition coil to trigger. DTech 'busa

pump_onmintime=0F                #Turn off pump after x time. JimW
fuelpump_channel=P259_5          #output channel. JimW

inj_stage2_rate=FF
inj_stage2_start_tps=FF
inj_stage2_start_map=FF

als_lowrpm=FF
als_maxtps=FF
alsignretard=FF
als_rich=FF

egt1_cal=??                     #Won't be used in my setup
egt_offs=??                     #Won't be used in my setup

boost_conf=??
boost_targetoffs=??
boost_minpressure=?
boost_pid_kp=??
boost_pid_ki=??
boost_pid_kd=??
boost_pid_ilimit=??
boost_channel=INJFET_5

water_pump_temp=00             #Water pump not used in my Setup
water_pump_hyst=00
water_pump_channel=FF
hybrid_rpm_a=00
hybrid_rpm_m=00

#Will be used to trigger auto-shift air shifter.
misc2out_minrpm=6E             
misc2out_maxrpm=FF
misc2out_mintps=00
misc2out_maxtps=FF
misc2out_minmap=00
misc2out_maxmap=FF
misc2out_channel=FF

act_wot_rpm=FF
act_wot_channel=FF
act_rpm_rpm=6E               #Activate at 11,000 RPM    
# TODO: don't forget to set element7 of h[0] for the desired mask of outputs
act_rpm_channel=INJFET_7

#Might be used for water injection
misc1out_minrpm=00
misc1out_maxrpm=FF
misc1out_mintps=00
misc1out_maxtps=FF
misc1out_minmap=52             #Activates at 12psi
misc1out_maxmap=FF
misc1out_channel=??

#LCD layout. Taken from JimW's
lcd_c0=FE
lcd_delay=FF
lcd_backlight=FF
lcd_offs[0]=FF
lcd_offs[1]=FF
lcd_offs[2]=FF
lcd_offs[3]=FF
lcd_default_view=00

# replace spaceholder with real masks from  GenBoard/Manual/DigitalOut/Table
# F23 are fuel control outputs for injectors for cyl 2 and 3
# F14 are fuel control outputs for injectors for cyl 1 and 4
h[0]=<F23> <F14> .. .. <mask for idle solenoid if iac_sol_channel=INJFET_4 chosen> .. .. <mask for act_rpm_channel=INJFET_7>

#Ignition sequence
#I'd like to use EC36 pins 33 & 34
h[2]=01 02 01 02 01 02 01 02

#Boost target
b[0]=?? ?? ?? ?? ?? ?? ?? ??
t[0]=?? ?? ?? ?? ?? ?? ?? ??