rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
controllers
shutdown_controller.h
Go to the documentation of this file.
1
/*
2
* @file shutdown_controller.h
3
*
4
*/
5
6
#pragma once
7
8
#include <rusefi/timer.h>
9
10
enum class
StopRequestedReason
: uint8_t {
11
None
,
// 0
12
StartButton
,
// 1
13
Lua
,
// 2
14
Console
,
// 3
15
TsCommand
,
// 4
16
17
Board1
,
18
Board2
,
19
Board3
,
20
21
};
22
23
void
doScheduleStopEngine
(
StopRequestedReason
reason);
24
25
class
ShutdownController
{
26
public
:
27
void
stopEngine
(
StopRequestedReason
reason);
28
29
bool
isEngineStop
(efitick_t nowNt)
const
{
30
float
timeSinceStopRequested =
m_engineStopTimer
.getElapsedSeconds(nowNt);
31
32
// If there was stop requested in the past 5 seconds, we're in stop mode
33
return
timeSinceStopRequested < 5;
34
}
35
36
private
:
37
Timer
m_engineStopTimer
;
38
};
ShutdownController
Definition
shutdown_controller.h:25
ShutdownController::m_engineStopTimer
Timer m_engineStopTimer
Definition
shutdown_controller.h:37
ShutdownController::isEngineStop
bool isEngineStop(efitick_t nowNt) const
Definition
shutdown_controller.h:29
ShutdownController::stopEngine
void stopEngine(StopRequestedReason reason)
Definition
shutdown_controller.cpp:21
StopRequestedReason
StopRequestedReason
Definition
shutdown_controller.h:10
StopRequestedReason::Lua
@ Lua
StopRequestedReason::None
@ None
StopRequestedReason::StartButton
@ StartButton
StopRequestedReason::Board3
@ Board3
StopRequestedReason::TsCommand
@ TsCommand
StopRequestedReason::Console
@ Console
StopRequestedReason::Board2
@ Board2
StopRequestedReason::Board1
@ Board1
doScheduleStopEngine
void doScheduleStopEngine(StopRequestedReason reason)
Definition
shutdown_controller.cpp:8
Generated on Tue Apr 22 2025 00:08:44 for rusEFI by
1.9.8