aboutsummaryrefslogtreecommitdiffstats
path: root/policy_manager/stm/stm.h
diff options
context:
space:
mode:
Diffstat (limited to 'policy_manager/stm/stm.h')
-rw-r--r--policy_manager/stm/stm.h106
1 files changed, 91 insertions, 15 deletions
diff --git a/policy_manager/stm/stm.h b/policy_manager/stm/stm.h
index deebf9c..487adb5 100644
--- a/policy_manager/stm/stm.h
+++ b/policy_manager/stm/stm.h
@@ -32,14 +32,32 @@
#define STM_GET_AREA_FROM_ID(id) \
(((id) >> 16) & 0xFF)
+// ECU type
+enum StmEcuType {
+ StmEcuTypeIVI = 0,
+ StmEcuTypeMeter,
+ StmEcuTypeHUD,
+ StmEcuTypeRSE1,
+ StmEcuTypeRSE2
+};
+
// Event number
enum StmEvtNo {
StmEvtNoNone = 0,
StmEvtNoActivate,
StmEvtNoDeactivate,
+ StmEvtNoTransGearN,
+ StmEvtNoTransGearNotN,
+ StmEvtNoParkingBrakeOff,
+ StmEvtNoParkingBrakeOn,
+ StmEvtNoAccelPedalOff,
+ StmEvtNoAccelPedalOn,
+ StmEvtNoLampOff,
+ StmEvtNoLampOn,
+ StmEvtNoLightstatusBrakeOff,
+ StmEvtNoLightstatusBrakeOn,
StmEvtNoRestrictionModeOff,
- StmEvtNoRestrictionMode1On,
- StmEvtNoRestrictionMode2On,
+ StmEvtNoRestrictionModeOn,
StmEvtNoUndo,
StmEvtNoNum,
@@ -55,11 +73,16 @@ enum StmCtgNo {
StmCtgNoMap,
StmCtgNoGeneral,
StmCtgNoSplitable,
+ StmCtgNoSplitableMain,
+ StmCtgNoSplitableSub,
StmCtgNoPopUp,
StmCtgNoSystemAlert,
StmCtgNoRestriction,
StmCtgNoSystem,
StmCtgNoSoftwareKeyboard,
+ StmCtgNoTbt,
+ StmCtgNoMeter,
+ StmCtgNoReceiver,
StmCtgNoDebug,
StmCtgNoNum,
@@ -80,6 +103,8 @@ enum StmAreaNo {
StmAreaNoRestrictionSplitMain,
StmAreaNoRestrictionSplitSub,
StmAreaNoSoftwareKyeboard,
+ StmAreaNoMasterSplitSub,
+ StmAreaNoUpperLeft,
StmAreaNoNum,
@@ -94,6 +119,11 @@ enum StmLayerNo {
StmLayerNoNearHomescreen,
StmLayerNoRestriction,
StmLayerNoOnScreen,
+ StmLayerNoRemote,
+ StmLayerNoRemoteHUD,
+ StmLayerNoRemoteHUDUpperLeft,
+ StmLayerNoRemoteRSE1,
+ StmLayerNoRemoteRSE2,
StmLayerNoNum,
@@ -118,6 +148,17 @@ enum StmLayoutNo {
StmLayoutNoRstSplSub,
StmLayoutNoSysNml,
StmLayoutNoSftKbd,
+ StmLayoutNoTbt,
+ StmLayoutNoRmtTbt,
+ StmLayoutNoRmtRse1,
+ StmLayoutNoRmtRse2,
+ StmLayoutNoRmtHud,
+ StmLayoutNoRmtUpLeft,
+ StmLayoutNoMtrNml,
+ StmLayoutNoMtrRcv,
+ StmLayoutNoMtrSpl,
+ StmLayoutNoSplRcv,
+ StmLayoutNoRcvSpl,
StmLayoutNoDbgNml,
StmLayoutNoDbgSplMain,
StmLayoutNoDbgSplSub,
@@ -129,21 +170,56 @@ enum StmLayoutNo {
StmLayoutNoMax = StmLayoutNoNum - 1,
};
-// Mode kind number
-enum StmModeNo {
- StmModeNoRestrictionMode = 0,
+// Enum for mode state
+enum StmTransGearStt {
+ StmTransGearSttNoN = 0,
+ StmTransGearSttNoNotN
+};
- StmModeNoNum,
+enum StmParkingBrakeStt {
+ StmParkingBrakeSttNoOff = 0,
+ StmParkingBrakeSttNoOn
+};
- StmModeNoMin = StmModeNoRestrictionMode,
- StmModeNoMax = StmModeNoNum - 1,
+enum StmAccelPedalStt {
+ StmAccelPedalSttNoOff = 0,
+ StmAccelPedalSttNoOn
+};
+
+enum StmCarStt {
+ StmRunningNoStop = 0,
+ StmRunningNoRun
+};
+
+enum StmLampStt {
+ StmLampSttNoOff = 0,
+ StmLampSttNoOn
+};
+
+enum StmLightstatusBrakeStt {
+ StmLightstatusBrakeSttNoOff = 0,
+ StmLightstatusBrakeSttNoOn
};
-// Enum for mode state
enum StmRestrictionModeSttNo {
StmRestrictionModeSttNoOff = 0,
- StmRestrictionModeSttNo1On,
- StmRestrictionModeSttNo2On,
+ StmRestrictionModeSttNoOn,
+};
+
+// Mode kind number
+enum StmCarElementNo {
+ StmCarElementNoTransGear = 0,
+ StmCarElementNoParkingBrake,
+ StmCarElementNoAccelPedal,
+ StmCarElementNoRunning,
+ StmCarElementNoLamp,
+ StmCarElementNoLightstatusBrake,
+ StmCarElementNoRestrictionMode,
+
+ StmCarElementNoNum,
+
+ StmCarElementNoMin = StmCarElementNoTransGear,
+ StmCarElementNoMax = StmCarElementNoNum - 1,
};
// String for state
@@ -152,8 +228,8 @@ extern const char* kStmCategoryName[];
extern const char* kStmAreaName[];
extern const char* kStmLayoutName[];
extern const char* kStmLayerName[];
-extern const char* kStmModeName[];
-extern const char** kStmModeStateNameList[];
+extern const char* kStmCarElementName[];
+extern const char** kStmCarElementStateNameList[];
// Struct for state
typedef struct StmBaseState {
@@ -162,12 +238,12 @@ typedef struct StmBaseState {
} StmBaseState;
typedef struct StmState {
- StmBaseState mode[StmModeNoNum];
+ StmBaseState car_element[StmCarElementNoNum];
StmBaseState layer[StmLayerNoNum];
} StmState;
// API
-void stmInitialize();
+void stmInitialize(const char *ecu_name);
int stmTransitionState(int event_no, StmState* state);
void stmUndoState();