- 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 Derek-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
- Hot start priming pulse scaling at 170F
- Measured as percentage (80=50%, FF=100%)
- eg A0=63%
- Cranking Pulse Definition
- Cranking pulsewidth at -40 F
- 0x01=0.1ms
- eg 1E=3.0ms
- Cranking pulsewidth at 170 F
- Typical cwh = about 20% of cwl
- 0x01=0.1ms
- eg 0A=1.0ms
- Cranking Threshold:
- Defines boundry between cranking and running
- 0x01=100rpm
- eg 0x03=300 rpm
- what is this?
- for std. coil tach signal (?)
- Minimum crank period
- Measured in ms
- 0x01=???ms
- eg 0x50=???
- Rev limiter
- 0x01=100rpm
- eg 0x4B=7500rpm
- 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
- 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 (cam position) trigger required for one injector per batch or more than two batches?
- add 0x10 to fire all at cranking
- 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
- 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 t=0 to begin fuel spray
- 0x01=0.16ms
- battfac:
- Injection time scaling based on supply voltage
- Add this amount of time for what amount of change in voltage???
- 0x01=0.16ms
- injocfuel:
- Maximum rampup time at VBATT=7V
- TIME IT TAKES TO REACH FULL FUEL FLOW THROUGH INJECTOR
- WHEN BATTERY VOLTAGE IS LOW?
- 0x01=0.24ms
- injrampup_battfac:
- Minimum rampup time
- MINIMUM TIME IT TAKES TO REACH FULL FUEL FLOW THROUGH INJECTOR
- WHY ARE WE CONCERNED WITH MINIMUM TIME?
- "min rampup time is injocfuel*77%"
- ^ DOES THIS MEAN injrampup_battfac MUST BE GREATER THAN 77% of injocfuel?
- 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
- Injector PWM duty cycle
- Measured in percent (50%=0x80, 100%=0xFF)
- 100% when using HighZ
- 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%)
- 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[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_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 bins
- Amount of change in throttle position
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[1]=00
tpsaq[2]=00
tpsaq[3]=00
- Acceleration TPSDOT threshold (throttle sensitivity)
- minimum rate of change to enable any acceleration enrichment
- THIS CANNOT BE LESS THAN tpsdotrate[0]?
- Acceleration duration
- 0x01=0.1s
- eg 0x0A=1 second
- IS THIS THE 't' IN DELTA OVER TIME?
- Acceleration cold multiplication factor
- Biased at 0x64
- eg 0x64 - bias = 0
- SHOULDN'T WARMUP ENRICHMENT TAKE CARE OF THIS?
- Cold acceleration added amount (at -40 F degrees)
- 0x01=0.1ms
- eg 0x14 = 2.0ms
- 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
- Decel fuelcut enabled above threshold
- 0x01=100rpm
- eg 0x0F=1500rpm
- Overrun fuelcut:
- injectors disabled above this
- 0x01=100rpm
- eg 0x10=1600rpm
- Overrun fuel resume
- Injectors re-enabled below this value
- 0x01=100rpm
- eg 0x0F=1500 RPM
- 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%
- Barometer settings
- MAP Sensor
- standard MPX4250AP 250kpa sensor that comes with V3.x
kpaofs=52
- Mean Barometric Pressure
- MAP sensor failure value (limp home value)
- 0x01=1kPa?
- 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?
- IF THESE ARE CONSTANTS, WHY AREN'T THEY HARD CODED?
- These are important DO NOT CHANGE
- (useful descriptions are left over from Megasquirt)
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?
- 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
- 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)
- Coolant fan
- Output channel selection (digitalout)
- Idle
- fastidle:
- Should be set to same as idle when not using IAC?
- 0x01=100rpm???
- eg 0x09=900rpm
- Idle air controller based idle control
- This is where the idle control devices are setup
- THIS VARIABLE NOT DOCUMENTED IN WIKI
- WHAT IS IT?
- NEED COMMENTS FOR ALL OF THESE!
- stepper is enabled with 7E (iac_conf=7E?), you probably want iac_conf=18
iac_max_steps=F0
iac_tps_thres=05
iac_cold_idle_temp=A0
iac_warm_idle_temp=D0
iac_cold_rpm=74
iac_warm_rpm=67
iac_cold_start_pos=E2
iac_warm_start_pos=B0
iac_afterstart_rpm=1F
iac_afterstart_duration=20
iac_afterstart_steps=04
iac_kp=25
iac_ki=10
iac_kd=30
iac_integral_speed=C0
iac_integral_limit_dec=05
iac_integral_limit_inc=E0
iac_integral_deadband=0A
iac_deadband=05
iac_pid_conf=01
iac_overclose_interval=B8
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=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_retard_change=20
iac_ign_advance_limit=10
iac_ign_retard_limit=1A
iac_ign_threshold=08
- Initial Start and Warmup
- Afterstart
- COMMENT:
- awev is the percentage added at startup that fades away
- to 0 in awc engine cycles.
- DEFINE ENGINE CYCLES
- 360 DEGREE CRANK ROTATION = 2 CYCLES?
- WHY DO WE USE ENGINE CYCLES IF WE ALREADY USE ENGINE TEMP?
- 15..40% (0F .. 28 hexa) 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 (percent, added value)
- Afterstart warmup scaling at 170F (80=50%, FF=100%)
- Afterstart number of engine cycles
- awec=80
- 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[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[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[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 Resolution
- Minimum recognized change in EGO value
- 0x01=0.4%
- eg 0x02=0.8%
- TIME IT TAKES TO THE O2 SENSOR TO REACT?
- 0x01=???
- Min coolant temperature for EGO enabling [F]
- WHY IS THIS IN FAHRENHEIT WHEN EVERYTHING ELSE IS IN CELCIUS?
- EVERYTHING SHOULD BE IN DEGREES C, TUNING SOFTWARE SHOULD DO CONVERSION IF REQUIRED
- 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?
- Max TPS position for EGO correction
- 0xFF=100% open (WOT)
- Max MAP for O2 correction
- IN KPA OR PERCENT, AND WHAT UNITS OF INCREMENT? 0x01=?
- Min rpm for ego enabling
- Ignore all EGO information below this RPM
- 0x01=100rpm
- eg 0x0C=1200rpm
- Max rpm for EGO correction
- 0x01=100rpm
- eg 0x4B=7500rpm
- 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?
- Maximum allowed enleanment of AFR
- 0x01=0.4%
- eg 0x30=19.2%
- Maximum allowed enrichment of AFR
- 0x01=0.4%
- eg 0x80=51.2%
- WHAT IS THIS?
- NOT DESCRIBED IN WIKI
- WHAT IS THIS?
- NOT DESCRIBED IN WIKI
- ego_target = 51 * O2_sensor_voltage
- not used for the wbo2 incredible ego, only for NBO2_PID_EGO_EXPERIMENT
- Does this need to be commented for WBO2 setup?
- 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 ?
- 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?
- Heater absolute voltage limit
- 0x01=?V
- eg 0x80=???V
- eg 0xFF=???V
- Max time allowed at absolute voltage limit
- in milliseconds
- 0x01=1ms
- eg A0=160ms
- Fall back voltage after max time spent at absolute limit
- FROM THE WIKI: 1C=10V, 2A=12V, FF=30V
- 0x01=???
- Measured in percent?
- Time before retrying control:
- IN SECONDS?
- 0x01=???
- eg 0x3B=???
- 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=???
- Gate for small edgetimes
- Any reading less than this is ignored
- 0x01=0.5usec
- 0x50=40.0usec
- 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
- 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 target Ri (pulse amplitude)
- 0x01=5V/8192
- 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_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?
- 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_sampling_window=FF
- Use knock sensing in this RPM range
- FF for both means no knock sensing/control
knock_maxrpm=FF
- Channel #1 setup
knock1_gain=FF
knock1_integrator=FF
- Channel #2 setup
knock2_gain=FF
knock2_integrator=FF
- Trigger level
knock_noise_scale=FF
- Ignition effects
- Knock getting louder
knock_default_retard=00
knock_retard_step=FF
knock_retard_delay=FF
- Knock getting softer
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
- Minimum coolant temp for learning to be enabled
- WHY IS THIS IN FAHRENHEIT???
- 0x00=-40F
- 0xFF=215F
- VE Learning speeds
- Higher number means more agressive changes
ve_learn_kpa_scale=1E
ve_learn_ego_scale=43
- HOW FAST IS 0xFF COMPARED TO 0x80?
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
- 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_twidth1:
- width (in degrees) of each tooth
- eg For 36-1 wheel, each tooth is 10 degrees = A
- trigger_tooth:
- Used for multi-tooth wheels (Tooth that triggers event)
- so that trigger tooth is ~60 degrees BTDC
- Secondary_Trigger
- FE: Rising Edge trigger
- FF: Falling Edge trigger
- 01: Multi-tooth configuration
- another_trigger_tooth:
- NEED HELP HERE. guessing secondary better grouping would be inorder
- width (in degrees) of each tooth
- eg For 36-1 wheel, each tooth is 10 degrees = A
- this is for folks with a cam Sync
- WHATS THE DIFFERENCE BETWEEN CAM SYNC AND SEC. TRIGGER?
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
- eg 115 degrees
- 62 degrees = 120 (from missing tooth) - 48 (trigger tooth * 6)
- Dwell
- Dwell settings for 14V and 6V
ign_dwell6=1E
- Ignition advance at cranking
- 0x01=0.25 degrees (at crank)
- eg 0x20=8 degrees
- Dummy ignition with inverted output
- 0x01=???
- eg 0x70=???
- 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
- CEASE IGNITION AFTER engine_off_delay TIMEUNITS?
- 0x01=???
- eg 0x08=?
- Fuel Pump Control
- TURN OFF PUMP AFTER pump_on_mintime TIME UNITS
- 0x01=???
- eg 0x0F=???s
- 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)
- 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_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
- ============== Channel Select =================
- not used
act_wot_channel=FF
- RPM ( >rev_limit(7500 RPM) )Switched ground for SuperBright LED (REV Limiter)
- select channel yourself, i would go with on of the p259 outputs
- P259 ouput 1: EC36 pin 16
- not sure about the wot output with rpm range
- ============== Misc 1 output =================
- WOT & RPM( 4000RPM < X <7200RPM ) switched ground for relay (nitrous activation)
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
- LCD layout
- A better description would definately be helpful
- TODO: wiki page reference
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)
- NOT used obsolete
- THEN WHY ARE WE KEEPING IT HERE?
- 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
- 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?
t[0]=20 40 17 80 A0 C0 E0 FF