rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
fan_control.h
Go to the documentation of this file.
1#pragma once
2
4
5enum class RadiatorFanState : uint8_t {
6 None, // 0
7 Cranking, // 1
8 EngineStopped, // 2
10 BoardStatus, // 4
11 CltBroken, // 5
12 AC, // 6
13 Hot, // 7
14 Cold, // 8
15 Previous, // 9
16 Bench, // 10
17 BoardForcedOn // 11
18};
19
20struct FanController : public EngineModule, public fan_control_s {
21 void onSlowCallback() override;
22 void setDefaultConfiguration() override;
23private:
24 bool getState(bool acActive, bool lastState);
25
26protected:
27 virtual OutputPin& getPin() = 0;
28 virtual float getFanOnTemp() = 0;
29 virtual float getFanOffTemp() = 0;
30 virtual bool enableWithAc() = 0;
31 virtual bool disableWhenStopped() = 0;
32 virtual int disableAtSpeed() = 0;
33};
34
60
RegisteredOutputPin fanRelay
Definition efi_gpio.h:86
RegisteredOutputPin fanRelay2
Definition efi_gpio.h:87
Single output pin reference and state.
Definition efi_output.h:49
EnginePins enginePins
Definition efi_gpio.cpp:24
static constexpr engine_configuration_s * engineConfiguration
RadiatorFanState
Definition fan_control.h:5
OutputPin & getPin()
Definition fan_control.h:36
float getFanOffTemp()
Definition fan_control.h:44
float getFanOnTemp()
Definition fan_control.h:40
bool disableWhenStopped()
Definition fan_control.h:52
int disableAtSpeed()
Definition fan_control.h:56
bool enableWithAc()
Definition fan_control.h:48
float getFanOnTemp()
Definition fan_control.h:66
int disableAtSpeed()
Definition fan_control.h:82
bool enableWithAc()
Definition fan_control.h:74
bool disableWhenStopped()
Definition fan_control.h:78
float getFanOffTemp()
Definition fan_control.h:70
OutputPin & getPin()
Definition fan_control.h:62
virtual OutputPin & getPin()=0
void onSlowCallback() override
virtual bool enableWithAc()=0
virtual bool disableWhenStopped()=0
bool getState(bool acActive, bool lastState)
void setDefaultConfiguration() override
virtual float getFanOffTemp()=0
virtual float getFanOnTemp()=0
virtual int disableAtSpeed()=0