only: integration
This commit is contained in:
parent
0a301a08d5
commit
98092c306f
|
@ -20,12 +20,6 @@ public:
|
||||||
|
|
||||||
bool update();
|
bool update();
|
||||||
|
|
||||||
// Update the injection start angle
|
|
||||||
bool updateInjectionAngle();
|
|
||||||
|
|
||||||
// Compute the injection start angle, compensating for injection duration and injection phase settings.
|
|
||||||
expected<float> computeInjectionAngle() const;
|
|
||||||
|
|
||||||
// Call this every decoded trigger tooth. It will schedule any relevant events for this injector.
|
// Call this every decoded trigger tooth. It will schedule any relevant events for this injector.
|
||||||
void onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase, float nextPhase);
|
void onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase, float nextPhase);
|
||||||
|
|
||||||
|
@ -35,6 +29,13 @@ public:
|
||||||
ownIndex = index;
|
ownIndex = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Update the injection start angle
|
||||||
|
bool updateInjectionAngle();
|
||||||
|
|
||||||
|
// Compute the injection start angle, compensating for injection duration and injection phase settings.
|
||||||
|
expected<float> computeInjectionAngle() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a performance optimization for IM_SIMULTANEOUS fuel strategy.
|
* This is a performance optimization for IM_SIMULTANEOUS fuel strategy.
|
||||||
* It's more efficient to handle all injectors together if that's the case
|
* It's more efficient to handle all injectors together if that's the case
|
||||||
|
@ -43,6 +44,7 @@ public:
|
||||||
uint8_t ownIndex = 0;
|
uint8_t ownIndex = 0;
|
||||||
uint8_t cylinderNumber = 0;
|
uint8_t cylinderNumber = 0;
|
||||||
|
|
||||||
|
public:
|
||||||
scheduling_s signalTimerUp;
|
scheduling_s signalTimerUp;
|
||||||
scheduling_s endOfInjectionEvent;
|
scheduling_s endOfInjectionEvent;
|
||||||
|
|
||||||
|
@ -55,13 +57,13 @@ public:
|
||||||
*/
|
*/
|
||||||
bool isScheduled = false;
|
bool isScheduled = false;
|
||||||
|
|
||||||
|
private:
|
||||||
WallFuel wallFuel;
|
WallFuel wallFuel;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// TODO: this should be private
|
// TODO: this should be private
|
||||||
InjectorOutputPin *outputs[MAX_WIRES_COUNT];
|
InjectorOutputPin *outputs[MAX_WIRES_COUNT];
|
||||||
float injectionStartAngle = 0;
|
float injectionStartAngle = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void turnInjectionPinHigh(InjectionEvent *event);
|
void turnInjectionPinHigh(InjectionEvent *event);
|
||||||
|
|
Loading…
Reference in New Issue