GCC Code Coverage Report


Directory: ./
File: firmware/controllers/actuators/electronic_throttle.h
Date: 2025-11-16 14:52:24
Coverage Exec Excl Total
Lines: 0.0% 0 0 1
Functions: 0.0% 0 0 1
Branches: -% 0 0 0
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 /**
2 * @file electronic_throttle.h
3 *
4 * @date Dec 7, 2013
5 * @author Andrey Belomutskiy, (c) 2012-2020
6 */
7
8 #pragma once
9
10 #include "closed_loop_controller.h"
11 #include "rusefi_types.h"
12 #include "engine_configuration.h"
13
14 void initElectronicThrottle();
15 void doInitElectronicThrottle(bool isStartupInit);
16
17 void setEtbIdlePosition(percent_t pos);
18 void setEtbWastegatePosition(percent_t pos);
19 void setEtbLuaAdjustment(percent_t adjustment);
20 void setEwgLuaAdjustment(percent_t pos);
21 void setHitachiEtbCalibration();
22
23 void pickEtbOrStepper();
24
25 void blinkEtbErrorCodes(bool blinkPhase);
26
27 // same plug as 18919 AM810 but have different calibrations
28 void setToyota89281_33010_pedal_position_sensor();
29
30 void setBoschVAGETB();
31
32 void setDefaultEtbBiasCurve();
33 void setDefaultEtbParameters();
34 void setBoschVNH2SP30Curve();
35
36 void onConfigurationChangeElectronicThrottleCallback(engine_configuration_s *previousConfiguration);
37 void unregisterEtbPins();
38 void setProteusHitachiEtbDefaults();
39
40 void etbAutocal(dc_function_e function, bool reportToTs = true);
41 EtbStatus etbGetState(size_t throttleIndex);
42
43 float getSanitizedPedal();
44
45 enum class EtbState : uint8_t {
46 Uninitialized, // 0
47 Autotune, // 1
48 NoMotor, // 2
49 NotEbt, // 3
50 LimpProhibited, // 4
51 Paused, // 5
52 NoOutput, // 6
53 Active, // 7
54 NoPedal, // 8
55 FailFast, // 9
56 InInit, // 10
57 SuccessfulInit, // 11
58 };
59
60 class DcMotor;
61 struct pid_s;
62 class ValueProvider3D;
63 struct pid_state_s;
64
65 class IEtbController : public ClosedLoopController<percent_t, percent_t> {
66 public:
67 // Initialize the throttle.
68 // returns true if the throttle was initialized, false otherwise.
69 virtual bool init(dc_function_e function, DcMotor *motor, pid_s *pidParameters, const ValueProvider3D* pedalMap) = 0;
70 virtual void reset(const char *reason) = 0;
71 virtual void setIdlePosition(percent_t pos) = 0;
72 virtual void setWastegatePosition(percent_t pos) = 0;
73 virtual void update() = 0;
74 virtual void autoCalibrateTps(bool reportToTs = true) { (void)reportToTs; }
75 virtual bool isEtbMode() const = 0;
76
77 virtual const pid_state_s& getPidState() const = 0;
78 virtual float getCurrentTarget() const = 0;
79 virtual void setLuaAdjustment(percent_t adjustment) = 0;
80 };
81