add ignition/injection mode output channel #85

This commit is contained in:
Matthew Kennedy 2023-04-28 00:27:43 -07:00
parent ea965b3a15
commit 9621ff844e
3 changed files with 5 additions and 14 deletions

View File

@ -102,7 +102,8 @@ uint16_t rpmAcceleration;dRPM;"RPM/s",1, 0, 0, 5, 2
int16_t autoscale tpsAccelFuel;@@GAUGE_NAME_FUEL_TPS_EXTRA@@;"ms",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 3
! Ignition
int16_t autoscale ignitionAdvance;@@GAUGE_NAME_TIMING_ADVANCE@@;"deg",{1/@@PACK_MULT_ANGLE@@}, 0, 0, 0, 1
uint16_t unusedDwellWasHere
uint8_t currentIgnitionMode;
uint8_t currentInjectionMode;
uint16_t autoscale coilDutyCycle;@@GAUGE_NAME_DWELL_DUTY@@;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0
! Idle & ETB

View File

@ -4,19 +4,7 @@
* Handles injection scheduling
*/
#include "global.h"
#include <rusefi/arrays.h>
#include <rusefi/isnan.h>
#include "fuel_schedule.h"
#include "event_registry.h"
#include "fuel_schedule.h"
#include "trigger_decoder.h"
#include "engine_math.h"
// dependency injection
#include "engine_state.h"
#include "rpm_calculator_api.h"
// end of injection
#include "pch.h"
#if EFI_ENGINE_CONTROL
@ -137,6 +125,7 @@ bool FuelSchedule::addFuelEventsForCylinder(int i) {
}
injection_mode_e mode = getCurrentInjectionMode();
engine->outputChannels.currentInjectionMode = static_cast<uint8_t>(mode);
// We need two outputs if:
// - we are running batch fuel, and have "use two wire batch" enabled

View File

@ -92,6 +92,7 @@ static void prepareCylinderIgnitionSchedule(angle_t dwellAngleDuration, floatms_
efiAssertVoid(ObdCode::CUSTOM_SPARK_ANGLE_1, !cisnan(sparkAngle), "sparkAngle#1");
auto ignitionMode = getCurrentIgnitionMode();
engine->outputChannels.currentIgnitionMode = static_cast<uint8_t>(ignitionMode);
const int index = getIgnitionPinForIndex(event->cylinderIndex, ignitionMode);
const int coilIndex = ID2INDEX(getCylinderId(index));