Questions are denoted with CAPS.\n
############################################################ # JimW's Setup # 1.8 8v counterflow motor # 36-1 crank wheel # 11th tooth on trigger wheel is TDC # Genboard v3.2 Assembled # High-Z (14.5ohm) 20lb/hr injectors), 3.0bar fuel pressure # Wideband Heater: WB1 # Wasted spark ignition # # # Copied Derrick-Scirocco config ############################################################ # # STARTUP INFORMATION # Get fuel pressure up and define what is running vs. cranking # Define Rev Limit # Fuel Pump Priming # 0x01=0.1ms # eg 0D=1.3ms primep=0D # Hot start priming pulse scaling at 170F # Measured as percentage (80=50%, FF=100%) # eg A0=63% primep_temp_scaling=A0 # Cranking Pulse Definition # Cranking pulsewidth at -40 F # 0x01=0.1ms # eg 1E=3.0ms cwl=1E # Cranking pulsewidth at 170 F # Typical cwh = about 20% of cwl # 0x01=0.1ms # eg 0A=1.0ms cwh=0A # Cranking Threshold: # Defines boundry between cranking and running # 0x01=100rpm # eg 0x03=300 rpm cranking_thres=03 # what is this? # for std. coil tach signal (?) # Minimum crank period # Measured in ms # 0x01=???ms # eg 0x50=??? crank_minper=50 # Rev limiter # 0x01=100rpm # eg 0x4B=7500rpm rev_limit=4B ############################################################# # # INJECTOR SETTINGS # # COMMENT: # For Req_fuel information # see: http://www.megasquirt.info/manual/mfuel.htm#reqfuel # see: new wiki page # Scaling the VE and and req_fuel effectively increases the resolution # of the fueling parameters. # EXAMPLE: # scaling is accomplished by making: # req_fuel = calculated req_value / 2 # VE_TABLE==> j[] = j[] .*2 (matlab notation) # This changes the range of values in the j[] table # from 1..100 to 2..200 # Req_fuel Setup # req fuel is calculated to be X.Xms via mega manual # 109 cid , 4 cylinder, 4 injectors, 2 squirts, 20lb/hr, alternating # # To double the VE table resolution divide req_fuel by two # and multiply the values in the VE table by two req_fuel=6E # Injector firing sequence: alternating, X squirts per 720degree rotation # COMMENT: Verify: The divider says how many times banks fire during # 720degree rotation # # Injector bank setup # Alternate injector drivers works with h[0] # alternate=00 means use only first (batch fire; all injectors in one batch) # alternate=01 means alternate between first and second batch # alternate=03 to use indexes 3,2,1,0 # alternate=07 to use indexes 7,6,5,4,3,2,1,0 # # SECONDARY (camsync) TRIGGER REQUIRED FOR MORE THAN TWO BANKS? # # add 0x10 to fire all at cranking alternate=11 # divider: # For a 4 cylinder you want [divider * (alternate + 1)] = 4 # divider=02 and alternate=01 for 2 banks # divider=01 and alternate=03 for 4 injector banks divider=02 # Injector open and closing times # for more detailed information look: # MembersPage/MarcellGal/EngineSwap/Feed # http://www.vems.hu/wiki/index.php?page=MembersPage%2FMarcellGal%2FEngineSwap%2FFuelFeed # http://www.vems.hu/wiki/index.php?page=GenBoard%2FManual%2FConfig%2FInjectorOpening # BATTFAC is the extra time it would take to open if only 6V would be present (low battery) # BATTFAC is also the decrease in time it would take to open if the applied voltage was 12V+6V # [ This comes from I = V/R, the current flowing varies with the voltage applied since # the resistance of the injectors remains constant ] # # Other things that can effect opening and closing speeds: # The type of flyback chosen (high or low voltage) # The type of injector used (high or low Z ) # The pressure differential (required force to overcome solenoid) # # MCELL suggests that INJOPEN not be set much higher than 512us = 32*16usec (0x20) # shows up in low kPa setting being lower than high KPa settings in VE table (j[]) # injopen: # Time required to open injector nozzle # Elapsed time from t=0 to begin fuel spray # 0x01=0.16ms injopen=20 # battfac: # Time added to injopen to compensate for low battery voltage. # Only used when 7V>=VBATT>=19V # 0x01=0.16ms battfac=10 # injocfuel: # Time added to injection to compensate for reduction in fuel flow # during injector opening and closing. # 0x01=0.24ms injocfuel=08 # injrampup_battfac: # Time added to injocfuel to comepensate for low battery voltage. # Only used when 7V>=VBATT>=19V # eg FF=77% of injocfuel @ 14V injrampup_battfac=FF ############################################################# # High Z INJECTORS # For non-PWM settings INJPWMT=FF, INJPWM=FF, INJPWM6=00 sets up HIGH Z injection # COMMENT why wouldnt INJPWMT be set to 00, then it doesnt need to get "disabled" # # delta t=(t=0 to time initial resistance is overcome in injector) # Injector PWM time at which to activate pwm # FF=disabled (set to 1 mS per MegaManual for starting point) # ISN'T THIS THE SAME AS injopen??? # 0x01=0.1ms injpwmt=FF # Injector PWM duty cycle # Measured in percent (50%=0x80, 100%=0xFF) # 100% when using HighZ injpwm=FF # Added Injector PWM duty cycle during low battery voltage (6V) # Measured in percent (50%=0x80, 100%=0xFF) # 0% when using HighZ (we're already always at 100%) injpwm6=00 ############################################################# # Low Z INJECTORS # The advantage of using LOW Z injectors is faster opening and closing times, # based on the simple physics of more current to open the injector and less stored energy # when closing the injectors # Low Z injectors are designed to work on a Peak and Hold manner # During the Peak stage the current is switched on allowing the maximum # current to flow to open the injector in a fast manner. This takes place # at the beginning of each injection event (squirt) for a specific period of time # This entered into INJPWMT ( injector PWM start timedelay ) # delta t=(t=0 to time initial resistance is overcome in injector) # Injector PWM time at which to activate pwm # FF=disabled (set to 1 mS for starting point) # ISN'T THIS THE SAME AS injopen??? # 0x01=0.1ms #injpwmt=0A # Current during the hold cycle is calculated by # I = V/R * % duty cycle # verify by measuring OC0 with DVM # 0x01=0.4% # eg 0xFF=100% (that measures OC0=0V; since this is before the inverting FET driver) # 48/256 (=3/16), that measures OC0=5V * (256-48)/256 # Injector PWM duty cycle (when current limiting is active) #injpwm=30 # In the case of low battery to keep the same I(current) the duty cycle must be increased. # COMMENT: this is straight forward and should be built into the firmware # Also, shouldn't this be taken care of by battfac? Seems redundant. # 6volts = Vbatt/2; Iold = Inew; dutycycle should be equal to 2x 12volt percentage. # added Injector PWM duty cycle during low battery voltage (6V) #injpwm6=40 ############################################################# # # RPM Calculation # # eg 0x0BB8 = 3000 = 12000 rpm/4 cyl # 4 cylinder: rpmk[0]=0B, rpmk[1]=B8 # 5 cylinder: rpmk[0]=09, rpmk[1]=60 # 6 cylinder: rpmk[0]=07, rpmk[1]=D0 # 8 cylinder: rpmk[0]=05, rpmk[1]=DC rpmk[0]=0B rpmk[1]=B8 ############################################################# # # TPS related information # # TPS calibration # read TPS from LCD (or serial connection Manmll) # Important for triggering idle mode and acceleration enrichment # --- TPS calibration means that the Analog(voltage) to Digital (count) is set # at zero throttle and Wide Open Throttle (WOT) # The standard: lowest voltage for closed throttle # highest voltage for open throttle # --- See Manual or wiki page for how to hook up. # --- Most Tuning software has this function in them # Megatune, Megatunix, etc. # DOES CALIBRATING IN MEGATUNXX TAKE CARE OF THIS? # TPSDOT=> TPS Delta Over Time, where t=tps_async???????????? # TPS low and high settings tps_low=00 tps_high=FF # TPS information used during engine running # TPS Acceleration calculation base # 00 = Use TPSDOT for acceleration enrichment # 01 = Use MAPDOT for acceleration enrichment tpsdot_kpadot_conf=00 # TPSDOT bins # Amount of change in throttle position tpsdotrate[0]=05 tpsdotrate[1]=14 tpsdotrate[2]=28 tpsdotrate[3]=4D # TPS accelerator enrichement # Set to 00 for inital VE tuning # Amount of enrichment for amount of change in throttle position tpsaq[0]=00 tpsaq[1]=00 tpsaq[2]=00 tpsaq[3]=00 # Acceleration TPSDOT threshold (throttle sensitivity) # minimum rate of change to enable any acceleration enrichment # CAN THIS BE LESS THAN tpsdotrate[0]? tps_thresh=05 # Acceleration duration # 0x01=0.1s # eg 0x0A=1 second # IS THIS THE 't' IN DELTA OVER TIME? tpsasync=02 # Acceleration cold multiplication factor # Biased at 0x64 # eg 0x64 - bias = 0 # SHOULDN'T WARMUP ENRICHMENT TAKE CARE OF THIS? acmult=64 # Cold acceleration added amount (at -40 F degrees) # 0x01=0.1ms # eg 0x14 = 2.0ms tpsacold=05 # Deceleration fuel cut # 100% (0x64) means no fuelcut on sudden tps-release # Values under 96% (0x60) are dangerous (can cause lean condition) # 0x00 would be rough behaviour # Recommended value: 64 tpsdq=64 # Decel fuelcut enabled above threshold # 0x01=100rpm # eg 0x0F=1500rpm decel_fuelcut_thres=0F # Overrun fuelcut: # injectors disabled above this # 0x01=100rpm # eg 0x10=1600rpm overrun_fuelcut=10 # Overrun fuel resume # Injectors re-enabled below this value # 0x01=100rpm # eg 0x0F=1500 RPM overrun_fuelresume=0F ############################################################# # # Idle enleaning limit # # Use to avoid enleaning of AFR when idling due to increased # intake air temperature at 25C (77F) degrees. # WHY ONLY AT 25C? # 0x01=1% # eg 0x62=98% airden_ignore=62 ############################################################# # # Barometer settings # # MAP Sensor # standard MPX4250AP 250kpa sensor that comes with V3.x kpafac=7F kpaofs=52 # Mean Barometric Pressure # MAP sensor failure value (limp home value) # 0x01=1kPa? baro=64 # Max allowed difference in barometric pressure # If barometric pressure less than baro-dbaro or # barometric pressure greater than baro+dbaro, use # baro as barometric pressure. # 0x01=1kPa? dbaro=0C ############################################################# # IF THESE ARE CONSTANTS, WHY AREN'T THEY HARD CODED? # # These are important DO NOT CHANGE # (useful descriptions are left over from Megasquirt) config11=30 # old config 31 config12=30 # 4 cylinders config13=02 # old config 00 mt_unused=FF # Battery voltage calibration for dwell and pwm'ing # Adjust so that VBatt reading in Megatun.x matches actual supply voltage # 0x01=??? # IS THIS ONLY FOR READING CORRECT VALUES IN MEGATUNXX? batt_cal=BC # Coolant fan output # This ouput is generally used to trigger a relay to turn on # the electric radiator fan, or engage the electric clutch for # engine cooling fan. # # Temperature when fan will turn on (in degC) # 0x01=1 degree C # eg 0x55 = 85degC fan_temp=EA # Decrease in temperature required to turn fan off # fan_temp - fan_hyst=temp when fan will turn off # 0x01=1 degree C # eg 0x55 - 0x09 = 0x4C (76degC) fan_hyst=05 # Coolant fan # Output channel selection (digitalout) fan_channel=FF ################################################################### # # Idle # # fastidle: # Should be set to same as idle when not using IAC? # 0x01=100rpm??? # eg 0x09=900rpm fastidle=C6 # Idle air controller based idle control # This is where the idle control devices are setup # THIS VARIABLE NOT DOCUMENTED IN WIKI # WHAT IS IT? iac_step_seq=C9 # NEED COMMENTS FOR ALL OF THESE! # iac_conf: # Idle Air Controller Type # Use iac_conf=7E for stepper style # Use iac_conf=18 for PWM style iac_conf=18 # iac_max_steps: # max commanded output for solenoid # eg 0xFF=5V iac_max_steps=F0 # iac_tps_thres: # Enable IAC when TPS is less than iac_tps_thres # 0x10=1/16 open throttle iac_tps_thres=05 # iac_cold_idle_temp: # Below this temp, idle is set to iac_cold_rpm # In Fahrenheit degrees + 40 # 0x01=1 degF # eg 0xA0=200degF iac_cold_idle_temp=A0 # iac_warm_idle_temp: # Above this temp, idle is set to iac_warm_rpm # In Fahrenheit degrees + 40 # 0x01=1 degF # eg 0xD0=248degF iac_warm_idle_temp=D0 # iac_cold_rpm: # At iac_cold_idle_temp, set idle to iac_cold_rpm # 0x01=10rpm # eg 0x74=1160rpm iac_cold_rpm=74 # iac_warm_rpm: # At iac_warm_idle_temp, set idle to iac_warm_rpm # 0x01=10rpm # eg 0x67=1000rpm iac_warm_rpm=64 # iac_cold_start_pos: # Valve position on cold start (-40F) # NEED MORE INFO iac_cold_start_pos=E2 # iac_warm_start_pos: # Valve position on warm start (170F) # NEED MORE INFO iac_warm_start_pos=B0 # iac_afterstart_rpm # Intentional overshoot after startup # Add this amount of rpm to idle rpm at startup # 0x01=10rpm # eg 0x1F=310rpm iac_afterstart_rpm=1F # iac_afterstart_duration: # Duration to hold iac_afterstart_rpm # 0x01=0.1sec # eg 0x20=3.2 seconds iac_afterstart_duration=20 # iac_afterstart_steps: # Hint before control takes over # Steps per 160rpm # NEED BETTER DESCRIPTION iac_afterstart_steps=04 # iac_kp, iac_ki, iac_kd: # PID parameters for idle air controller 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 # iac_ref_pos[]: # Reference position hint as function of coolant temp # NEED BETTER DESCRIPTION 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: # IAC Solenoid output channel # 0xFF=Disable/Stepper type IAC iac_sol_channel=FF # Ignition based idle control # This section must be used for idle if you have no idle air control device # Idle control via ignition advance/retard # iac_ign_advance_change: # Ignition advance based fine-adjust # 0x01=0.25 crank degrees per 256rpm iac_ign_advance_change=28 # iac_ign_retard_change: # Ignition advance based fine-adjust # 0x01=0.25 crank degrees per 256rpm iac_ign_retard_change=20 # iac_ign_advance_limit: # Ignition advance limit when trying to increase RPM # 0x01=0.25 crank degrees # eg 0x10=4 degree limit iac_ign_advance_limit=10 # iac_ign_retard_limit: # Ignition retard limit when trying to decrease RPM # 0x01=0x25 crank degrees # eg 0x1A=6.5 degree limit iac_ign_retard_limit=1A # iac_ign_threshold: # 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 degrees??? # eg 0x08=???? iac_ign_threshold=08 ############################################################# # # Initial Start and Warmup # 15..40% (0x0F .. 0x28) are common (and sometimes even higher). # Since originally warmup enrichment is not tuned, we often # adjust awev (besides cwl,cwh) to start the engine, but after # warmup enrichments tuning is done, awev must retuned # to get back the desired pulsewidth. Take notes of # working cwl,cwh, awev settings and actual CLT and # the warmup enrichments, so when warmup values are changed # awev can be changed with simple calculation instead of guessing # Afterstart warmup enrichment # awev is the percentage of added fuel added at startup that fades away # to zero in (awc) revolutions. # 0x01=1% # eg 0x1D awev=1E # Afterstart warmup scaling at 170F # USE THIS % OF awev AT 170F # 0x01=0.4% # eg 0x80=50%, 0xFF=100% awev_temp_scaling=A0 # Afterstart number of revolutions # awev will be scaled from (awev) to zero # through this many cycles after startup # 0x01=1 cycle # eg 0x64=100 engine cycles awc=96 # Warmup Coolant # warmup_clt_range defines the temperature bins used for interpolation # the values in warmup_clt_range is degrees Fahrenheit + 40 # C = 5/9 * F - 40 # F = 9/5 * C + 72 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 # this is the actual warmup enrichment. Values biased at 100 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 can be decreased as a function of rpm. # this is a nice feature, eg. +16% ... +0% gives nice result # set all to 0x64 to disable 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 ############################################################# # # EGO Exhaust Gas Oxygen -- very important. # # EGO configuration # Dave Brul's EGO setup # Variable Air Fuel Ratio # 07=Variable AFR # VARIABLE AS OPPOSED TO FIXED? EVERYONE WANTS VARIABLE, NO? ego_conf=07 # EGO Resolution # Minimum recognized change in EGO value # 0x01=0.4% # eg 0x02=0.8% ego_delta=02 # TIME IT TAKES TO THE O2 SENSOR TO REACT? # 0x01=??? # ego_lag=04 # Min coolant temperature for EGO enabling [F] # eg. 0xC2 = 194degF (108degC) # C = 5/9 * F - 40 # Setting this requires you to know if F or Cel is your chosen measurement # IF C OR F IS CHOSEN MEASUREMENT IN TUNING SOFTWARE? ego_coolant=94 # Max TPS position for EGO correction # 0xFF=100% open (WOT) ego_maxtps=FF # Max MAP for O2 correction # IN KPA OR PERCENT? # 0x01=? ego_maxmap=FF # Min rpm for ego enabling # Ignore all EGO information below this RPM # 0x01=100rpm # eg 0x0C=1200rpm ego_minrpm=0C # Max rpm for EGO correction # 0x01=100rpm # eg 0x4B=7500rpm ego_maxrpm=FF # Warmup time # 0x01=1 sec # eg 0x3C=60 sec # IS THIS THE AMOUNT OF TIME WE TURN ON THE HEATER TO WARM UP THE O2 SENSOR? ego_warmup=3C # Maximum allowed enleanment of AFR # 0x01=0.4% # eg 0x30=19.2% ego_lean_limit=30 # Maximum allowed enrichment of AFR # 0x01=0.4% # eg 0x80=51.2% ego_rich_limit=30 # WHAT IS THIS? # NOT DESCRIBED IN WIKI ego_pid_kp=40 # WHAT IS THIS? # NOT DESCRIBED IN WIKI # ego_target = 51 * O2_sensor_voltage ego_target=19 # not used for the wbo2 incredible ego, only for NBO2_PID_EGO_EXPERIMENT # Does this need to be commented for WBO2 setup? ego_pid_window=FF ############################################################# # Dave Brul's WBO2 setup # wbo2 config with softpwm_act; softpmw_act_var is broken!! # You must still calibrate your WBO2 see Manual or # wiki page: # Warm-up ramp speed # WHAT IS MAX VALUE HERE? # 0x01=??? # eg 0x01=0.2V/sec ? wbo2_warmup_ramp=A0 # Warm-up target: # 0xFF = ? (ALL THE VOLTAGE WE CAN GIVE IT? OR IS IT 100%?) # EVERYONE HAS THIS SET TO 0xFF. # WHY WOULDN'T WE WANT TO HEAT THE O2 ALL THE WAY? wbo2_warmup_target=FF # Heater absolute voltage limit # 0x01=?V # eg 0x80=???V # eg 0xFF=???V wbo2_abs_limit=E4 # Max time allowed at absolute voltage limit # in milliseconds # 0x01=1ms # eg A0=160ms wbo2_limit_maxt=A0 # Fall back voltage after max time spent at absolute limit # FROM THE WIKI: 1C=10V, 2A=12V, FF=30V # 0x01=??? # Measured in percent? wbo2_fallback=60 # Time before retrying control: # IN SECONDS? # 0x01=??? # eg 0x3B=??? wbo2_retry_t=06 # Edgetime correction constant C/R # IF THIS IS A CONSTANT, WHY IS IT HERE? # EVERYONE HAS wbo2_edgetime_corr=BA, SHOULD THIS BE ADJUSTABLE? # 0x01=??? # eg 0xBA=??? wbo2_edgetime_corr=BA # Gate for small edgetimes # Any reading less than this is ignored # 0x01=0.5usec # 0x50=40.0usec wbo2_edgetime_min=50 # O2 percentage of 'normal' air: 20.947%, calibrated to 20.95 # warning: sensor dependent # for verification, also measure (and write here) sensor RCal (DVM Ohmmeter mode) # between red wire and connector pin that has no wire towards the sensor # The RCal lives in sensor connector housing. # Typical reading is between 80 and 180 ohm wbo2_calibration=AE # A1 for the ETAS3 sensor with Rcal = 75.3 ohm # board serial number=... # DESCRIPTION in WBO2 controller testing, calibration # Adjust to get pump+ close (within 0.1V if pump+ connection open) to pump-. # Pump- is appr. 3.98V wbo2_pump_pw_zero=64 # WBO2 target Ri (pulse amplitude) # 0x01=5V/8192 wbo2_ri_target=96 # OPA amplification, g = 270/75 + 1 = 4.6 # Vadc = g * (5 - Vnernst) # # Vnernst DC at sensor wire = 4.45V # Vnernst DC at adc = 4.6 * (5 - 4.45) = 2.53 # nernstdc_target = Vadc / g * 256 = 141 = 0x8D # WBO2 target nernstDC # 0x01=5V/256 # 0x01=20mV # eg # 0x66=2.04V # 0x66=102 decimal # 102*20mV=2.04V wbo2_nernstdc_target=8D wbo2_heater_pid_kp=46 wbo2_heater_pid_ki=10 wbo2_heater_pid_kd=1A wbo2_heater_pid_ilimit=80 wbo2_pump_pid_kp=40 # 2E wbo2_pump_pid_ki=2E # 1D wbo2_pump_pid_kd=00 # the D term is not needed IMHO. I didn't fine-tune the pump PID controlelr, but brief experiments suggests so. Was 08 earlier, dunno how it was made (I think originally came from Dave Brul) wbo2_pump_pid_ilimit=84 # 84 # EVERYONE HAS wbo2_ri_confidence_scale=80 # SHOULD THIS BE CHANGED TO SUIT SENSOR, OR SAME FOR EVERY SENSOR? wbo2_ri_confidence_scale=80 ############################################################# # # Knock Detection and correction 2-channel Knock sensor control # # Not currently used, mechanical lifter head makes too much noise # f_knock = 900 / (pi*r) = 900 / (pi * 0.5 * 0.083) = 6.903 kHz # from datasheet tpic801.pdf page 10 table#1 # bandpass frequency selection 6.94 kHz is closest to 6.903 kHz # filter setting = 29 hex (41 dec) # Overall System Settings # Knock selection knock_conf=00 knock_sampling_window=FF # Use knock sensing in this RPM range # FF for both means no knock sensing/control knock_minrpm=FF knock_maxrpm=FF # Channel #1 setup knock1_frequency=29 knock1_gain=FF knock1_integrator=FF # Channel #2 setup knock2_frequency=29 knock2_gain=FF knock2_integrator=FF # Trigger level knock_threshold=FF knock_noise_scale=FF # Ignition effects # Knock getting louder knock_max_retard=FF knock_default_retard=00 knock_retard_step=FF knock_retard_delay=FF # Knock getting softer knock_advance_step=FF knock_advance_delay=FF ############################################################# # # VE learning VERY important # # COMMENT: Insert comments on enabling/disable/howto use # Some basic comments: # VE Learning can adjust a loadsite that is visited # but not a neighboring loadsite that is rarely visited causing # peaks and valleys in the VE (j[]) map that will need smoothed # # EGO correction is transferred across loadsites for fast loadsite-changes # (that happens, especially in kPa direction) # # VE Learning Enable/Disable # ve_learn_conf=01 / 00 is ON / OFF ve_learn_conf=01 # Minimum coolant temp for learning to be enabled # WHY IS THIS IN FAHRENHEIT??? # 0x00=-40F # 0xFF=215F ve_learn_coolant=D8 # VE Learning speeds # Higher number means more agressive changes ve_learn_rpm_scale=1E ve_learn_kpa_scale=1E ve_learn_ego_scale=43 # HOW FAST IS 0xFF COMPARED TO 0x80? ve_learn_speed=FF ve_learn_max_power=FF ve_learn_min_weight=4D ve_learn_limit=FF ############################################################# # # Triggers, HW determines VR or Hall # software defines how it reacts # # 36-1 Trigger Configration # # Primary_Trigger # # FE: Rising Edge trigger # FF: Falling Edge trigger # 01: Multi-tooth wheel configuration primary_trigger=01 # tooth_wheel: # Used for multi-tooth wheels # Total number of teeth # eg For 60-2 wheel, 58 teeth between the missing tooth = 3A # eg For 36-1 wheel, 35 teeth between the missing tooth = 23 tooth_wheel=23 # tooth_wheel_twidth1: # width (in degrees) of each tooth # eg For 36-1 wheel, each tooth is 10 degrees = A tooth_wheel_twidth1=A # trigger_tooth: # Used for multi-tooth wheels (Tooth that triggers event) # so that trigger tooth is ~60 degrees BTDC trigger_tooth=01 # Secondary_Trigger # FE: Rising Edge trigger # FF: Falling Edge trigger # 01: Multi-tooth configuration secondary_trigger=FF # another_trigger_tooth: # NEED HELP HERE. guessing secondary better grouping would be inorder another_trigger_tooth=1E # width (in degrees) of each tooth # eg For 36-1 wheel, each tooth is 10 degrees = A tooth_wheel_twidth2=12 # this is for folks with a cam Sync # WHATS THE DIFFERENCE BETWEEN CAM SYNC AND SEC. TRIGGER? cam_sync_r_edge_phase=FF cam_sync_f_edge_phase=FF reset_engphase_after=FF ############################################################# # MCELL's Trigger setup, using a 60-1 VR wheel # Triggers, HW determines VR or Hall # software defines how it reacts # ======Primary Trigger ==================== #primary_trigger=01 #tooth_wheel=3A #trigger_tooth=10 # ======Secondary Trigger ==================== #secondary_trigger=FF #another_trigger_tooth=1E #crank_minper=50 #tooth_wheel_twidth1=06 #tooth_wheel_twidth2=12 #cam_sync_r_edge_phase=FF #cam_sync_f_edge_phase=FF #reset_engphase_after=FF ############################################################# # # Ignition # # Distance (in degrees) from first tooth after missing tooth to cylinder #1 TDC # 0x01=0.5 degrees # eg 0xF0=120 degrees # 62 degrees = 120 (from missing tooth) - 48 (trigger tooth * 6) ign_tdcdelay=F0 # Dwell # Dwell settings for 14V and 6V ign_dwell14=14 ign_dwell6=1E # Ignition advance at cranking # 0x01=0.25 degrees (at crank) # eg 0x20=8 degrees ign_crank_advance=20 # Dummy ignition with inverted output # 0x01=??? # eg 0x70=??? ign_out=70 # Highest indexed ignition coil to trigger # At least 0..ignchmax index of h[2] must be filled in # eg h[2] = 05 07 05 07 00 00 00 00 # ignchmax = 03 ignchmax=03 # CEASE IGNITION AFTER engine_off_delay TIMEUNITS? # 0x01=??? # eg 0x08=? engine_off_delay=08 ############################################################# # # Fuel Pump Control # # TURN OFF PUMP AFTER pump_on_mintime TIME UNITS # 0x01=??? # eg 0x0F=???s pump_on_mintime=0F # Free injector driver drives the fuelpump relay? # If no free injector driver, select another channel (eg. from P259) or set last element of h[0] # FF=Auto-shutoff disable (not recommended, dangerous) fuelpump_channel=P259_5 ############################################################# # # Second stage of injectors # Not used inj_stage2_rate=FF inj_stage2_start_tps=FF inj_stage2_start_map=FF ############################################################# # # Anti-lag system # Not used als_lowrpm=FF als_maxtps=FF als_ignretard=FF als_rich=FF ############################################################# # # Exhaust Gas Temperature # Not used egt1_cal=40 egt1_offs=00 ############################################################# # # Boost Controller # Not used boost_conf=00 boost_targetoffs=00 boost_minpressure=FF boost_pid_kp=20 boost_pid_ki=80 boost_pid_kd=01 boost_pid_ilimit=FF boost_channel=FF ############################################################# # # Water pump Controller # Not used water_pump_temp=00 hybrid_rpm_a=00 hybrid_rpm_m=00 water_pump_hyst=00 water_pump_channel=FF ############################################################# # # Misc outputs (WOT and RPM, WOT, RPM, channel definition) # # FF disables the outputs # needs/wants: # RPM ( >7000 RPM) Switched ground for SuperBright LED (SHIFT LIGHT) # RPM ( >rev_limit(7500 RPM) )Switched ground for SuperBright LED (REV Limiter) # # Suggested Setup from Dave24_ # ============== Misc 2 output ================= # RPM ( >7000 RPM) Switched ground for SuperBright LED (SHIFT LIGHT) misc2out_minrpm=46 misc2out_maxrpm=FF misc2out_mintps=00 misc2out_maxtps=FF misc2out_minmap=00 misc2out_maxmap=FF # select channel yourself, i would go with on of the p259 outputs # P259 ouput 0: EC36 pin 4 misc2out_channel=p259_0 # ============== Channel Select ================= # not used act_wot_rpm=FF act_wot_channel=FF # RPM ( >rev_limit(7500 RPM) )Switched ground for SuperBright LED (REV Limiter) act_rpm_rpm=4B # select channel yourself, i would go with on of the p259 outputs # P259 ouput 1: EC36 pin 16 act_rpm_channel=p259_1 # not sure about the wot output with rpm range # ============== Misc 1 output ================= # WOT & RPM( 4000RPM < X <7200RPM ) switched ground for relay (nitrous activation) misc1out_minrpm=28 misc1out_maxrpm=48 misc1out_mintps=FF misc1out_maxtps=FF misc1out_minmap=00 misc1out_maxmap=FF # select channel yourself, i would go with on of the p259 outputs # P259 ouput 6: EC36 pin 31 misc1out_channel=P259_6 ############################################################# # # LCD layout # # A better description would definately be helpful # TODO: wiki page reference 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 # Injector sequence # maskconfig.alternate elements are used # (going reverse order, last element is looked up first) # "LAST ELEMENT" IS NON-ZERO ELEMENT ON FAR RIGHT (48)? # FETs are numbered 01,02,04,08,10,20,40,80. # # Injectors Populated: # INJA[01, EC36p07] # INJB[02, EC36p19] # INJD[08, EC36p20] # INJG[40, EC36p06] # # this fires them in batch mode (A and B) and (D and G) h[0]=03 48 00 00 00 00 00 # NOT used obsolete # THEN WHY ARE WE KEEPING IT HERE? h[1]=00 00 00 00 00 00 00 00 # Ignition Sequence # # DR_00[h[2] = 00, EC36p35] # DR_01[h[2] = 01, EC36p33] # DR_02[h[2] = 02, EC36p34] # DR_03[h[2] = 03, EC36p36] # # IS THIS CORRECT FOR TWO WASTED SPARK COILS TRIGGERED BY # PINS EC36p35 and EC36p33? FIRING ORDER=1-3-2-4 # h[2]=00 01 00 01 00 01 00 01 # chris G's notes: # third line contains the ignition sequence, each element # represents the bitnumber of the p259 output going to coil # We start at the end (ignchmax) and work our way back # WHICH END IS THAT? RIGHTMOST NON-ZERO CHANNEL? #-----------these are for something else # WHAT MIGHT THAT BE? b[0]=28 30 38 40 48 50 58 60 t[0]=20 40 17 80 A0 C0 E0 FF