rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
trip_odometer.h
Go to the documentation of this file.
1#pragma once
2
3class TripOdometer : public EngineModule {
4public:
5 void onSlowCallback() override;
6 void reset();
7
8 void consumeFuel(float grams, efitick_t nowNt);
9
10 uint32_t getConsumedGrams() const;
11 // in case if integer number of grams moves too slow
14 }
15 float getConsumptionGramPerSecond() const;
16 uint32_t getDistanceMeters() const;
17 uint32_t getIgnitionOnTime() const;
18 uint32_t getEngineRunTime() const;
19
20private:
21 // Fuel consumed
22 uint32_t m_consumedGrams = 0;
24 float m_rate = 0;
25
26 // Distance travelled
27 uint32_t m_distanceMeters = 0;
29
30 // Engine run time and ign on time
32 uint32_t m_ignitionOnSeconds = 0;
34
35 Timer m_timer;
36};
uint32_t getEngineRunTime() const
uint32_t getDistanceMeters() const
uint32_t m_slowCallbackCounter
float getConsumedGramsRemainder() const
uint32_t getIgnitionOnTime() const
float m_distanceRemainder
float m_consumedRemainder
void onSlowCallback() override
uint32_t m_consumedGrams
float getConsumptionGramPerSecond() const
void consumeFuel(float grams, efitick_t nowNt)
uint32_t m_ignitionOnSeconds
uint32_t getConsumedGrams() const
uint32_t m_engineRunningSeconds
uint32_t m_distanceMeters