unit tests progress

This commit is contained in:
rusefi 2019-09-19 22:56:54 -04:00
parent 221ef7d9bb
commit 154092bbf5
5 changed files with 33 additions and 11 deletions

View File

@ -306,18 +306,11 @@ static percent_t automaticIdleController(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
return newValue;
}
class IdleController : public PeriodicTimerController {
public:
Engine *engine = NULL;
engine_configuration_s *engineConfiguration = NULL;
persistent_config_s *config = NULL;
board_configuration_s *boardConfiguration = NULL;
int getPeriodMs() override {
int IdleController::getPeriodMs() {
return GET_PERIOD_LIMITED(&engineConfiguration->idleRpmPid);
}
void PeriodicTask() override {
void IdleController::PeriodicTask() {
/*
* Here we have idle logic thread - actual stepper movement is implemented in a separate
* working thread,
@ -452,9 +445,9 @@ public:
applyIACposition(engine->engineState.idle.currentIdlePosition);
#endif /* EFI_UNIT_TEST */
}
};
static IdleController idleControllerInstance;
IdleController idleControllerInstance;
static void applyPidSettings(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
idlePid.updateFactors(engineConfiguration->idleRpmPid.pFactor, engineConfiguration->idleRpmPid.iFactor, engineConfiguration->idleRpmPid.dFactor);

View File

@ -10,6 +10,18 @@
#define IDLE_THREAD_H_
#include "engine.h"
#include "periodic_task.h"
class IdleController : public PeriodicTimerController {
public:
Engine *engine = NULL;
engine_configuration_s *engineConfiguration = NULL;
persistent_config_s *config = NULL;
board_configuration_s *boardConfiguration = NULL;
int getPeriodMs() override;
void PeriodicTask() override;
};
percent_t getIdlePosition(void);
void setIdleValvePosition(int positionPercent);

View File

@ -108,6 +108,10 @@ TransmissionState::TransmissionState() {
EngineState::EngineState() {
timeSinceLastTChargeK = getTimeNowNt();
#if ! EFI_PROD_CODE
memset(mockPinStates, 0, sizeof(mockPinStates));
#endif /* EFI_PROD_CODE */
}
void EngineState::updateSlowSensors(DECLARE_ENGINE_PARAMETER_SIGNATURE) {

View File

@ -14,6 +14,9 @@
#include "pid.h"
#include "engine_state_generated.h"
#define BRAIN_PIN_COUNT (1 << sizeof(brain_pin_e))
class EngineState : public engine_state2_s {
public:
EngineState();
@ -21,6 +24,10 @@ public:
void updateSlowSensors(DECLARE_ENGINE_PARAMETER_SIGNATURE);
void updateTChargeK(int rpm, float tps DECLARE_ENGINE_PARAMETER_SUFFIX);
#if ! EFI_PROD_CODE
bool mockPinStates[BRAIN_PIN_COUNT];
#endif
FuelConsumptionState fuelConsumption;
/**
@ -102,6 +109,9 @@ public:
#if EFI_ENABLE_MOCK_ADC
MockAdcState mockAdcState;
#endif /* EFI_ENABLE_MOCK_ADC */
};

View File

@ -10,6 +10,9 @@
#include "tps.h"
#include "pid.h"
#include "fsio_impl.h"
#include "idle_thread.h"
extern IdleController idleControllerInstance;
#define Q(x) #x
#define QUOTE(x) Q(x)