This page specifies what needs to be done for the next firmware release.
Next release is named: STABLE_1_1
Tasks left before release:
- New Timing Scheme (Dave & Marcell)
- complete the JAVA prototype
- implement the OnlineCourse/Modeling/Scheduler . This makes it possible to guarantee worstcase 300..400 usec turnaround for the highest priority trigger-process code
- Port model to firmware
- the interrupt becomes rediculously simple. This helps porting to ARM
- the clever stuff moves to userspace. If the next output event is due in less than 400usec (or there is no trigger expected before the output event), we schedule the eventqueue event right away (not wait for next trigger)
- Make it work
- Scheduler (Fredrik)
- Framework needs review Semi-Done
- Port tasks to use it Done
- Move code from interrupt context to prio0
- Move towards 16x16 maps with configurable bins per table
- Implement in firmware
- Adapt megatune / mtx profiles to suit firmware changes
- Remove config.warmup_rpm[] and add back a single rpm multiplier for decreasing warmup enrichment at increasing rpms
- Fix broken configs when updating
Tasks suggested:
- Make seperate v2 release and only support it for bugfixes
- Displaying and logging all inputs
- Second WBO2 Channel
- Compensations
- EGT based fuel enrichment (High power engines need a enrichment for cooling when the engine has been under load for a while)
- Alarms/Status lights
- Alarms when lost or broken sensor signals detected
- Alarm when TPS is outside the configured range (with some mariginal), maybe add a 47k or so pullup so a lost signal can be identified (Currently floating)
- if possible, detect a broken MAP signal: the same method that we use for WBO2 nernst would work everywhere. It involves pulsing the signal through a big (10..100k) resistor from a 5V square pulsing and measuring the divided AC component. At high impedance (no signal connected) the AC component will be high.
- Bits in realtimevars, presenting status for digital inputs and enabled WBO2
Tasks that have to wait until another release (Only put suggested tasks here):
- MAT based ignition retard, 10 temp bins (the same bins we use for CLT) so ignition retard can be specified,that will offset the whole ignition-advance n[] map. The CLT bins temperature values can move from config (EEPROM) to flash, since they are never changed anyway. The MAT-retard can go to the same config positions.
- a VERY simple deceleration fuel cutoff, a single MAP value.below that, no fuel is injected. Actually, the injpw calculation should be changed the j[]==0 means no fuel injected (currently the injopen is still applied in this case !!!). With this change there is no need for a MAP threshold in config to implement this cutoff.