2 * Copyright (c) 2018 TOYOTA MOTOR CORPORATION
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef TMCAGLWM_DUMMY_STM_HPP
18 #define TMCAGLWM_DUMMY_STM_HPP
20 // TODO: This file should be existed in STM
27 #define STM_EVT_NO_ACTIVATE 0x01
28 #define STM_EVT_NO_DEACTIVATE 0x02
29 #define STM_EVT_NO_TRANS_GEAR_N 0x03
30 #define STM_EVT_NO_TRANS_GEAR_NOT_N 0x04
31 #define STM_EVT_NO_PARKING_BRAKE_OFF 0x05
32 #define STM_EVT_NO_PARKING_BRAKE_ON 0x06
33 #define STM_EVT_NO_ACCEL_PEDAL_OFF 0x07
34 #define STM_EVT_NO_ACCEL_PEDAL_ON 0x08
35 #define STM_EVT_NO_TIMER_EXPIRED 0x09
36 #define STM_EVT_NO_LAMP_OFF 0x0A
37 #define STM_EVT_NO_LAMP_ON 0x0B
38 #define STM_EVT_NO_LIGHTSTATUS_BRAKE_OFF 0x0C
39 #define STM_EVT_NO_LIGHTSTATUS_BRAKE_ON 0x0D
40 #define STM_EVT_NO_RESTRICTION_MODE_OFF 0x0E
41 #define STM_EVT_NO_RESTRICTION_MODE_ON 0x0F
44 #define STM_CTG_NO_HOMESCREEN 0x0100
45 #define STM_CTG_NO_MAP 0x0200
46 #define STM_CTG_NO_GENERAL 0x0300
47 #define STM_CTG_NO_SPLITABLE 0x0400
48 #define STM_CTG_NO_POPUP 0x0500
49 #define STM_CTG_NO_SYSTEM_ALERT 0x0600
50 #define STM_CTG_NO_RESTRICTION 0x0700
51 #define STM_CTG_NO_SYSTEM 0x0800
54 #define STM_ARA_NO_NONE 0x010000
55 #define STM_ARA_NO_FULL 0x020000
56 #define STM_ARA_NO_NORMAL 0x030000
57 #define STM_ARA_NO_SPLIT_MAIN 0x040000
58 #define STM_ARA_NO_SPLIT_SUB 0x050000
59 #define STM_ARA_NO_POP_UP 0x060000
60 #define STM_ARA_NO_RESTRICTION_NORMAL 0x070000
61 #define STM_ARA_NO_RESTRICTION_SPLIT_MAIN 0x080000
62 #define STM_ARA_NO_RESTRICTION_SPLIT_SUB 0x090000
65 #define STM_MSK_EVT_NO 0x0000FF
66 #define STM_MSK_CTG_NO 0x00FF00
67 #define STM_MSK_ARA_NO 0xFF0000
70 enum stm_trans_gear_state_ {
71 gStmTransGearStateNoN = 0,
72 gStmTransGearStateNoNotN
75 enum stm_parking_brake_state_ {
76 gStmParkingBrakeStateNoOff = 0,
77 gStmParkingBrakeStateNoOn
80 enum stm_accel_pedal_state_ {
81 gStmAccelPedalStateNoOff = 0,
82 gStmAccelPedalStateNoOn
86 gStmRunningNoStop = 0,
90 enum stm_lamp_state_ {
91 gStmLampStateNoOff = 0,
95 enum stm_lightstatus_brake_state_ {
96 gStmLightstatusBrakeStateNoOff = 0,
97 gStmLightstatusBrakeStateNoOn
100 enum stm_restriction_mode_state_ {
101 gStmRestrictionModeStateNoOff = 0,
102 gStmRestrictionModeStateNoOn
106 gStmLayoutNoNone = 0,
117 gStmLayoutNoRstSplMain,
118 gStmLayoutNoRstSplSub,
123 gStmLayoutNoMin = gStmLayoutNoNone,
124 gStmLayoutNoMax = gStmLayoutNoNum - 1,
128 gStmEventNoActive = 0,
130 gStmEventNoTransGearN,
131 gStmEventNoTransGearNotN,
132 gStmEventNoParkingBrakeOff,
133 gStmEventNoParkingBrakeOn,
134 gStmEventNoAccelPedalOff,
135 gStmEventNoAccelPedalOn,
136 gStmEventNoTimerExpired,
139 gStmEventNoLightstatusBrakeOff,
140 gStmEventNoLightstatusBrakeOn,
141 gStmEventNoRestrictionModeOff,
142 gStmEventNoRestrictionModeOn,
146 gStmEventNoMin = gStmEventNoActive,
147 gStmEventNoMax = gStmEventNoNum - 1,
151 gStmCategoryNoHomescreen = 0,
153 gStmCategoryNoGeneral,
154 gStmCategoryNoSplitable,
156 gStmCategoryNoSystemAlert,
157 gStmCategoryNoRestriction,
161 gStmCategoryNoMin = gStmCategoryNoHomescreen,
162 gStmCategoryNoMax = gStmCategoryNoNum - 1,
167 gStmAreaNoFullscreen,
172 gStmAreaNoRestrictionNormal,
173 gStmAreaNoRestrictionSplitMain,
174 gStmAreaNoRestrictionSplitSub,
178 gStmAreaNoMin = gStmAreaNoNone,
179 gStmAreaNoMax = gStmAreaNoNum - 1,
183 gStmLayerNoHomescreen = 0,
185 gStmLayerNoRestriction,
190 gStmLayerNoMin = gStmLayerNoHomescreen,
191 gStmLayerNoMax = gStmLayerNoNum - 1,
194 enum stm_car_element_ {
195 gStmCarElementNoTransGear = 0,
196 gStmCarElementNoParkingBrake,
197 gStmCarElementNoAccelPedal,
198 gStmCarElementNoRunning,
199 gStmCarElementNoLamp,
200 gStmCarElementNoLightstatusBrake,
201 gStmCarElementNoRestrictionMode,
205 gStmCarElementNoMin = gStmCarElementNoTransGear,
206 gStmCarElementNoMax = gStmCarElementNoNum - 1,
210 extern const char* gStmEventName[];
211 extern const int gStmEventNo[];
212 extern const char* gStmCategoryName[];
213 extern const int gStmCategoryNo[];
214 extern const char* gStmAreaName[];
215 extern const int gStmAreaNo[];
216 extern const char* gStmLayoutName[];
217 extern const char* gStmLayerName[];
218 extern const char* gStmCarElementName[];
219 extern const char** gStmCarStateNameList[];
222 typedef struct stm_base_state_ {
228 stm_base_state car_element[gStmCarElementNoNum];
229 stm_base_state layer[gStmLayerNoNum];
233 void stmInitialize();
234 int stmTransitionState(int event_no, stm_state_t* state);
238 #endif // TMCAGLWM_DUMMY_STM_HPP