Config.txt
Anything I need help on is marked with the exact word "TODO:"\n
############################################################
# Last Updated April 9, 2005
# 87 Volkswagen Scirocco 16v
# 1.8 16v Stock Motor
# Staked ABA headgaskets
# 60-2 Crank wheel
# 11th Tooth on trigger wheel is TDC
# Genboard v3.2 Assembled
# copied from Marcell's v3.1 config and tables
# copied from Hackish config and tables
# copied from Brian's config and tables
# copied from My TEC 2 settings
# #52lb injectors 3.0bar Fuel pressure
# Impedance 2.4ohm wired up for LowZ and PWM use
# Injectors Populated: INJA, INJB
# Wideband Heater: WB1
# t3/t4 turbo 60 trim 60-1 wheel .63 stage 5 wheel
############################################################
#
# STARTUP INFORMATION
# Get fuel pressure up and define what is running vs. cranking
# Define Rev Limit
#
# ===== Fuel Pump Priming
primep=0D # 1.3ms (0x00 * 100us)
# --- Hot start Priming pulse scaling at 170F (80= half FF = same as cold)
primep_temp_scaling=A0 #63%
# ===== Cranking Pulse Definition
# typically cwh =~ 0.2 * cwl
# TODO: these are too low compared to req_fuel;
# cwl= 4..5 x cwh could be better (than 3x), but who knows...
cwl=1E # Cranking pulsewidth [100 usec] at -40 F (3ms)
cwh=0A # Cranking pulsewidth [100 usec] at 170 F (1ms)
cranking_thres=03 # Cranking threshold [300 rpm]
crank_minper=50 # for std. coil tach signal
# ===== Rev limiter
#
# Rev limit (hard) [x100 rpm] eg. 0x4B * 100rpm = 7500rpm
# fuelcut (ignition-cut would blow up the exhaust)
# REV Limit at 7.5kRPM
# Motor pulls all the way to here based on previous experience
rev_limit=4B
#############################################################
#
# INJECTOR SETTINGS
#
# Fueling Parameters
#
# 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 5.5ms via mega manual
# 109 cid , 4cln, 4 injectors, 1 squirts, 52#/hr, staging: alternating
#
# injectors @ 3.5bar = 52lb/hr = 5.77 g/s = 545cc
# engine 1799 cc == 109.78 cid
# for every injector: 465cc breath; 0.465 L * 1.2kg/m3 = 0.558g air
# divide by 14.7 (gasoline) : 0.558g / 14.7 = 0.038g fuel
# divide by injector flowrate: 0.038 g / (5.77 g/s) = 6.6 msec
# doubled VE values and divided req_fuel by two to increase resolution
#
# req fuel is changed to 11.0 mS
#
# To double the VE table resolution divide req_fuel by two
req_fuel=6E
# ===== Physical setup ===============
# 4 injectors -- 2 banks
# Firing sequence: alternating, 2 squirts per 720degree rotation
# Setting up a 4clyn with 2 banks of injectors
# Wired up for 2 lowZ injector per driver
#
# COMMENT: Verify: The divider says how many times banks fire during
# 720degree rotation
#
# ===== Alternate Injector bank setup ======
# Alternate injector drivers Works with h[0]
# alternate = 00 means use only first (batch fire or TBI)
# alternate = 01 means alternate between first and second
# alternate = 03 to use indexes 3,2,1,0
# alternate = 07 to use indexes 7,6,5,4,3,2,1,0
#
# add 0x10 (bit4=1) to fire all at cranking
# (both 2 in this case) simultaneously at cranking
# so this is alternate=01, but bit4=1 enables squirting both banks at cranking
# Bitwise 0x0001 0001
# DONE: for 2 banks, you almost surely want alternate=11
# so both banks are firing at cranking
alternate=11
# for 4 banks, and fire all during cranking:
# alternate=13
# naturally, in this case the first 4 elements of h[0] will be used
# ===== Divider ============================
# COMMENT: Better notes here required
# For a 4clyn you want divider * (alternate + 1) = 4
# divider * (alternate+1) should be 4 for a 4 cyl
# divider=02 and alternate=01 for 2 banks
# divider=01 and alternate=03 for 4 injector banks
# DONE: for 2 banks and 4cyl divider=02 recommended
# so higher pulsewidth will make it easier to tune
# nice idle without the need of precise injopen related config
divider=02
# ===== Injector open&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 (Force solenoid required to overcome)
#
# 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=20 # 32*16 usec
battfac=10 # +- 16 * 16usec depending on VBATT
injocfuel=08 # max rampup time at VBATT=7V is 8 * 24 usec
injrampup_battfac=FF # min rampup time is injocfuel*77%
# ======== High Z INJECTORS =============== MAY USE ONLY HIGHZ or LOWZ settings
# 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"
#injpwmt=FF # Injector PWM time at which to activate pwm [100 usec]
# FF=disabled (set to 1 mS per MegaManual for starting point)
#injpwm=FF # Injector PWM duty cycle (when current limiting is active)
# (set to ~100% [FF] no PWM - JJR 03/31 15:15)
#injpwm6=00 # added Injector PWM duty cycle during low battery voltage (6V)
# ======== Low Z INJECTORS & PWM variables ===============
# 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 )
injpwmt=0A # Injector PWM time at which to activate pwm [100 usec]
# FF=disabled (set to 1 mS per MegaManual for starting point)
#
# Then the injector starts the hold mode where the PWM % becomes applicable.
# to hold an injector (solenoid) open takes significantly less power
# the injector no longer has to charge or overcome the fuel pressure to keep it open.
# the current during the hold cycle is calculated by
# I = V/R * % duty cycle
# verify by measuring OC0 with DVM
# [0.4%] unit, so FF is 100% (that measures OC0=0V; since this is before the inverting FETdriver)
# 48/256 (=3/16), that measures OC0=5V * (256-48)/256
injpwm=30 # Injector PWM duty cycle (when current limiting is active)
# 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
# 6volts = Vbatt/2; Iold = Inew; dutycycle should be equal to 2x 12volt percentage.
injpwm6=40 # added Injector PWM duty cycle during low battery voltage (6V)
#
# Constant to calculate RPM:
# 12000 rpm/4clyn = 3000=11*256 + (11*16 +8) =0x0BB8
rpmk[0]=0B
rpmk[1]=B8
#############################################################
# TPS related information
# ===== TPS calibration =================
# read TPS from LCD (or serial connection Manmll)
# in both endstates of throttle and configure these
# 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.
#
# ===== TPS low and high settings from installation
tps_low=00
tps_high=FF
# ====== TPS information used during engine running
#
tpsdot_kpadot_conf=00
# --- TPS dot bins
tpsdotrate[0]=05
tpsdotrate[1]=14
tpsdotrate[2]=28
tpsdotrate[3]=4D
# --- TPS accelerator enrichement: set to 00 for inital VE tuning
tpsaq[0]=00
tpsaq[1]=00
tpsaq[2]=00
tpsaq[3]=00
# --- not sure about these
#
# Accel TPSDOT threshold (throttle sensitivity)
# minimum rate of change to enable any acceleration enrichment
tps_thresh=05
#
# Acceleration duration [0.1 sec] eg. 0x0A * 0.1 = 1 second
tpsasync=02
#
# Acceleration cold multiplication factor, biased at 0x64 eg. 0x64 - bias = 0
acmult=64
#
# Cold acceleration added amount (at -40 F degrees) [x100 usec]. eg. 0x14 * 100uS = 2000uS
tpsacold=05
#
# Deacceleration fuel cut, 100(0x64) means no fuelcut because of sudden tps-release.
# This can cause lean condition, misfire, kill-the-cat etc, so take care.
# 00 would be rough behaviour, other value under 96% (0x60) is dangerous, I'd leave it at 100%
tpsdq=64
#
# Decel fuelcut enabled above threshold [x100 rpm] eg. 0x0F * 100 = 1500rmp
decel_fuelcut_thres=0F
#
# Overrun fuelcut: injectors disabled above this [x100 rpm]
overrun_fuelcut=10 # 1600 RPM
#
# Overrun fuelresume, injectors reenabled below this [x100 rpm]
overrun_fuelresume=0F # 1500 RPM
#############################################################
# Use to avoid enleaning of AFR when idling due to increased intake air temperature.
# A value of 98 (decimal) will limit the leaning of AFR at idle to 98% at 25C degress.
airden_ignore=62
#############################################################
#
# Barometer settings
#
# ===== Map Sensor ===========================
# standard MPX4250AP 250kpa sensor that comes with V3.x
kpafac=7F
kpaofs=52
# ===== Mean Barometric Pressure -- TODO explain better
baro=64
# ===== max allowed difference in barometric pressure
# else use baro=0x64 (100 kPa)
# dbaro=10 # Marcells setting
dbaro=0C
#############################################################
#
# these are important
# These useful descriptions are left over from Megasquirt
# COMMENT: insert some stuff here
config11=30 # old config 31
config12=30 # 4 cylinders
config13=02 # old config 00
mt_unused=FF
#############################################################
#
# TODO: explain and perform if required
# battery calibration for starting and dwell I believe
#
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
# NOTE: the GRM cars use the stock VW low temp fan switch in the radiator
# And as such this ouput is not needed
# --- Temperature when fan will turn on degC eg. 0x55 = 85degC
fan_temp=EA
# --- Decrease in temperature required to turn fan off.
# --- fun_temp-fan_hyst=temp when fun will turn off 0x55 - 0x09 = 0x4C (76degC)
fan_hyst=05
# coolant fan, output selection (digitalout)
fan_channel=FF
#############################################################
#
# Fast Idle
#
fastidle=C6 #RPM?? makey 1080 RPM?
#############################################################
#
# Idle air controller -- I dont have one.
#
# This is where the idle is setup lots of stuff here to screw up.
#
iac_step_seq=C9
# stepper is enabled with 7E, you probably want iac_conf=18 or
# whatever ..check it
# TODO: why do you enable the stepper if you have none?
# COMMENT: because I dont know how to turn it OFF.
iac_conf=00
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
# ====== Ingition based idle control ========================
# TODO: have no Air control This section must be used for idle
# TODO: idle control via ignition advance / retard works without idle air-control too
iac_ign_advance_change=28
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.
# 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
awev=0F # Afterstart warmup enrichment (percent, added value)
awev_temp_scaling=A0 # Afterstart warmup scaling at 170F (80=half, ff=same as cold)
#awec=80 # Afterstart number of engine cycles
awc=FF
# ======== 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_clt[0]=64 # 100%
warmup_clt[1]=64
warmup_clt[2]=64
warmup_clt[3]=64
warmup_clt[4]=64
warmup_clt[5]=64
warmup_clt[6]=64
warmup_clt[7]=64
#############################################################
#
# EGO Exhaust Gas Oxygen -- very important.
# ======= EGO configuration ================================
# Dave Brul's EGO setup
# TODO: insert valid EGO setting for LSU4 setting into reference firmware
# --- 07 Variable Air Fuel Ratio
ego_conf=07 # 07 variable afr
# --- Step size (percent) [0.4%] eg. 0x02 * 0.4% = 0.8%
ego_delta=02
# DONE: fixed Values
# COMMENT: Better explination here then
ego_lag=04
# --- Min coolant temperature for ego enabling[F] eg. 0xC2 = 194degF (108degC)
# C = 5/9 * F - 40
# 60 degrees celcius
# Setting this requires you to know if F or Cel is your chosen measurement
ego_coolant=94 #C2
# --- Max TPS position for ego correction, This setting allows for learning at WOT
ego_maxtps=FF
# --- Max MAP for O2 correction[kPa]
ego_maxmap=FF
# --- Min RPM for ego enabling [100rpm] eg. 0x0C * 100rpm = 1200rpm
# Ignore all information below this RPM
ego_minrpm=0C
# --- Max rpm for O2 correction [100rpm] 0x32 * 100rpm = 7500rpm
ego_maxrpm=FF
# --- Warmup time [sec] eg. 0x3C (60 sec) [IS THIS FOR THE O2 sensor?]
ego_warmup=3C
# --- Max percent to lean afr[0.4%] eg. 0x30 * 0.4% = 19.2%
ego_lean_limit=30
# --- Max percent to rich afr[0.4%] eg. 0x80 * 0.4% = 51.2%
ego_rich_limit=30
# --- THIS NEEDS DEFINED
ego_pid_kp=40
# --- 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
# MCELL vs DaveB (X = same; - = diff)
# X ego_conf=07 DB:07
# - ego_lag=04 DB:15 (tell Dave that is way too high)
# - ego_coolant=00 DB:94
# X ego_maxtps=FF DB:FF
# X ego_maxmap=FF DB:FF
# - ego_minrpm=04 DB:0C
# X ego_maxrpm=FF DB:FF
# X ego_warmup=3C DB:3c
# - ego_lean_limit=1D DB:30
# - ego_rich_limit=28 DB:30
# X ego_pid_kp=40 DB:40
# NA mt_unused=00 DB: NOT DEFINED
# - ego_delta=01 DB:02
# X ego_target=19 DB:19
# X ego_pid_window=FF DB:FF
#############################################################
# TODO: insert a valid LSU4 setting into reference firmware
# 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:
#
# --- Semi useful varable names
wbo2_warmup_ramp=A0
wbo2_warmup_target=FF
wbo2_abs_limit=E4
wbo2_limit_maxt=A0
wbo2_fallback=60
wbo2_retry_t=06
wbo2_edgetime_corr=BA
wbo2_edgetime_min=50
# Dave I see your calculations here. Are they for the Calibration?
# How about putting a worksheet here?
# (2.55mA * 61.9 / 106.2 ) + 2.55 = 4.036299 mA
# 4.036299 * 510 Ohm = 2.058512712 V
# i measured +/- 2.06V -> Good!
# 1% is eaten by the 10k pump+ to pump- resistor
# but does the AE calibration value also match my Rcal of 106.2 ?
# --- 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). Usually between 80..180 ohm
# Wide band has to be heated up and to give 02% readings
wbo2_calibration=A2 # Sensor read 83.4 ohms adjusted to 02%=2095
# board serial number=...
# DESCRIPTION in WBO2 controllertesting., calibration
# adjust to get pump+ close (within 0.1V close if pump+ connection open) to pump- (that is appr. 3.98V)
wbo2_pump_pw_zero=64
# wbo2, target Ri (pulse amplitude) [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 [5V/256]
wbo2_nernstdc_target=8D
# --- I NEED A DESCRIPTION
wbo2_heater_pid_kp=46
wbo2_heater_pid_ki=10
wbo2_heater_pid_kd=1A
wbo2_heater_pid_ilimit=80
# --- I NEED A DESCRIPTION
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
# --- I NEED A DESCRIPTION
wbo2_ri_confidence_scale=80
#############################################################
#
# Knock Detection and correction 2-channel Knock sensor control
#
# NOTE: car NOT using Knock being used this go round
# --- Dave Brul's notes PROBLEM his has more settings.
# engine with bore 83mm and stroke 86mm
# 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 SettingsKnock selection
knock_conf=00
knock_sampling_window=FF
# --- RPM range valid for FF, FF means no knock
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
#
# TODO: Setup for learning. coolant sensor.
# 218 is damn close to the thermotime switch reading
# how about we make this much lower?
# COMMENT: Insert comments on enabling/disable/howto use
# Some basic comments:
# VE Learning can adjusta 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)
#
# Turn on VE Learning
# ve_learn_conf=01 / 00 is ON / OFF
ve_learn_conf=01
ve_learn_coolant=D8 # 0x00 means -40 F
# 0x255 means 215F
# VE Learning speeds higher number means more agressive
ve_learn_rpm_scale=1E
ve_learn_kpa_scale=1E
ve_learn_ego_scale=43
# TODO: comment
ve_learn_speed=FF
# comment
ve_learn_max_power=FF
ve_learn_min_weight=4D
# comment
ve_learn_limit=FF
#############################################################
#
# Triggers, HW determines VR or Hall
# software defines how it reacts
#
# The ITB GRM car uses a 4 window hall sensor for a trigger
#
# ========== 60-2 Trigger Configration ====================
#
# ======Primary_Trigger ====================
# FE: Rising Edge trigger
# FF: Falling Edge trigger
# 01: Multi-tooth configuration
primary_trigger=01 # Multi-Tooth configuration
# --- tooth_wheel: Used for multi-tooth wheels (total # of teeth)
tooth_wheel=3A # 58 teeth between the missing tooth
# --- not used without camsync
tooth_wheel_twidth1=2
# --- trigger_tooth:Used for multi-tooth wheels (Tooth that triggers event)
trigger_tooth=01 # 6 degrees
# so that trigger_tooth + ign_tdcdelay is 66 degrees
# ( first tooth after missing tooth is 11 teeth BTDC, that is 66 degree)
# ============= NOTE: ALL TRIGGERS below here not used in coil type trigger
# ======NOT USED ================
# ======Secondary_Trigger ====================
# FE: Rising Edge trigger
# FF: Falling Edge trigger
# 01: Multi-tooth configuration
# ??: Cam Sync setup?
# --- NOTE: car doesnt have this HW populated
secondary_trigger=02 # Disable
# another_trigger_tooth: decimal 30 is used for 60-2 toothwheel and 4 cylinder (2 events per crankrot)
another_trigger_tooth=1E
# not used without camsync
tooth_wheel_twidth2=6
# --- this is for folks with a cam Sync
cam_sync_r_edge_phase=FF
cam_sync_f_edge_phase=FF
reset_engphase_after=0xF0
#############################################################
# 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
#############################################################
#
# Ingition stuff
#
# measured 115 degrees from first tooth after missing tooth to cyl#1 tdc
ign_tdcdelay=78 # decimal 120 = 60 degrees
# car uses Dwell
# TODO: need help Doing this going to be using a 4-tower coil pack from a GM or FORD. Measure current, see DummyIgnition
ign_dwell14=14
ign_dwell6=1E
# ignition advance at cranking (8 deg) [0.25crankdeg]
ign_crank_advance=20
# TODO: double-check this. Measure that initialization is proper
# (firmware change might be needed depending on i259 RC reset circuit)
# Dummy ignition with inverted output
ign_out=70
# at least 0..ignchmax index of h[2] must be filled in
ignchmax=03
engine_off_delay=08
#############################################################
#
# Fuel Pump Control
#
# NOTE: car uses stock VW fuel pump relay.
# it does this function automatically
# --- It primes the system at startup
# --- It runs as long as the coil is firing
# --- It stops if the coil signal goes away
# Ahh the beauty of an A1 VW fuel pump relay
pump_on_mintime=0F
# do you have a free injector driver to drive the fuelpump relay?
# TODO: select another channel (eg. from P259 ) if no
# or set last element of h[0]
# or disable with FF (but always-ON pump is dangerous, don't do that)
#############################################################
#
# second stage of injectors
#
# NOTE: GRM not using, A description of use would be nice
inj_stage2_rate=FF
inj_stage2_start_tps=FF
inj_stage2_start_map=FF
#############################################################
#
# Anti-lag system
#
# NOTE: GRM not using, A description of use would be nice
als_lowrpm=FF
als_maxtps=FF
als_ignretard=FF
als_rich=FF
#############################################################
#
# Exhaust Gas Temperature
#
# NOTE: not using, A description of use would be nice
# COMMENT: how does EGT effect running?
egt1_cal=40
egt1_offs=00
#############################################################
#
# Boost Controller
#
# NOTE: not using, A description of use would be nice
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
#
# NOTE: not using, described on AlphaN page
water_pump_temp=00
hybrid_rpm_a=00
hybrid_rpm_m=00
water_pump_hyst=00
water_pump_channel=FF
#############################################################
#
# Misc outputs (WOT & RPM, WOT, RPM, channel definition)
#
# FF disables the outputs
# needs/wants:
# WOT & RPM( 4000RPM < X <7200RPM ) switched ground for relay (nitrous activation)
# RPM ( >7000 RPM) Switched ground for SuperBright LED (SHIFT LIGHT)
# RPM ( >rev_limit(7500 RPM) )Switched ground for SuperBright LED (REV Limiter)
# TODO: wiki page reference
#
# 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
# ============== 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
# 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
#############################################################
#
# 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
tables.txt - not commented as well yet.\n
##############################################################################
#
#Dec 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#Hex 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
#Dec 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#Hex 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
#Dec 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#Hex 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
#Dec 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
#Hex 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
#Dec 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
#Hex 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
#Dec 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
#Hex 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
#Dec 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
#Hex 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
#Dec 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
#Hex 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
#Dec 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
#Hex 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
#Dec 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
#Hex 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
#Dec 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
#Hex A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
#Dec 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
#Hex B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF
#Dec 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
#Hex C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
#Dec 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
#Hex D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
#Dec 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
#Hex E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
#Dec 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
#Hex F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF
----------------------------------------------------------------
TABLES.TXT
# This is my Tec 2 Setting to use in Genboard
# VE table
j[0]=02 05 08 10 3F 6F 96 9D
j[1]=0E 1E 4C 5F 6E 8B A0 9E
j[2]=49 59 70 80 90 A3 A7 A1
j[3]=6E 7D 97 A4 AB AE A9 A0
j[4]=6E 87 A2 B1 B6 B6 AC A4
j[5]=71 8F AA BA BE BB B3 A6
j[6]=72 95 B2 C1 C7 C5 BB A9
j[7]=80 9A BA C9 CE CC C2 B1
# AFR Table
# kPa
# 260 12 12 12 12 12 12 12 12
# 230 12 12 12 12 12 12 12 12
# 200 12 12 12 12 12 12 12 12
# 175 12.5 12.5 12.5 12.5 12.5 12.5 12.5 12.5
# 140 13 13 13 13 13 13 13 13
# 110 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3
# 75 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3
# 50 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3
# 900 2000 2800 3500 4200 5000 5800 6800
# RPM
# AFR Table converted to HEX
l[0]=0E 0E 0E 0E 0E 0E 0E 0E
l[1]=0E 0E 0E 0E 0E 0E 0E 0E
l[2]=0E 0E 0E 0E 0E 0E 0E 0E
l[3]=0D 0D 0D 0D 0D 0D 0D 0D
l[4]=0C 0C 0C 0C 0C 0C 0C 0C
l[5]=0C 0C 0C 0C 0C 0C 0C 0C
l[6]=0C 0C 0C 0C 0C 0C 0C 0C
l[7]=0C 0C 0C 0C 0C 0C 0C 0C
# Ignition Table
# kPa
# 260 12 14 15 16 17 18 19 20
# 230 12 16 18 20 22 22 22 22
# 200 12 18 20 22 24 24 24 25
# 175 12 18 21 26 26 26 26 25
# 140 13 13 13 13 13 13 13 13
# 110 12 18 25 28 30 30 30 30
# 75 12 14 27 28 30 30 30 33
# 50 12 16 28 29 30 31 32 33
# 900 2000 2800 3500 4200 5000 5800 6800
# RPM
# Ignition advance Table converted to HEX
n[0]=30 40 70 74 78 7C 80 84
n[1]=30 38 6C 70 78 78 78 84
n[2]=30 48 64 70 78 78 78 78
n[3]=30 48 58 70 70 70 70 70
n[4]=30 48 54 68 68 68 68 64
n[5]=30 48 50 58 60 60 60 64
n[6]=30 40 48 50 58 58 58 58
n[7]=30 38 3C 40 44 48 4C 50
# KPA table
# 50 75 110 140 175 200 230 250
k[0]=32 4B 6E 8C AF C8 E6 FA
# RPM table
# 1200, 2000, 2800, 3500, 4200, 5000, 5800, 6800
r[0]=0C 14 1C 23 2A 32 3A 44
# Injector mask
h[0]=0A 05 00 00 00 00 00 00
# currently not used
h[1]=00 00 00 00 00 00 00 00
# ignition sequence
h[2]=05 07 05 07 05 07 05 07
b[0]=0C 14 1C 23 2A 32 3A 44
t[0]=0C 14 1C 23 2A 32 3A 44