summaryrefslogtreecommitdiffstats
path: root/video_in_hal/systemservice/power_service/server/include/ss_power_state_machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'video_in_hal/systemservice/power_service/server/include/ss_power_state_machine.h')
-rwxr-xr-xvideo_in_hal/systemservice/power_service/server/include/ss_power_state_machine.h414
1 files changed, 0 insertions, 414 deletions
diff --git a/video_in_hal/systemservice/power_service/server/include/ss_power_state_machine.h b/video_in_hal/systemservice/power_service/server/include/ss_power_state_machine.h
deleted file mode 100755
index 086f36c..0000000
--- a/video_in_hal/systemservice/power_service/server/include/ss_power_state_machine.h
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/// \ingroup tag_PowerService
-/// \brief This file supports the power service state machine.
-///
-///////////////////////////////////////////////////////////////////////////////
-#ifndef POWER_SERVICE_SERVER_INCLUDE_SS_POWER_STATE_MACHINE_H_
-#define POWER_SERVICE_SERVER_INCLUDE_SS_POWER_STATE_MACHINE_H_
-
-#include <system_service/ss_power_service.h>
-#include "ss_power_state_hysteresis.h"
-
-class PowerSessionHandler;
-
-class PowerStateMachine {
- class Base_State {
- public:
- virtual void onWakeup(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- }
- virtual void onStartComplete(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- virtual void onLaunchComplete(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onShutdown(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
- virtual void onStopComplete(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- virtual void onShutdownComplete(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onNormalVoltageEncountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onSoftwareUpdate(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onHysteresisAborted(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onHysteresisTimeout(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
- virtual PCSTR name() = 0;
-
- /// State Entry and Exit methods
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
-
- // LCOV_EXCL_START 200: virtual function
- virtual void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 200: virtual function
- };
-
- friend class Base_State;
-
- class Wakeup : public Base_State {
- public:
- void onWakeup(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onShutdown(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onNormalVoltageEncountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onSoftwareUpdate(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- virtual PCSTR name();
-
- // LCOV_EXCL_START 8: fist status, no entry
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- }
- // LCOV_EXCL_STOP 8: fist status, no entry
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- }
- };
-
- friend class Wakeup;
-
- class WakeupActive : public Wakeup {
- public:
- void onShutdown(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- }
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- }
- };
-
- friend class WakeupActive;
-
- class WakeupPending : public Wakeup {
- public:
- void onWakeup(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onStartComplete(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLaunchComplete(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
-
- void onNormalVoltageEncountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- }
- };
-
- friend class WakeupPending;
-
- class Shutdown : public Base_State {
- public:
- void onWakeup(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onShutdown(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession) { // NOLINT (runtime/references)
- }
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onHysteresisAborted(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onHysteresisTimeout(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class Shutdown;
-
- class ShutdownActive : public Base_State {
- public:
- void onShutdown(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class ShutdownActive;
-
- class LowVoltage1 : public Base_State {
- public:
- void onWakeup(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onNormalVoltageEncountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onHysteresisAborted(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onHysteresisTimeout(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class LowVoltage1;
-
- class LowVoltage1Active : public Base_State {
- public:
- void onNormalVoltageEncountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class LowVoltage1Active;
-
- class LowVoltage2 : public Base_State {
- public:
- void onWakeup(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onNormalVoltageEncountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onHysteresisAborted(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onHysteresisTimeout(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class LowVoltage2;
-
- class LowVoltage2Active : public Base_State {
- public:
- void onNormalVoltageEncountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class LowVoltage2Active;
-
- class NormalVoltage : public Base_State {
- public:
- void onShutdown(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onSoftwareUpdate(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class NormalVoltage;
-
- class SoftwareUpdate : public Base_State {
- public:
- void onShutdown(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage1Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onLowVoltage2Encountered(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- PCSTR name();
-
- void onEntry(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void onExit(PowerStateMachine &u, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- };
-
- friend class SoftwareUpdate;
-
- public:
- typedef enum _Power_State_Machine_Events {
- epsmeWAKEUP = epswsPWRON,
- epsmeSHUTDOWN = epscnCANSLEEP,
- epsmeLVI1_ENCOUNTERED = epsvsLVI1,
- epsmeLVI2_ENCOUNTERED = epsvsLVI2,
- epsmeNORMAL_VOLTAGE_ENCOUNTERED = epsvsNORMAL,
- epsmeSTART_COMPLETE = 0xD1,
- epsmeSTOP_COMPLETE = 0xD2,
- epsmeSOFTWARE_UPDATE = 0xE1,
- epsmeSHUTDOWN_HYSTERESIS_ABORTED = 0xF1,
- epsmeLVI1_HYSTERESIS_ABORTED = 0xF2,
- epsmeLVI2_HYSTERESIS_ABORTED = 0xF3,
- epsmeSHUTDOWN_HYSTERESIS_TM_OUT = 0xFA,
- epsmeLVI1_HYSTERESIS_TM_OUT = 0xFB,
- epsmeLVI2_HYSTERESIS_TM_OUT = 0xFC,
- } ePowerStateMachineEvents;
-
- PowerStateMachine();
- virtual ~PowerStateMachine();
- void onEvent(HANDLE h_app, PowerSessionHandler & oSession, // NOLINT (runtime/references)
- ePowerStateMachineEvents evt);
- EFrameworkunifiedStatus initialize(HANDLE h_app, PowerConfigParams & refConfigParms); // NOLINT (runtime/references)
- PCSTR name();
-
- private:
- static Wakeup WakeupState;
- static WakeupActive WakeupActiveState;
- static WakeupPending WakeupPendingState;
- static LowVoltage1 LowVoltage1State;
- static LowVoltage1Active LowVoltage1ActiveState;
- static LowVoltage2 LowVoltage2State;
- static LowVoltage2Active LowVoltage2ActiveState;
- static Shutdown ShutdownState;
- static ShutdownActive ShutdownActiveState;
- static NormalVoltage NormalVoltageState;
- static SoftwareUpdate SoftwareUpdateState;
-
- Base_State *m_pCurrentState;
- Base_State *m_pPreviousState;
- Base_State *m_pOnHysteresisTimeoutState;
- PowerStateHysteresis m_oShutdownHysteresis;
- PowerStateHysteresis m_oLowVoltage1Hysteresis;
- PowerStateHysteresis m_oLowVoltage2Hysteresis;
- RequiredModuleList m_lstWakeupModules;
- RequiredModuleList m_lstShutdownModules;
- RequiredModuleList m_lstLvi2Modules;
- HANDLE m_hHysteresisTimer;
-
- typedef struct _state_info {
- EPWR_POWER_STATE_TYPE wake;
- EPWR_VOLTAGE_STATE_TYPE voltage;
- EPWR_WAKEUP_LEVEL_TYPE level;
- EPWR_WAKEUP_FACTOR_TYPE factor;
- EPWR_CRANK_STATE_TYPE crank;
- } Pwr_StateInfo;
-
- Pwr_StateInfo m_tStateInfo;
-
- PowerStateMachine(PowerStateMachine&);
- PowerStateMachine & operator=(PowerStateMachine &);
-
- /// Helper methods
- void NextState(Base_State & refState, HANDLE h_app, // NOLINT (runtime/references)
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
- void GotoStateOnHysteresisTimeout(Base_State & refState); // NOLINT (runtime/references)
- void startHysteresisTimer(PowerStateHysteresis & hys_info); // NOLINT (runtime/references)
- void reStartHysteresisTimer(PowerStateHysteresis & hys_info); // NOLINT (runtime/references)
- void stopHysteresisTimer(PowerStateHysteresis & hys_info); // NOLINT (runtime/references)
- void publishPowerLVIStatus(HANDLE h_app, PCSTR nNotifNm, UI_32 value);
- void publishPowerLevelType(HANDLE h_app, UI_32 value);
-
- void OnVoltage(Base_State * pState, HANDLE h_app,
- PowerSessionHandler & oSession); // NOLINT (runtime/references)
-};
-
-#endif // POWER_SERVICE_SERVER_INCLUDE_SS_POWER_STATE_MACHINE_H_