Spaces:
Running
Running
| class LearningManager { | |
| private: | |
| FuelLearningTable fuelTable; | |
| IgnitionLearningTable ignitionTable; | |
| // Параметры обучения | |
| bool isLearningEnabled; | |
| bool isFuelLearningEnabled; | |
| bool isIgnitionLearningEnabled; | |
| unsigned long learningStartTime; | |
| unsigned long minLearningTime; // Минимальное время работы для начала обучения | |
| float minEngineTemp; // Минимальная температура для обучения | |
| float maxEngineTemp; // Максимальная температура для обучения | |
| float minThrottlePosition; // Минимальное положение дросселя для обучения | |
| float maxThrottlePosition; // Максимальное положение дросселя для обучения | |
| // Статистика обучения | |
| uint32_t totalLearningPoints; | |
| uint32_t knockEvents; | |
| uint32_t richMixtureEvents; | |
| uint32_t leanMixtureEvents; | |
| // Проверка условий для обучения | |
| bool checkLearningConditions(float engineTemp, float throttlePosition); | |
| public: | |
| LearningManager(); | |
| // Инициализация и управление | |
| void begin(); | |
| void enable(); | |
| void disable(); | |
| void reset(); | |
| // Основные методы обучения | |
| void update(float load, float rpm, float lambda, float knockLevel, | |
| float engineTemp, float throttlePosition); | |
| // Получение коррекций | |
| float getFuelCorrection(float load, float rpm); | |
| float getIgnitionCorrection(float load, float rpm); | |
| // Настройка параметров | |
| void setLearningParameters(float minTemp, float maxTemp, | |
| float minThrottle, float maxThrottle); | |
| void setLearningRates(float fuelRate, float ignitionRate); | |
| // Сохранение/загрузка | |
| bool save(); | |
| bool load(); | |
| // Статистика и диагностика | |
| uint32_t getTotalLearningPoints() const; | |
| uint32_t getKnockEvents() const; | |
| uint32_t getRichMixtureEvents() const; | |
| uint32_t getLeanMixtureEvents() const; | |
| float getLearningProgress() const; // 0-100% | |
| // Экспорт данных | |
| String exportToJson(); | |
| bool importFromJson(const String& json); | |
| }; | |