only: integration

This commit is contained in:
Andrey 2024-01-07 13:17:47 -05:00
parent 0a301a08d5
commit 98092c306f
1 changed files with 9 additions and 7 deletions

View File

@ -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);