Add single narrowband target table.
MAPdot calc throttled to rpmcalc rate
Tiny ASM tweaks in RTC
WCOP fix for 5cyl
Dual+missing can sync to cam earlier (need to test this)
Config error for clash on V3 injectors or !single coil
NGC4 (36-1+1) adjust by 360 deg and check cam is there
Expose generic pwm duties in realtime data
Re-do boost output pins and settings
Fix dashpot adder not working.
Add config error for when fan offtemp is >= fan ontemp.
VSS PT2 input bug in init.
Defaults on boost and idle settings
Dual+missing, keep checking for cam for first 5 seconds of run.
dwell_trl wrong offset in ini
EGT range checking
cam polarity check (+ comp log) fix
A few tiny ASM optimisations
Update idle speed control so that the valve closes with the throttle pressed.
2010-12-20 JSM (from 1.0)
Dual fuel / semi-seq / staging
MAP sampling multi event. X/Y registers transposed.
EGO sensor options in ini
EGO 'no correction' option
EGO volt switchpoint default 0.45V
Lambda and Volts in ini
Fuel and spark tableswitching didn't mandate powercycle.
LPG temp / pressure correction railed at -100%
More code to ensure PW <= 65.535 run mode and crank mode
Clean up some wheel_fill code added but no longer required
Fix rotary staged injection breakage from semi-seq fixes.
Config error "whodunnit" 90%
36-2-2-2 outputs swapped if not rotary
Support 16 spark outputs in arrays. 14 in hardware. MS3X + "LEDs". Barely tested.
Support 10 sequential fuel outputs. MS3X + inj1 + inj2. Visually tested only.
Support 12 sequential fuel outputs (MS3X H1 and H2)
Fix FC rotary spark again.
dwl causing serial problems.
Set inj events port/pins once only in init
Semi-seq 2 inj per one output for 6cyl, 8cyl dual fuel or staged on MS3X
First draft at antilag
Fix maths bugs in spark calcs preventing really retarded spark.
Boost second channel. Less functionality than channel 1.
Fix testmode crash (stack.)
Use genericIO for vss, gear input, water injection.
Make pinusage a local to save ram.
Extension to 16 injectors
Get V3 injectors working again + with staging.
Spark trim extended to 16 channels.
United sensors and sensors2 in one array. Re-arranged outpc.
Per Ken's idea, split up generic_IO into four functions. Smaller code/overhead and easier to understand.
Use generic for EGT and Generic Sensors (weren't checking for clash before.)
Move sections around so XGATE code aligns with 0xXX8200.
Large XGATE coding session to allocate fuel timers "just in time". Allows for V16 fuel.
Keep map_ang in bounds
Fix realtime data offset in ini
V3 LEDs activating when they weren't supposed to
Water inj fixes
(Code tested ok on Cortina)
Gear based boost/open-loop. Added missing code
bitmask for boost_vss
default iacstep_table order corrected
Disable 4 second delay in IAC moves. (isr_rtc.s)
Temporary code for VVT cam_angle (outpc.istatus5) only for Trigger Wheel mode.
Make the idle valve open at least to the last good position when valve close
is interrupted on throttle press by lifting.
Remove EAE with lag compensation option as it is no longer needed
Add PK0/Tacho as spark output (for MSD)
Correct portinit defines.
Add boost bar/psi gauges.
Untested fix for "All" injector test mode.
EGT actions was always on
Honda Acura 24-1-1 wheel decoder
Dual_missing poll level now only triggers single edge of cam (cam interrupt not used for spark control)
vvt_angle in outpc, appears to work
Make baro-correction and mat-correction into 0.1% units
Create table of absolute tooth angles. SPKMODE4 only at present.
Extended to all modes.
DDRT port init
Fixed false staging config errors.
VVT config data and test options. No control function.
Miata 99-00 VVT angle capture
Re-did absolute angle-calc.
On/off VVT + inj angle adjustment
QR25DE VVT angle detection.
Small VVT configuration setting name change.
Add max MAT setting to ALS
-- 1.1 alpha 1--
IAC pins weren't powered on when used for other functions.
-- 1.1 alpha 2--
JS10 was broken as cam input - automatic polarity check used wrong TCTL register
-- 1.1 alpha 3--
Added some more braces to handle_spareports for readability and used local vars for tiny gain.
MS3X non-seq fuel was broken (no pin setting)
3 cyl 2 stroke seq didn't work. Likely 1 + 2 cyl might now be broken.
2 stroke rpms were doubled. Tested 3,4 cyl. 1+2 untested
>8 cyl MS3X non-seq must use Alternating
MS3X non-seq port init.
Removed redundant TC1 and TC3 interrupt code. Will re-use.
Move Rotary spark TC4->TC3 and spark outputTC2/5->TC1. TC4 now free. Either TC2/5 free.
Commonising between Rotary and 2-stroke for fuel and no. triggers setup. Needs lots of testing.
Enable TC4 as second cam input.
Extend outpc for 4 cam angles.
Enable TC2, TC5 as additional cam inputs. Max 3 concurrent.
Add config error checking on cam inputs and RTC.
Acura is 6cyl
Add idleVE VSS feature
No. cam teeth for VVT
Analogue VSS was broken
Rename Miata 99-00 -> 99-04
Oddfire dizzy and fuel-only weren't working correctly.
Change syncfirst time limit to 'fix' 60-2 3000rpm resync
Add flex gauge
Torque Convertor lockup
Merged in traction control code from 2010-04. Code a work in progress.
Add enable/disable input to TC.
TC fuel now %age
Rearrange 2-rotor support: No more RX8 mode, just use COP for that.
Wasted spark + FC/FD gets same old 2-rotor single-output leading behavior.
3 rotor or 4 rotor COP with trailing now supported.
Use "rotary" for stroke to set up rotary engines (added by James).
Make all PID routines call a common PID function in preparation for 4 more
PID routines being added for VVT.
Swap TC6/TC7 (rotary+normal dwell)
Add 4th cam input for VVT.
Forgot to add idle P-term init code for first time through loop after
engagement. Add that back.
---- Snapshot Pre 1.1 alpha 4 ----
Add SW PWM for four VVT outputs.
Add first (untested) cut at VVT PID
Slight revision to VVT PID so that vvt_run bits are not set until
IC ISR has filled in latest angle.
Auto-generate variable definitions from extern defs.
Allow InjI/J on H3+H4
VVT duty on sensors13,14,15,16 for debug
Make VVT PID actually do something.
Fix inj testmode, remove TFLG_ign and comment some debug vars.
-- 1.1 alpha 5--
Renix cam support and 66-2-2-2.
VVT more vars into outpc
Fix VVT PID init.
Fix cranking behavior of PID... angles are stable during crank.
Also use the hold duty if target == commanded to avoid small temporary
differences in target and commanded causing the duty to drop to 0.
Account for direction variables.
Add exhaust versions of direction, PID vars, hold duty.
Add a var for 2 cam that tells whether it's intake+exhaust or 2 intake.
Use all the intake vs exhaust vars.
Fix targets to use the var for intake+exhaust vs 2 intake cams.
Fix an ini error that allowed the 2nd table to be displayed with only 1 cam.
Also rename things to intake and exhaust so they are easier for users to
Only calculate VVT position once we have sync.
Add Nissan RB25 wheel mode (24,20,16,12,8,4 leading equidistant)
Fixup flex fuel for MS3X input and simplify RTC code.
ASE doesn't restart after a momentary sync-loss
VVT cam1 uses 32bit time value.
VVT should work with crank noise-filter now.
Initialise VVT angles to minimum
-- 1.1 alpha 6--
7 cyl engine support (with toothed wheel)
Allow 9 cyl too (untested)
VVT settings. Allow each cam to be intake or exhaust.
VVT dialogue re-arrangement
Poll-level re-checks polarity during crank/run (reports reason 18 if fails)
Various VVT things for V10
Add option for no VVT hold duty.
Make PID disable RPMdot get ignored if using VSS.
Report and do not use out of range VVT angles.
Clean up ini to remove warnings
HW PWM on nitrous 1+2 were at 4x frequency in error.
Add config data checks in boost
Add inj1 + inj2 as HWPWM options
Re-arrange HWPWM frequencies (boost and idle)
Change VVT to use HWPWM outputs only.
Use mariob's idea for making PID idle more responsive.
VVT uses 0-255 scale on PWM output for more precision.
Injector testmode PWM wasn't working.
Inj PWM calcs in own function.
Staged with pri on MS3X, sec on V3 simultaneous was only firing inj1.
vvt_duty now defaults to zero until engine running.
Fix trivial but critical bug with *port_vvt undefined and clobbering MS3X fuel.
Make EGO and boost more responsive using a variant of mariob's ideas.
Dwell overflow was setting wrong timer.
-- 1.1 alpha 7--