aboutsummaryrefslogtreecommitdiffstats
path: root/policy_manager
diff options
context:
space:
mode:
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>2018-11-20 15:46:47 +0900
committerzheng_wenlong <wenlong_zheng@nexty-ele.com>2018-11-20 15:46:47 +0900
commitc1d5b18cd9d3318c5dcc2a071a7250f8ab74745c (patch)
tree8997a62935427d006b401d4663a769ed522d0413 /policy_manager
parent9b4dec590ffb9ac99c7ce847b32e9663334d6f57 (diff)
add ces2019 source
Diffstat (limited to 'policy_manager')
-rw-r--r--policy_manager/CMakeLists.txt18
-rw-r--r--policy_manager/config/layouts.json371
-rw-r--r--policy_manager/config/roles.json (renamed from policy_manager/db/roles.db)14
-rw-r--r--policy_manager/config/roles.json.zipc (renamed from policy_manager/db/roles.db.zipc)2
-rw-r--r--policy_manager/config/roles.json.zipc.split151
-rw-r--r--policy_manager/db/roles.db.zipc.split60
-rw-r--r--policy_manager/db/states.db174
-rw-r--r--policy_manager/policy_manager.cpp450
-rw-r--r--policy_manager/policy_manager.hpp45
-rw-r--r--policy_manager/stm/stm.c74
-rw-r--r--policy_manager/stm/stm.h88
-rw-r--r--policy_manager/stm/stub/stm_inner.c34
-rw-r--r--policy_manager/stm/zipc/CMakeLists.txt22
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.c117
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.h41
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.c45
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.h14
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_AppsLayer.c76
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.c8
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.h2
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.c154
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.h45
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.c45
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.h14
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/HomeScreenLayer/ZHSL_HomeScreen.c40
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.c117
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.h41
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.c45
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.h14
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomeScreen_func.c6
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomescreen.c46
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.c8
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.h2
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OslMain.c104
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_RelMain.c619
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.c8
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.h2
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.c77
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.h7
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.c32
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.h3
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_func.c130
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.c16
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.h8
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/ZST_include.h10
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.c1456
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.h111
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_master_apps_def.h15
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_master_remote_def.h15
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.c206
-rw-r--r--policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.h45
-rw-r--r--policy_manager/stm/zipc/stm_master_apps.c63
-rw-r--r--policy_manager/stm/zipc/stm_master_apps.h11
-rw-r--r--policy_manager/stm/zipc/stm_master_remote.c29
-rw-r--r--policy_manager/stm/zipc/stm_master_remote.h4
55 files changed, 4377 insertions, 977 deletions
diff --git a/policy_manager/CMakeLists.txt b/policy_manager/CMakeLists.txt
index 3ec4c39..5903340 100644
--- a/policy_manager/CMakeLists.txt
+++ b/policy_manager/CMakeLists.txt
@@ -19,21 +19,21 @@ pkg_check_modules(AFB REQUIRED afb-daemon)
pkg_check_modules(SD REQUIRED libsystemd>=222)
# Set name of STM
-set(STM_DIR stub)
-#set(STM_DIR zipc)
+#set(STM_DIR stub)
+set(STM_DIR zipc)
-# Select roles.db
+# Select roles.json
if(zipc MATCHES ${STM_DIR})
# if trying to show split layout, change from OFF to ON
- set(TRY_SPLIT_LAYOUT OFF CACHE BOOL "Enable to show split layout")
+ set(TRY_SPLIT_LAYOUT ON CACHE BOOL "Enable to show split layout")
if(${TRY_SPLIT_LAYOUT})
- set(ROLES_DB_NAME roles.db.zipc.split)
+ set(ROLES_CONFIG_FILE_NAME roles.json.zipc.split)
else()
- set(ROLES_DB_NAME roles.db.zipc)
+ set(ROLES_CONFIG_FILE_NAME roles.json.zipc)
endif()
else()
- set(ROLES_DB_NAME roles.db)
+ set(ROLES_CONFIG_FILE_NAME roles.json)
endif()
# Add STM directory
@@ -99,6 +99,6 @@ add_custom_command(TARGET ${TARGETS_PM} POST_BUILD
COMMAND mkdir -p ${PROJECT_BINARY_DIR}/package/root/lib
COMMAND cp -f ${PROJECT_BINARY_DIR}/${PLUGIN_PM}/lib${PLUGIN_PM}.so ${PROJECT_BINARY_DIR}/package/root/lib
COMMAND mkdir -p ${PROJECT_BINARY_DIR}/package/root/etc
- COMMAND cp -f ${PROJECT_SOURCE_DIR}/${PLUGIN_PM}/db/states.db ${PROJECT_BINARY_DIR}/package/root/etc
- COMMAND cp -f ${PROJECT_SOURCE_DIR}/${PLUGIN_PM}/db/${ROLES_DB_NAME} ${PROJECT_BINARY_DIR}/package/root/etc/roles.db
+ COMMAND cp -f ${PROJECT_SOURCE_DIR}/${PLUGIN_PM}/config/layouts.json ${PROJECT_BINARY_DIR}/package/root/etc
+ COMMAND cp -f ${PROJECT_SOURCE_DIR}/${PLUGIN_PM}/config/${ROLES_CONFIG_FILE_NAME} ${PROJECT_BINARY_DIR}/package/root/etc/roles.json
)
diff --git a/policy_manager/config/layouts.json b/policy_manager/config/layouts.json
new file mode 100644
index 0000000..b12bce1
--- /dev/null
+++ b/policy_manager/config/layouts.json
@@ -0,0 +1,371 @@
+{
+ "ecus": [
+ {
+ "name": "master",
+ "layouts": [
+ {
+ "name": "homescreen",
+ "areas": [
+ {
+ "name": "fullscreen",
+ "category": "homescreen"
+ }
+ ]
+ },
+ {
+ "name": "splitable.split",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "splitable_main"
+ },
+ {
+ "name": "split.sub",
+ "category": "splitable_sub"
+ }
+ ]
+ },
+ {
+ "name": "general.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "general"
+ }
+ ]
+ },
+ {
+ "name": "software_keyboard",
+ "areas": [
+ {
+ "name": "software_keyboard",
+ "category": "software_keyboard"
+ }
+ ]
+ },
+ {
+ "name": "pop_up",
+ "areas": [
+ {
+ "name": "on_screen",
+ "category": "pop_up"
+ }
+ ]
+ },
+ {
+ "name": "system_alert",
+ "areas": [
+ {
+ "name": "on_screen",
+ "category": "system_alert"
+ }
+ ]
+ },
+ {
+ "name": "tbt",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "tbt"
+ }
+ ]
+ },
+ {
+ "name": "remote_tbt",
+ "areas": [
+ {
+ "name": "master.split.sub",
+ "category": "tbt"
+ }
+ ]
+ },
+ {
+ "name": "meter.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "meter"
+ }
+ ]
+ },
+ {
+ "name": "meter_receiver",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "meter"
+ },
+ {
+ "name": "split.sub",
+ "category": "receiver"
+ }
+ ]
+ },
+ {
+ "name": "meter_splitable",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "meter"
+ },
+ {
+ "name": "split.sub",
+ "category": "splitable_sub"
+ }
+ ]
+ },
+ {
+ "name": "splitable_receiver",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "splitable_main"
+ },
+ {
+ "name": "split.sub",
+ "category": "receiver"
+ }
+ ]
+ },
+ {
+ "name": "receiver.split",
+ "areas": [
+ {
+ "name": "split.sub",
+ "category": "receiver"
+ }
+ ]
+ },
+ {
+ "name": "debug.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "debug"
+ }
+ ]
+ },
+ {
+ "name": "debug.split.main",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "debug"
+ }
+ ]
+ },
+ {
+ "name": "debug.split.sub",
+ "areas": [
+ {
+ "name": "split.sub",
+ "category": "debug"
+ }
+ ]
+ },
+ {
+ "name": "debug.fullscreen",
+ "areas": [
+ {
+ "name": "fullscreen",
+ "category": "debug"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "slave",
+ "layouts": [
+ {
+ "name": "homescreen",
+ "areas": [
+ {
+ "name": "fullscreen",
+ "category": "homescreen"
+ }
+ ]
+ },
+ {
+ "name": "map.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "map"
+ }
+ ]
+ },
+ {
+ "name": "map.split",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "map"
+ },
+ {
+ "name": "split.sub",
+ "category": "splitable"
+ }
+ ]
+ },
+ {
+ "name": "map.fullscreen",
+ "areas": [
+ {
+ "name": "fullscreen",
+ "category": "map"
+ }
+ ]
+ },
+ {
+ "name": "splitable.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "splitable"
+ }
+ ]
+ },
+ {
+ "name": "splitable.split",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "splitable"
+ },
+ {
+ "name": "split.sub",
+ "category": "splitable"
+ }
+ ]
+ },
+ {
+ "name": "general.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "general"
+ }
+ ]
+ },
+ {
+ "name": "system.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "system"
+ }
+ ]
+ },
+ {
+ "name": "software_keyboard",
+ "areas": [
+ {
+ "name": "software_keyboard",
+ "category": "software_keyboard"
+ }
+ ]
+ },
+ {
+ "name": "restriction.normal",
+ "areas": [
+ {
+ "name": "restriction.normal",
+ "category": "restriction"
+ }
+ ]
+ },
+ {
+ "name": "restriction.split.main",
+ "areas": [
+ {
+ "name": "restriction.split.main",
+ "category": "restriction"
+ }
+ ]
+ },
+ {
+ "name": "restriction.split.sub",
+ "areas": [
+ {
+ "name": "restriction.split.sub",
+ "category": "restriction"
+ }
+ ]
+ },
+ {
+ "name": "pop_up",
+ "areas": [
+ {
+ "name": "on_screen",
+ "category": "pop_up"
+ }
+ ]
+ },
+ {
+ "name": "system_alert",
+ "areas": [
+ {
+ "name": "on_screen",
+ "category": "system_alert"
+ }
+ ]
+ },
+ {
+ "name": "tbt",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "tbt"
+ }
+ ]
+ },
+ {
+ "name": "remote_tbt",
+ "areas": [
+ {
+ "name": "master.split.sub",
+ "category": "tbt"
+ }
+ ]
+ },
+ {
+ "name": "debug.normal",
+ "areas": [
+ {
+ "name": "normal.full",
+ "category": "debug"
+ }
+ ]
+ },
+ {
+ "name": "debug.split.main",
+ "areas": [
+ {
+ "name": "split.main",
+ "category": "debug"
+ }
+ ]
+ },
+ {
+ "name": "debug.split.sub",
+ "areas": [
+ {
+ "name": "split.sub",
+ "category": "debug"
+ }
+ ]
+ },
+ {
+ "name": "debug.fullscreen",
+ "areas": [
+ {
+ "name": "fullscreen",
+ "category": "debug"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/policy_manager/db/roles.db b/policy_manager/config/roles.json
index 184e602..c657fec 100644
--- a/policy_manager/db/roles.db
+++ b/policy_manager/config/roles.json
@@ -8,7 +8,7 @@
},
{
"category": "debug",
- "role": "launcher | navigation | map | poi | browser | sdl | mixer | radio | hvac | debug | phone | video | music | settings | dashboard | fallback",
+ "role": "launcher | map | poi | browser | sdl | mixer | radio | hvac | debug | phone | video | music | settings | dashboard | fallback",
"area": "normal.full | split.main | split.sub | fullscreen",
"layer": "apps",
},
@@ -35,6 +35,18 @@
"role": "system_alert",
"area": "on_screen",
"layer": "on_screen",
+ },
+ {
+ "category": "tbt",
+ "role": "tbt",
+ "area": "normal.full | master.split.sub",
+ "layer": "remote",
+ },
+ {
+ "category": "receiver",
+ "role": "receiver",
+ "area": "normal.full | split.main | split.sub",
+ "layer": "apps",
}
]
}
diff --git a/policy_manager/db/roles.db.zipc b/policy_manager/config/roles.json.zipc
index 13ada24..facb1d8 100644
--- a/policy_manager/db/roles.db.zipc
+++ b/policy_manager/config/roles.json.zipc
@@ -8,7 +8,7 @@
},
{
"category": "map",
- "role": "navigation",
+ "role": "map",
"area": "normal.full | split.main",
"layer": "apps",
},
diff --git a/policy_manager/config/roles.json.zipc.split b/policy_manager/config/roles.json.zipc.split
new file mode 100644
index 0000000..e21e961
--- /dev/null
+++ b/policy_manager/config/roles.json.zipc.split
@@ -0,0 +1,151 @@
+{
+ "ecus": [
+ {
+ "name": "master",
+ "roles":[
+ {
+ "category": "homescreen",
+ "role": "homescreen",
+ "area": "fullscreen",
+ "layer": "homescreen",
+ },
+ {
+ "category": "general",
+ "role": "launcher | browser | debug | settings | hvac | dashboard | fallback",
+ "area": "normal.full",
+ "description": "For split test, video and music are moved to category:splitable",
+ "layer": "apps",
+ },
+ {
+ "category": "splitable_main",
+ "role": "mixer | video | phone",
+ "area": "split.main",
+ "description": "For split test, video and music are included here",
+ "layer": "apps",
+ },
+ {
+ "category": "splitable_sub",
+ "role": "music | radio | poi",
+ "area": "split.sub",
+ "description": "For split test, video and music are included here",
+ "layer": "apps",
+ },
+ {
+ "category": "software_keyboard",
+ "role": "software_keyboard",
+ "area": "software_keyboard",
+ "layer": "near_homescreen",
+ },
+ {
+ "category": "pop_up",
+ "role": "on_screen | on_screen_phone | onscreen",
+ "area": "on_screen",
+ "layer": "on_screen",
+ },
+ {
+ "category": "system_alert",
+ "role": "system_alert",
+ "area": "on_screen",
+ "layer": "on_screen",
+ },
+ {
+ "category": "tbt",
+ "role": "tbtnavi",
+ "area": "master.split.sub",
+ "layer": "remote",
+ },
+ {
+ "category": "meter",
+ "role": "tachometer",
+ "area": "split.main | normal.full",
+ "layer": "apps",
+ },
+ {
+ "category": "receiver",
+ "role": "receiver",
+ "area": "split.sub | normal.full",
+ "layer": "apps",
+ }
+ ]
+ },
+ {
+ "name": "slave",
+ "roles":[
+ {
+ "category": "homescreen",
+ "role": "homescreen",
+ "area": "fullscreen",
+ "layer": "homescreen",
+ },
+ {
+ "category": "map",
+ "role": "navigation",
+ "area": "normal.full | split.main | fullscreen",
+ "layer": "apps",
+ },
+ {
+ "category": "general",
+ "role": "launcher | poi | browser | mixer | radio | hvac | debug | phone | fallback",
+ "area": "normal.full",
+ "description": "For split test, video and music are moved to category:splitable",
+ "layer": "apps",
+ },
+ {
+ "category": "system",
+ "role": "settings | dashboard",
+ "area": "normal.full",
+ "layer": "apps",
+ },
+ {
+ "category": "splitable",
+ "role": "video | music | sdl | webbrowser | eb",
+ "area": "normal.full | split.main | split.sub",
+ "description": "For split test, video and music are included here",
+ "layer": "apps",
+ },
+ {
+ "category": "software_keyboard",
+ "role": "software_keyboard",
+ "area": "software_keyboard",
+ "layer": "near_homescreen",
+ },
+ {
+ "category": "restriction",
+ "role": "restriction",
+ "area": "restriction.normal | restriction.split.main | restriction.split.sub",
+ "layer": "restriction",
+ },
+ {
+ "category": "pop_up",
+ "role": "on_screen | on_screen_phone | onscreen",
+ "area": "on_screen",
+ "layer": "on_screen",
+ },
+ {
+ "category": "system_alert",
+ "role": "system_alert",
+ "area": "on_screen",
+ "layer": "on_screen",
+ },
+ {
+ "category": "tbt",
+ "role": "tbtnavi",
+ "area": "master.split.sub",
+ "layer": "remote",
+ },
+ {
+ "category": "meter",
+ "role": "tachometer",
+ "area": "split.main | normal.full",
+ "layer": "apps",
+ },
+ {
+ "category": "receiver",
+ "role": "receiver",
+ "area": "split.sub | normal.full",
+ "layer": "apps",
+ }
+ ]
+ }
+ ]
+}
diff --git a/policy_manager/db/roles.db.zipc.split b/policy_manager/db/roles.db.zipc.split
deleted file mode 100644
index cef2631..0000000
--- a/policy_manager/db/roles.db.zipc.split
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "roles":[
- {
- "category": "homescreen",
- "role": "homescreen",
- "area": "fullscreen",
- "layer": "homescreen",
- },
- {
- "category": "map",
- "role": "navigation",
- "area": "normal.full | split.main",
- "layer": "apps",
- },
- {
- "category": "general",
- "role": "launcher | poi | browser | sdl | mixer | radio | hvac | debug | phone | fallback",
- "area": "normal.full",
- "description": "For split test, video and music are moved to category:splitable",
- "layer": "apps",
- },
- {
- "category": "system",
- "role": "settings | dashboard",
- "area": "normal.full",
- "layer": "apps",
- },
- {
- "category": "splitable",
- "role": "video | music",
- "area": "normal.full | split.main | split.sub",
- "description": "For split test, video and music are included here",
- "layer": "apps",
- },
- {
- "category": "software_keyboard",
- "role": "software_keyboard",
- "area": "software_keyboard",
- "layer": "near_homescreen",
- },
- {
- "category": "restriction",
- "role": "restriction",
- "area": "restriction.normal | restriction.split.main | restriction.split.sub",
- "layer": "restriction",
- },
- {
- "category": "pop_up",
- "role": "on_screen | on_screen_phone",
- "area": "on_screen",
- "layer": "on_screen",
- },
- {
- "category": "system_alert",
- "role": "system_alert",
- "area": "on_screen",
- "layer": "on_screen",
- }
- ]
-}
diff --git a/policy_manager/db/states.db b/policy_manager/db/states.db
deleted file mode 100644
index 371be3b..0000000
--- a/policy_manager/db/states.db
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "states": [
- {
- "name": "homescreen",
- "areas": [
- {
- "name": "fullscreen",
- "category": "homescreen"
- }
- ]
- },
- {
- "name": "map.normal",
- "areas": [
- {
- "name": "normal.full",
- "category": "map"
- }
- ]
- },
- {
- "name": "map.split",
- "areas": [
- {
- "name": "split.main",
- "category": "map"
- },
- {
- "name": "split.sub",
- "category": "splitable"
- }
- ]
- },
- {
- "name": "map.fullscreen",
- "areas": [
- {
- "name": "fullscreen",
- "category": "map"
- }
- ]
- },
- {
- "name": "splitable.normal",
- "areas": [
- {
- "name": "normal.full",
- "category": "splitable"
- }
- ]
- },
- {
- "name": "splitable.split",
- "areas": [
- {
- "name": "split.main",
- "category": "splitable"
- },
- {
- "name": "split.sub",
- "category": "splitable"
- }
- ]
- },
- {
- "name": "general.normal",
- "areas": [
- {
- "name": "normal.full",
- "category": "general"
- }
- ]
- },
- {
- "name": "system.normal",
- "areas": [
- {
- "name": "normal.full",
- "category": "system"
- }
- ]
- },
- {
- "name": "software_keyboard",
- "areas": [
- {
- "name": "software_keyboard",
- "category": "software_keyboard"
- }
- ]
- },
- {
- "name": "restriction.normal",
- "areas": [
- {
- "name": "restriction.normal",
- "category": "restriction"
- }
- ]
- },
- {
- "name": "restriction.split.main",
- "areas": [
- {
- "name": "restriction.split.main",
- "category": "restriction"
- }
- ]
- },
- {
- "name": "restriction.split.sub",
- "areas": [
- {
- "name": "restriction.split.sub",
- "category": "restriction"
- }
- ]
- },
- {
- "name": "pop_up",
- "areas": [
- {
- "name": "on_screen",
- "category": "pop_up"
- }
- ]
- },
- {
- "name": "system_alert",
- "areas": [
- {
- "name": "on_screen",
- "category": "system_alert"
- }
- ]
- },
- {
- "name": "debug.normal",
- "areas": [
- {
- "name": "normal.full",
- "category": "debug"
- }
- ]
- },
- {
- "name": "debug.split.main",
- "areas": [
- {
- "name": "split.main",
- "category": "debug"
- }
- ]
- },
- {
- "name": "debug.split.sub",
- "areas": [
- {
- "name": "split.sub",
- "category": "debug"
- }
- ]
- },
- {
- "name": "debug.fullscreen",
- "areas": [
- {
- "name": "fullscreen",
- "category": "debug"
- }
- ]
- }
- ]
-}
diff --git a/policy_manager/policy_manager.cpp b/policy_manager/policy_manager.cpp
index 999bc87..05f2ccb 100644
--- a/policy_manager/policy_manager.cpp
+++ b/policy_manager/policy_manager.cpp
@@ -34,6 +34,9 @@ extern "C"
namespace pm
{
+static const char kPathRolesConfigFile[] = "/etc/roles.json";
+static const char kPathLayoutsConfigFile[] = "/etc/layouts.json";
+
static const int kInvisibleRoleHistoryNum = 5;
static PolicyManager *g_context;
@@ -59,12 +62,24 @@ PolicyManager::PolicyManager()
role2category(),
category2role(),
category2areas()
-{}
+{
+ this->p_crr_state = new (StmState);
+ this->p_prv_state = new (StmState);
+}
+
+PolicyManager::~PolicyManager()
+{
+ delete this->p_crr_state;
+ delete this->p_prv_state;
+}
-int PolicyManager::initialize()
+int PolicyManager::initialize(std::string ecu_name)
{
int ret = 0;
+ // Set ECU name
+ this->ecu_name = ecu_name;
+
// Create convert map
for (int i = StmEvtNoMin; i <= StmEvtNoMax; i++)
{
@@ -84,19 +99,19 @@ int PolicyManager::initialize()
this->areaname2no[kStmAreaName[i]] = i;
}
- // Load roles.db
- ret = this->loadRoleDb();
+ // Load roles config
+ ret = this->loadRolesConfigFile();
if (0 > ret)
{
- HMI_ERROR("Load roles.db Error!!");
+ HMI_ERROR("Load roles config file Error!!");
return ret;
}
- // Load states.db
- ret = this->loadStateDb();
+ // Load layouts config
+ ret = this->loadLayoutsConfigFile();
if (0 > ret)
{
- HMI_ERROR("Load states.db Error!!");
+ HMI_ERROR("Load layouts config file Error!!");
return ret;
}
@@ -104,7 +119,7 @@ int PolicyManager::initialize()
this->initializeState();
// Initialize StateTransitioner
- stmInitialize();
+ stmInitialize(ecu_name.c_str());
// Store instance
pm::g_context = this;
@@ -170,7 +185,7 @@ int PolicyManager::setInputEventData(json_object *json_in)
itr = this->role2category.find("fallback");
if (this->role2category.end() != itr)
{
- HMI_DEBUG("Role:%s is not registered in roles.db, fallback as normal app", role);
+ HMI_DEBUG("Role:%s is not registered in roles config file, fallback as normal app", role);
category = this->role2category["fallback"];
}
}
@@ -246,6 +261,7 @@ void PolicyManager::undoState()
this->dumpLayerState(this->crr_layers);
this->crr_layers = this->prv_layers;
+ this->crr_invisible_role_history = this->prv_invisible_role_history;
HMI_DEBUG(">>>>>>>>>> AFTER UNDO");
this->dumpLayerState(this->crr_layers);
@@ -253,9 +269,25 @@ void PolicyManager::undoState()
void PolicyManager::initializeState()
{
+ this->initializeModeState();
this->initializeLayerState();
}
+void PolicyManager::initializeModeState()
+{
+ Mode init_car_ele;
+ init_car_ele.state = "none";
+ init_car_ele.changed = false;
+
+ for (int i = StmCarElementNoMin; i <= StmCarElementNoMax; i++)
+ {
+ const char *car_ele_name = kStmCarElementName[i];
+ this->crr_car_elements[car_ele_name] = init_car_ele;
+ }
+
+ this->prv_car_elements = this->crr_car_elements;
+}
+
void PolicyManager::initializeLayerState()
{
AreaState init_area;
@@ -315,47 +347,108 @@ void PolicyManager::addStateToJson(const char *layer_name, bool changed,
json_object_object_add(*json_out, "areas", json_areas);
}
-void PolicyManager::updateState(int event_id, StmState crr_state)
+void PolicyManager::updateState(int event_id)
{
- this->updateLayer(event_id, crr_state);
+ this->updateModeState();
+ this->updateLayer(event_id);
+}
+
+void PolicyManager::updateModeState()
+{
+ int car_state_no;
+ std::string car_state;
+ bool changed;
+
+ // Store previous layers
+ this->prv_car_elements = this->crr_car_elements;
+
+ // Update car elements
+ HMI_DEBUG(">>> CAR ELEMENTS");
+ for (int car_ele_no = StmCarElementNoMin;
+ car_ele_no <= StmCarElementNoMax; car_ele_no++)
+ {
+ const char *car_ele_name = kStmCarElementName[car_ele_no];
+
+ car_state_no = this->p_crr_state->car_element[car_ele_no].state;
+ car_state = kStmCarElementStateNameList[car_ele_no][car_state_no];
+ changed = (this->p_crr_state->car_element[car_ele_no].changed) ? true : false;
+
+ this->crr_car_elements[car_ele_name].state = car_state;
+ this->crr_car_elements[car_ele_name].changed = changed;
+
+ HMI_DEBUG(">>> >>> NAME: %s", car_ele_name);
+ HMI_DEBUG(">>> >>> >>> STATE:%s", car_state.c_str());
+ HMI_DEBUG(">>> >>> >>> CHANGED:%s", (changed) ? "true" : "false");
+ }
}
-void PolicyManager::updateLayer(int event_id, StmState crr_state)
+void PolicyManager::updateLayer(int event_id)
{
for (int layer_no = StmLayerNoMin;
layer_no <= StmLayerNoMax; layer_no++)
{
HMI_DEBUG(">>> LAYER:%s CHANGED:%d LAYOUT:%s",
- kStmLayerName[layer_no], crr_state.layer[layer_no].changed,
- kStmLayoutName[crr_state.layer[layer_no].state]);
+ kStmLayerName[layer_no], this->p_crr_state->layer[layer_no].changed,
+ kStmLayoutName[this->p_crr_state->layer[layer_no].state]);
}
// Store previous layers
this->prv_layers = this->crr_layers;
+ // Store previous role history
+ this->prv_invisible_role_history = this->crr_invisible_role_history;
+
// Update layers
for (int layer_no = StmLayerNoMin;
layer_no <= StmLayerNoMax; layer_no++)
{
const char *layer_name = kStmLayerName[layer_no];
+ // If restriction mode is changed to mode2 on,
+ // store current state for state of restriction mode off
+ if (this->changedRestrictionModeTo2On() ||
+ this->changedLightstatusBrakeOnToOff())
+ {
+ HMI_DEBUG("Store current state for state of restriction mode off");
+ this->prv_layers_car_stop[layer_name] = this->crr_layers[layer_name];
+ }
+
// This layer is changed?
- int changed = crr_state.layer[layer_no].changed;
+ int changed = this->p_crr_state->layer[layer_no].changed;
if (changed)
{
HMI_DEBUG(">>>>>>>>>> Update layout of layer:%s", layer_name);
// Get current layout name of this layer
- int crr_layout_state_no = crr_state.layer[layer_no].state;
+ int crr_layout_state_no = this->p_crr_state->layer[layer_no].state;
std::string crr_layout_name = std::string(kStmLayoutName[crr_layout_state_no]);
LayoutState crr_layout_state;
- this->updateLayout(event_id, layer_no,
- crr_layout_name, crr_layout_state);
+ changed = this->updateLayout(event_id, layer_no,
+ crr_layout_name, crr_layout_state);
// Update current layout of this layer
this->crr_layers[layer_name].layout_state = crr_layout_state;
}
+ else
+ {
+ int category_no = STM_GET_CATEGORY_FROM_ID(event_id);
+ std::string req_ctg = kStmCategoryName[category_no];
+ std::string req_role = this->req_role_list[event_id];
+ for (const auto &ctg : this->layer2categories[layer_name])
+ {
+ if (ctg == req_ctg)
+ {
+ // If layer is not changed and requested role is in this layer,
+ // push requested role to history stack
+ // because the application which has this role have been started
+ HMI_DEBUG("Add requested role to history "
+ "because the application which has this role have been started");
+ this->pushInvisibleRoleHistory(req_ctg, req_role);
+ }
+ }
+ }
+
// Update changed flag
this->crr_layers[layer_name].changed = (changed) ? true : false;
}
@@ -375,7 +468,7 @@ void PolicyManager::updateLayer(int event_id, StmState crr_state)
int PolicyManager::updateLayout(int event_id, int layer_no,
std::string crr_layout_name, LayoutState &crr_layout_state)
{
- int changed;
+ int changed = 1;
int event_no = STM_GET_EVENT_FROM_ID(event_id);
int category_no = STM_GET_CATEGORY_FROM_ID(event_id);
@@ -392,7 +485,36 @@ int PolicyManager::updateLayout(int event_id, int layer_no,
LayoutState prv_layout_state = this->prv_layers[layer_name].layout_state;
std::string prv_layout_name = prv_layout_state.name;
- if ((prv_layout_name == crr_layout_name) &&
+ if (this->changedRestrictionMode2OnToOther() ||
+ this->changedLightstatusBrakeOffToOn())
+ {
+ // If restriction mode is changed from mode2 -> mode1,
+ // restore state of restriction mode off
+ HMI_DEBUG("Restriction mode is changed from mode2 -> mode1, so restore state of restriction mode off");
+ crr_layout_state = this->prv_layers_car_stop[layer_name].layout_state;
+ crr_layout_name = crr_layout_state.name;
+ if ((prv_layout_name == crr_layout_name) &&
+ (kStmAreaName[StmAreaNoNone] == crr_layout_name))
+ {
+ changed = 0;
+ }
+ else
+ {
+ // If the roles which is exist in previous layout is not in current,
+ // push to role history
+ for (const auto &prv_as : prv_layout_state.area_list)
+ {
+ for (const auto &crr_as : crr_layout_state.area_list)
+ {
+ if (prv_as.role == crr_as.role)
+ break;
+ }
+
+ this->pushInvisibleRoleHistory(prv_as.category, prv_as.role);
+ }
+ }
+ }
+ else if ((prv_layout_name == crr_layout_name) &&
(kStmLayoutName[StmLayoutNoNone] == crr_layout_name))
{
// If previous and current layout are none
@@ -572,10 +694,35 @@ int PolicyManager::updateLayout(int event_id, int layer_no,
return changed;
}
-void PolicyManager::createOutputInformation(StmState crr_state, json_object **json_out)
+void PolicyManager::createOutputInformation(json_object **json_out)
{
json_object *json_tmp;
+ // Create car element information
+ // {
+ // "car_elements": [
+ // {
+ // "parking_brake": {
+ // "changed": <bool>,
+ // "state": <const char*>
+ // },
+ // ...
+ // },
+ json_object *json_car_ele = json_object_new_array();
+ const char *car_ele_name;
+ for (int car_ele_no = StmCarElementNoMin;
+ car_ele_no <= StmCarElementNoMax; car_ele_no++)
+ {
+ car_ele_name = kStmCarElementName[car_ele_no];
+ json_tmp = json_object_new_object();
+ this->addStateToJson(car_ele_name,
+ this->crr_car_elements[car_ele_name].changed,
+ this->crr_car_elements[car_ele_name].state,
+ &json_tmp);
+ json_object_array_add(json_car_ele, json_tmp);
+ }
+ json_object_object_add(*json_out, "car_elements", json_car_ele);
+
// Create layout information
//
// "layers": [
@@ -608,6 +755,38 @@ void PolicyManager::createOutputInformation(StmState crr_state, json_object **js
json_object_object_add(*json_out, "layers", json_layer);
}
+void PolicyManager::controlTimerEvent()
+{
+ if (this->p_crr_state->car_element[StmCarElementNoRunning].changed)
+ {
+ if (StmRunningNoRun == this->p_crr_state->car_element[StmCarElementNoRunning].state)
+ {
+ // Set delay event(restriction mode on)
+ this->setStateTransitionProcessToSystemd(StmEvtNoRestrictionModeOn,
+ 3000, "");
+ }
+ else if (StmRunningNoStop ==
+ this->p_crr_state->car_element[StmCarElementNoRunning].state)
+ {
+ // Stop timer for restriction on event
+ if (this->event_source_list.find(StmEvtNoRestrictionModeOn) !=
+ this->event_source_list.end())
+ {
+ HMI_DEBUG("Stop timer for restriction on");
+ sd_event_source *event_source = this->event_source_list[StmEvtNoRestrictionModeOn];
+ int ret = sd_event_source_set_enabled(event_source, SD_EVENT_OFF);
+ if (0 > ret)
+ {
+ HMI_ERROR("Failed to stop timer");
+ }
+ }
+
+ // Set event(restriction mode off)
+ this->setStateTransitionProcessToSystemd(StmEvtNoRestrictionModeOff, 0, "");
+ }
+ }
+}
+
int PolicyManager::transitionState(sd_event_source *source, void *data)
{
HMI_DEBUG(">>>>>>>>>> START STATE TRANSITION");
@@ -623,9 +802,11 @@ int PolicyManager::transitionState(sd_event_source *source, void *data)
kStmCategoryName[category_no],
kStmAreaName[area_no]);
+ // Store current state
+ *(this->p_prv_state) = *(this->p_crr_state);
+
// Transition state
- StmState crr_state;
- int ret = stmTransitionState(event_id, &crr_state);
+ int ret = stmTransitionState(event_id, this->p_crr_state);
if (0 > ret)
{
HMI_ERROR("Failed transition state");
@@ -647,11 +828,11 @@ int PolicyManager::transitionState(sd_event_source *source, void *data)
}
// Update state which is managed by PolicyManager
- this->updateState(event_id, crr_state);
+ this->updateState(event_id);
// Create output information for ResourceManager
json_object *json_out = json_object_new_object();
- this->createOutputInformation(crr_state, &json_out);
+ this->createOutputInformation(&json_out);
// Notify changed state
if (nullptr != this->callback.onStateTransitioned)
@@ -659,6 +840,9 @@ int PolicyManager::transitionState(sd_event_source *source, void *data)
this->callback.onStateTransitioned(json_out);
}
+ // Start/Stop timer events
+ this->controlTimerEvent();
+
// Release json_object
json_object_put(json_out);
@@ -689,7 +873,7 @@ int PolicyManager::timerEvent(sd_event_source *source, uint64_t usec, void *data
int PolicyManager::setStateTransitionProcessToSystemd(int event_id, uint64_t delay_ms, std::string role)
{
struct sd_event_source *event_source;
- HMI_DEBUG("wm:pm", "event_id:0x%x delay:%d role:%s", event_id, delay_ms, role.c_str());
+ HMI_DEBUG("event_id:0x%x delay:%d role:%s", event_id, delay_ms, role.c_str());
if (0 == delay_ms)
{
@@ -697,7 +881,7 @@ int PolicyManager::setStateTransitionProcessToSystemd(int event_id, uint64_t del
&pm::transitionStateWrapper, new int(event_id));
if (0 > ret)
{
- HMI_ERROR("wm:pm", "Faild to sd_event_add_defer: errno:%d", ret);
+ HMI_ERROR("Faild to sd_event_add_defer: errno:%d", ret);
return -1;
}
}
@@ -716,7 +900,7 @@ int PolicyManager::setStateTransitionProcessToSystemd(int event_id, uint64_t del
&pm::timerEventWrapper, new int(event_id));
if (0 > ret)
{
- HMI_ERROR("wm:pm", "Faild to sd_event_add_time: errno:%d", ret);
+ HMI_ERROR("Faild to sd_event_add_time: errno:%d", ret);
return -1;
}
}
@@ -727,7 +911,59 @@ int PolicyManager::setStateTransitionProcessToSystemd(int event_id, uint64_t del
return 0;
}
-int PolicyManager::loadRoleDb()
+bool PolicyManager::changedRestrictionModeTo2On()
+{
+ // TODO: If possible thie process should be include in zipc stm in the future
+ if (this->p_crr_state->car_element[StmCarElementNoRestrictionMode].changed &&
+ (StmRestrictionModeSttNoOn != this->p_prv_state->car_element[StmCarElementNoRestrictionMode].state) &&
+ (StmRestrictionModeSttNoOn == this->p_crr_state->car_element[StmCarElementNoRestrictionMode].state))
+ {
+ return true;
+ }
+ return false;
+}
+
+bool PolicyManager::changedRestrictionMode2OnToOther()
+{
+ // TODO: If possible thie process should be include in zipc stm in the future
+ if (this->p_crr_state->car_element[StmCarElementNoRestrictionMode].changed &&
+ (StmRestrictionModeSttNoOn == this->p_prv_state->car_element[StmCarElementNoRestrictionMode].state) &&
+ (StmRestrictionModeSttNoOn != this->p_crr_state->car_element[StmCarElementNoRestrictionMode].state))
+ {
+ return true;
+ }
+ return false;
+}
+
+bool PolicyManager::changedLightstatusBrakeOffToOn()
+{
+ // TODO: For master
+ // If possible thie process should be include in zipc stm in the future
+ if (("master" == this->ecu_name) &&
+ this->p_crr_state->car_element[StmCarElementNoLightstatusBrake].changed &&
+ (StmLightstatusBrakeSttNoOff == this->p_prv_state->car_element[StmCarElementNoLightstatusBrake].state) &&
+ (StmLightstatusBrakeSttNoOn == this->p_crr_state->car_element[StmCarElementNoLightstatusBrake].state))
+ {
+ return true;
+ }
+ return false;
+}
+
+bool PolicyManager::changedLightstatusBrakeOnToOff()
+{
+ // TODO: For master
+ // If possible thie process should be include in zipc stm in the future
+ if (("master" == this->ecu_name) &&
+ this->p_crr_state->car_element[StmCarElementNoLightstatusBrake].changed &&
+ (StmLightstatusBrakeSttNoOn == this->p_prv_state->car_element[StmCarElementNoLightstatusBrake].state) &&
+ (StmLightstatusBrakeSttNoOff == this->p_crr_state->car_element[StmCarElementNoLightstatusBrake].state))
+ {
+ return true;
+ }
+ return false;
+}
+
+int PolicyManager::loadRolesConfigFile()
{
std::string file_name;
@@ -741,21 +977,62 @@ int PolicyManager::loadRoleDb()
}
else
{
- file_name = std::string(afm_app_install_dir) + std::string("/etc/roles.db");
+ file_name = std::string(afm_app_install_dir) + std::string(pm::kPathRolesConfigFile);
}
- // Load roles.db
+ // Load roles config file
json_object *json_obj;
int ret = this->inputJsonFilie(file_name.c_str(), &json_obj);
if (0 > ret)
{
- HMI_ERROR("Could not open roles.db, so use default role information");
- json_obj = json_tokener_parse(kDefaultRoleDb);
+ HMI_ERROR("Could not open %s, so use default role information", pm::kPathRolesConfigFile);
+ json_obj = json_tokener_parse(kDefaultRolesConfig);
}
HMI_DEBUG("json_obj dump:%s", json_object_get_string(json_obj));
+ // Parse ecus
+ json_object *json_cfg;
+ if (!json_object_object_get_ex(json_obj, "ecus", &json_cfg))
+ {
+ HMI_ERROR("Parse Error!!");
+ return -1;
+ }
+
+ int num_ecu = json_object_array_length(json_cfg);
+ HMI_DEBUG("json_cfg(ecus) len:%d", num_ecu);
+
+ const char* c_ecu_name;
+ json_object *json_ecu;
+ for (int i = 0; i < num_ecu; i++)
+ {
+ json_ecu= json_object_array_get_idx(json_cfg, i);
+
+ c_ecu_name = this->getStringFromJson(json_ecu, "name");
+ if (nullptr == c_ecu_name)
+ {
+ HMI_ERROR("Parse Error!!");
+ return -1;
+ }
+
+ if (std::string(c_ecu_name) == this->ecu_name)
+ {
+ break;
+ }
+ else
+ {
+ json_ecu = nullptr;
+ }
+ }
+
+ if (!json_ecu)
+ {
+ HMI_ERROR("Areas for ecu:%s is NOT exist!!", this->ecu_name.c_str());
+ return -1;
+ }
+
+ // Parse roles
json_object *json_roles;
- if (!json_object_object_get_ex(json_obj, "roles", &json_roles))
+ if (!json_object_object_get_ex(json_ecu, "roles", &json_roles))
{
HMI_ERROR("Parse Error!!");
return -1;
@@ -825,10 +1102,19 @@ int PolicyManager::loadRoleDb()
HMI_DEBUG("key:%s, val:%s", x.first.c_str(), y.c_str());
}
}
+
+ HMI_DEBUG("Check layer2categories");
+ for (const auto &x : this->layer2categories)
+ {
+ for (const auto &y : x.second)
+ {
+ HMI_DEBUG("key:%s, val:%s", x.first.c_str(), y.c_str());
+ }
+ }
return 0;
}
-int PolicyManager::loadStateDb()
+int PolicyManager::loadLayoutsConfigFile()
{
HMI_DEBUG("Call");
@@ -843,38 +1129,78 @@ int PolicyManager::loadStateDb()
}
else
{
- file_name = std::string(afm_app_install_dir) + std::string("/etc/states.db");
+ file_name = std::string(afm_app_install_dir) + std::string(pm::kPathLayoutsConfigFile);
}
- // Load states.db
+ // Load states config file
json_object *json_obj;
int ret = this->inputJsonFilie(file_name.c_str(), &json_obj);
if (0 > ret)
{
- HMI_DEBUG("Could not open states.db, so use default layout information");
- json_obj = json_tokener_parse(kDefaultStateDb);
+ HMI_DEBUG("Could not open %s, so use default layout information", pm::kPathLayoutsConfigFile);
+ json_obj = json_tokener_parse(kDefaultLayoutsConfig);
}
HMI_DEBUG("json_obj dump:%s", json_object_get_string(json_obj));
- // Perse states
- HMI_DEBUG("Perse states");
+ // Parse ecus
json_object *json_cfg;
- if (!json_object_object_get_ex(json_obj, "states", &json_cfg))
+ if (!json_object_object_get_ex(json_obj, "ecus", &json_cfg))
{
HMI_ERROR("Parse Error!!");
return -1;
}
- int len = json_object_array_length(json_cfg);
- HMI_DEBUG("json_cfg len:%d", len);
- HMI_DEBUG("json_cfg dump:%s", json_object_get_string(json_cfg));
+ int num_ecu = json_object_array_length(json_cfg);
+ HMI_DEBUG("json_cfg(ecus) len:%d", num_ecu);
+
+ const char* c_ecu_name;
+ json_object *json_ecu;
+ for (int i = 0; i < num_ecu; i++)
+ {
+ json_ecu= json_object_array_get_idx(json_cfg, i);
+
+ c_ecu_name = this->getStringFromJson(json_ecu, "name");
+ if (nullptr == c_ecu_name)
+ {
+ HMI_ERROR("Parse Error!!");
+ return -1;
+ }
+
+ if (std::string(c_ecu_name) == this->ecu_name)
+ {
+ break;
+ }
+ else
+ {
+ json_ecu = nullptr;
+ }
+ }
+
+ if (!json_ecu)
+ {
+ HMI_ERROR("Areas for ecu:%s is NOT exist!!", this->ecu_name.c_str());
+ return -1;
+ }
+
+ // Perse layouts
+ HMI_DEBUG("Perse layouts");
+ json_object *json_layouts;
+ if (!json_object_object_get_ex(json_ecu, "layouts", &json_layouts))
+ {
+ HMI_ERROR("Parse Error!!");
+ return -1;
+ }
+
+ int len = json_object_array_length(json_layouts);
+ HMI_DEBUG("json_layouts len:%d", len);
+ HMI_DEBUG("json_layouts dump:%s", json_object_get_string(json_layouts));
const char *layout;
const char *role;
const char *category;
for (int i = 0; i < len; i++)
{
- json_object *json_tmp = json_object_array_get_idx(json_cfg, i);
+ json_object *json_tmp = json_object_array_get_idx(json_layouts, i);
layout = this->getStringFromJson(json_tmp, "name");
if (nullptr == layout)
@@ -979,35 +1305,35 @@ int PolicyManager::loadStateDb()
void PolicyManager::pushInvisibleRoleHistory(std::string category, std::string role)
{
- auto i = std::remove_if(this->invisible_role_history[category].begin(),
- this->invisible_role_history[category].end(),
+ auto i = std::remove_if(this->crr_invisible_role_history[category].begin(),
+ this->crr_invisible_role_history[category].end(),
[role](std::string x) { return (role == x); });
- if (this->invisible_role_history[category].end() != i)
+ if (this->crr_invisible_role_history[category].end() != i)
{
- this->invisible_role_history[category].erase(i);
+ this->crr_invisible_role_history[category].erase(i);
}
- this->invisible_role_history[category].push_back(role);
+ this->crr_invisible_role_history[category].push_back(role);
- if (pm::kInvisibleRoleHistoryNum < invisible_role_history[category].size())
+ if (pm::kInvisibleRoleHistoryNum < crr_invisible_role_history[category].size())
{
- this->invisible_role_history[category].erase(
- this->invisible_role_history[category].begin());
+ this->crr_invisible_role_history[category].erase(
+ this->crr_invisible_role_history[category].begin());
}
}
std::string PolicyManager::popInvisibleRoleHistory(std::string category)
{
std::string role;
- if (invisible_role_history[category].empty())
+ if (crr_invisible_role_history[category].empty())
{
role = "";
}
else
{
- role = this->invisible_role_history[category].back();
- this->invisible_role_history[category].pop_back();
+ role = this->crr_invisible_role_history[category].back();
+ this->crr_invisible_role_history[category].pop_back();
}
return role;
}
@@ -1116,7 +1442,7 @@ void PolicyManager::dumpInvisibleRoleHistory()
std::string category = std::string(kStmCategoryName[ctg_no]);
std::string str = category + " [ ";
- for (const auto &i : this->invisible_role_history[category])
+ for (const auto &i : this->crr_invisible_role_history[category])
str += (i + " > ");
str += "]";
@@ -1152,7 +1478,7 @@ std::string PolicyManager::deleteSpace(std::string str)
return ret;
}
-const char *PolicyManager::kDefaultRoleDb = "{ \
+const char *PolicyManager::kDefaultRolesConfig = "{ \
\"roles\":[ \
{ \
\"category\": \"homescreen\", \
@@ -1197,8 +1523,8 @@ const char *PolicyManager::kDefaultRoleDb = "{ \
] \
}";
-const char *PolicyManager::kDefaultStateDb = "{ \
- \"states\": [ \
+const char *PolicyManager::kDefaultLayoutsConfig = "{ \
+ \"layouts\": [ \
{ \
\"name\": \"homescreen\", \
\"layer\": \"far_homescreen\", \
diff --git a/policy_manager/policy_manager.hpp b/policy_manager/policy_manager.hpp
index 798b706..61fbf06 100644
--- a/policy_manager/policy_manager.hpp
+++ b/policy_manager/policy_manager.hpp
@@ -31,7 +31,7 @@ class PolicyManager
{
public:
explicit PolicyManager();
- ~PolicyManager() = default;
+ ~PolicyManager();
using Handler = std::function<void(json_object *)>;
@@ -41,7 +41,7 @@ class PolicyManager
Handler onError;
} CallbackTable;
- int initialize();
+ int initialize(std::string ecu_name);
void registerCallback(CallbackTable callback_table);
int setInputEventData(json_object *json_in);
int executeStateTransition();
@@ -87,10 +87,19 @@ class PolicyManager
bool changed;
} LayerState;
+ typedef struct Mode
+ {
+ std::string state;
+ bool changed;
+ } Mode;
+
typedef std::vector<std::string> Areas;
typedef std::vector<std::string> Categories;
typedef std::vector<std::string> Roles;
+ StmState *p_crr_state;
+ StmState *p_prv_state;
+
// Convert map
std::unordered_map<std::string, int> eventname2no;
std::unordered_map<std::string, int> categoryname2no;
@@ -107,27 +116,43 @@ class PolicyManager
CallbackTable callback;
+ std::unordered_map<std::string, Mode> prv_car_elements;
+ std::unordered_map<std::string, Mode> crr_car_elements;
+
std::unordered_map<std::string, LayerState> prv_layers;
std::unordered_map<std::string, LayerState> crr_layers;
+ std::unordered_map<std::string, LayerState> prv_layers_car_stop;
+
std::unordered_map<std::string, LayoutState> default_layouts;
- std::map<std::string, Roles> invisible_role_history;
+ std::map<std::string, Roles> crr_invisible_role_history;
+ std::map<std::string, Roles> prv_invisible_role_history;
+
+ std::string ecu_name;
void initializeState();
+ void initializeModeState();
void initializeLayerState();
- void updateState(int event_id, StmState crr_state);
- void updateLayer(int event_id, StmState crr_state);
+ void updateState(int event_id);
+ void updateModeState();
+ void updateLayer(int event_id);
int updateLayout(int event_id, int layer_no,
std::string crr_layout_name, LayoutState &crr_layout_state);
- void createOutputInformation(StmState crr_state, json_object **json_out);
+ void createOutputInformation(json_object **json_out);
+ void controlTimerEvent();
int setStateTransitionProcessToSystemd(int event, uint64_t delay_ms, std::string role);
void pushInvisibleRoleHistory(std::string category, std::string role);
std::string popInvisibleRoleHistory(std::string category);
- int loadRoleDb();
- int loadStateDb();
+ bool changedRestrictionModeTo2On();
+ bool changedRestrictionMode2OnToOther();
+ bool changedLightstatusBrakeOffToOn();
+ bool changedLightstatusBrakeOnToOff();
+
+ int loadRolesConfigFile();
+ int loadLayoutsConfigFile();
void dumpLayerState(std::unordered_map<std::string, LayerState> &layers);
void dumpInvisibleRoleHistory();
@@ -142,8 +167,8 @@ class PolicyManager
std::vector<std::string> parseString(std::string str, char delimiter);
std::string deleteSpace(std::string str);
- static const char *kDefaultRoleDb;
- static const char *kDefaultStateDb;
+ static const char *kDefaultRolesConfig;
+ static const char *kDefaultLayoutsConfig;
};
#endif // TMCAGLWM_POLICY_MANAGER_HPP
diff --git a/policy_manager/stm/stm.c b/policy_manager/stm/stm.c
index c63a599..1c4170d 100644
--- a/policy_manager/stm/stm.c
+++ b/policy_manager/stm/stm.c
@@ -22,9 +22,18 @@ const char* kStmEventName[] = {
"none",
"activate",
"deactivate",
+ "trans_gear_neutral",
+ "trans_gear_not_neutral",
+ "parking_brake_off",
+ "parking_brake_on",
+ "accel_pedal_off",
+ "accel_pedal_on",
+ "lamp_off",
+ "lamp_on",
+ "lightstatus_brake_off",
+ "lightstatus_brake_on",
"restriction_mode_off",
- "restriction_mode_1_on",
- "restriction_mode_2_on",
+ "restriction_mode_on",
"undo",
};
@@ -34,11 +43,16 @@ const char* kStmCategoryName[] = {
"map",
"general",
"splitable",
+ "splitable_main",
+ "splitable_sub",
"pop_up",
"system_alert",
"restriction",
"system",
"software_keyboard",
+ "tbt",
+ "meter",
+ "receiver",
"debug",
};
@@ -53,6 +67,7 @@ const char* kStmAreaName[] = {
"restriction.split.main",
"restriction.split.sub",
"software_keyboard",
+ "master.split.sub",
};
const char* kStmLayoutName[] = {
@@ -71,6 +86,13 @@ const char* kStmLayoutName[] = {
"restriction.split.sub",
"system.normal",
"software_keyboard",
+ "tbt",
+ "remote_tbt",
+ "meter.normal",
+ "meter_receiver",
+ "meter_splitable",
+ "splitable_receiver",
+ "receiver.split",
"debug.normal",
"debug.split.main",
"debug.split.sub",
@@ -83,9 +105,10 @@ const char* kStmLayerName[] = {
"near_homescreen",
"restriction",
"on_screen",
+ "remote",
};
-const char* kStmModeName[] = {
+const char* kStmCarElementName[] = {
"trans_gear",
"parking_brake",
"accel_pedal",
@@ -95,18 +118,53 @@ const char* kStmModeName[] = {
"restriction_mode",
};
+const char* kStmTransGearStateName[] = {
+ "neutral",
+ "not_neutral"
+};
+
+const char* kStmParkingBrakeStateName[] = {
+ "off",
+ "on"
+};
+
+const char* kStmAccelPedalStateName[] = {
+ "off",
+ "on"
+};
+
+const char* kStmRunningSttNo2Name[] = {
+ "stop",
+ "run"
+};
+
+const char* kStmLampStateName[] = {
+ "off",
+ "on"
+};
+
+const char* kStmLightstatusBrakeStateName[] = {
+ "off",
+ "on"
+};
+
const char* kStmRestrictionModeStateName[] = {
"off",
- "1on",
- "2on",
+ "on",
};
-const char** kStmModeStateNameList[] = {
+const char** kStmCarElementStateNameList[] = {
+ kStmTransGearStateName,
+ kStmParkingBrakeStateName,
+ kStmAccelPedalStateName,
+ kStmRunningSttNo2Name,
+ kStmLampStateName,
+ kStmLightstatusBrakeStateName,
kStmRestrictionModeStateName,
};
-void stmInitialize() {
- stmInitializeInner();
+void stmInitialize(const char *ecu_name) {
+ stmInitializeInner(ecu_name);
}
int stmTransitionState(int event, StmState* state) {
diff --git a/policy_manager/stm/stm.h b/policy_manager/stm/stm.h
index deebf9c..685a43b 100644
--- a/policy_manager/stm/stm.h
+++ b/policy_manager/stm/stm.h
@@ -37,9 +37,18 @@ enum StmEvtNo {
StmEvtNoNone = 0,
StmEvtNoActivate,
StmEvtNoDeactivate,
+ StmEvtNoTransGearN,
+ StmEvtNoTransGearNotN,
+ StmEvtNoParkingBrakeOff,
+ StmEvtNoParkingBrakeOn,
+ StmEvtNoAccelPedalOff,
+ StmEvtNoAccelPedalOn,
+ StmEvtNoLampOff,
+ StmEvtNoLampOn,
+ StmEvtNoLightstatusBrakeOff,
+ StmEvtNoLightstatusBrakeOn,
StmEvtNoRestrictionModeOff,
- StmEvtNoRestrictionMode1On,
- StmEvtNoRestrictionMode2On,
+ StmEvtNoRestrictionModeOn,
StmEvtNoUndo,
StmEvtNoNum,
@@ -55,11 +64,16 @@ enum StmCtgNo {
StmCtgNoMap,
StmCtgNoGeneral,
StmCtgNoSplitable,
+ StmCtgNoSplitableMain,
+ StmCtgNoSplitableSub,
StmCtgNoPopUp,
StmCtgNoSystemAlert,
StmCtgNoRestriction,
StmCtgNoSystem,
StmCtgNoSoftwareKeyboard,
+ StmCtgNoTbt,
+ StmCtgNoMeter,
+ StmCtgNoReceiver,
StmCtgNoDebug,
StmCtgNoNum,
@@ -80,6 +94,7 @@ enum StmAreaNo {
StmAreaNoRestrictionSplitMain,
StmAreaNoRestrictionSplitSub,
StmAreaNoSoftwareKyeboard,
+ StmAreaNoMasterSplitSub,
StmAreaNoNum,
@@ -94,6 +109,7 @@ enum StmLayerNo {
StmLayerNoNearHomescreen,
StmLayerNoRestriction,
StmLayerNoOnScreen,
+ StmLayerNoRemote,
StmLayerNoNum,
@@ -118,6 +134,13 @@ enum StmLayoutNo {
StmLayoutNoRstSplSub,
StmLayoutNoSysNml,
StmLayoutNoSftKbd,
+ StmLayoutNoTbt,
+ StmLayoutNoRmtTbt,
+ StmLayoutNoMtrNml,
+ StmLayoutNoMtrRcv,
+ StmLayoutNoMtrSpl,
+ StmLayoutNoSplRcv,
+ StmLayoutNoRcvSpl,
StmLayoutNoDbgNml,
StmLayoutNoDbgSplMain,
StmLayoutNoDbgSplSub,
@@ -129,21 +152,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 +210,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 +220,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();
diff --git a/policy_manager/stm/stub/stm_inner.c b/policy_manager/stm/stub/stm_inner.c
index bd1b319..2ae2cf0 100644
--- a/policy_manager/stm/stub/stm_inner.c
+++ b/policy_manager/stm/stub/stm_inner.c
@@ -95,6 +95,32 @@ int stmTransitionStateInner(int event, StmState* state) {
g_stm_crr_state.layer[StmLayerNoOnScreen].state = StmLayoutNoSysAlt;
g_stm_crr_state.layer[StmLayerNoOnScreen].changed = STM_TRUE;
}
+ else if (StmCtgNoTbt == category_no)
+ {
+ if (StmAreaNoMasterSplitSub == area_no)
+ {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoRcvSpl;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+
+ g_stm_crr_state.layer[StmLayerNoRemote].state = StmLayoutNoRmtTbt;
+ g_stm_crr_state.layer[StmLayerNoRemote].changed = STM_TRUE;
+ }
+ else if (StmAreaNoNormal == area_no)
+ {
+ g_stm_crr_state.layer[StmLayerNoRemote].state = StmLayoutNoTbt;
+ g_stm_crr_state.layer[StmLayerNoRemote].changed = STM_TRUE;
+ }
+ }
+ else if (StmCtgNoReceiver == category_no)
+ {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoRcvSpl;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+ }
+ else if (StmCtgNoMeter == category_no)
+ {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoMtrNml;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+ }
}
else if (StmEvtNoDeactivate == event_no)
{
@@ -138,6 +164,14 @@ int stmTransitionStateInner(int event, StmState* state) {
g_stm_crr_state.layer[StmLayerNoOnScreen].changed = STM_TRUE;
}
}
+ else if (StmCtgNoTbt == category_no)
+ {
+ if (StmLayoutNoRmtTbt == g_stm_prv_state.layer[StmLayerNoRemote].state)
+ {
+ g_stm_crr_state.layer[StmLayerNoRemote].state = StmLayoutNoNone;
+ g_stm_crr_state.layer[StmLayerNoRemote].changed = STM_TRUE;
+ }
+ }
}
// Copy current state for return
diff --git a/policy_manager/stm/zipc/CMakeLists.txt b/policy_manager/stm/zipc/CMakeLists.txt
index de286a7..abbdc41 100644
--- a/policy_manager/stm/zipc/CMakeLists.txt
+++ b/policy_manager/stm/zipc/CMakeLists.txt
@@ -24,6 +24,13 @@ set(ST_DIR_NHS ${ST_DIR}/NearHomeScreen)
set(ST_DIR_OS ${ST_DIR}/OnScreenlayer)
set(ST_DIR_RL ${ST_DIR}/RestrictionLayer)
set(ST_DIR_RM ${ST_DIR}/RestrictionMode)
+set(ST_DIR_AP ${ST_DIR}/AccelPedal)
+set(ST_DIR_CS ${ST_DIR}/CarState)
+set(ST_DIR_LSB ${ST_DIR}/LightStatusBrake)
+
+set(ST_DIR_MST_AL ${ST_DIR}/master/layer/apps)
+set(ST_DIR_MST_RMT ${ST_DIR}/master/layer/remote)
+
add_library(${TARGETS_STM}
STATIC
@@ -41,6 +48,16 @@ add_library(${TARGETS_STM}
${ST_DIR_RL}/ZREL_Restriction_func.c
${ST_DIR_RM}/ZREM_RestrictionMode.c
${ST_DIR_RM}/ZREM_RestrictionMode_func.c
+ ${ST_DIR_AP}/ZACCEL_AccelPedal.c
+ ${ST_DIR_AP}/ZACCEL_AccelPedalState_func.c
+ ${ST_DIR_CS}/ZCAR_CarState.c
+ ${ST_DIR_CS}/ZCAR_CarState_func.c
+ ${ST_DIR_LSB}/ZLIGHT_LightstatusBrake.c
+ ${ST_DIR_LSB}/ZLIGHT_LightstatusBrakeStatus_func.c
+ ./stm_master_apps.c
+ ./stm_master_remote.c
+ ${ST_DIR_MST_AL}/Zmaster_apps_apps_main.c
+ ${ST_DIR_MST_RMT}/Zmaster_remote_remote.c
)
target_include_directories(${TARGETS_STM}
@@ -53,6 +70,11 @@ target_include_directories(${TARGETS_STM}
./${ST_DIR_OS}
./${ST_DIR_RL}
./${ST_DIR_RM}
+ ./${ST_DIR_AP}
+ ./${ST_DIR_CS}
+ ./${ST_DIR_LSB}
+ ./${ST_DIR_MST_AL}
+ ./${ST_DIR_MST_RMT}
./${ST_DIR_CMN}
)
diff --git a/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.c b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.c
new file mode 100644
index 0000000..fa692ee
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.c
@@ -0,0 +1,117 @@
+/************************************************************/
+/* ZACCEL_AccelPedal.c */
+/* AccelPedal State transition model source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../ZST_include.h"
+
+/* State management variable */
+static uint8_t ZACCEL_AccelPedalState[ZACCEL_ACCELPEDALSTATENOMAX];
+
+static void ZACCEL_AccelPedals0e1( void );
+static void ZACCEL_AccelPedals1e0( void );
+static void ZACCEL_AccelPedals0Event( void );
+static void ZACCEL_AccelPedals1Event( void );
+
+/****************************************/
+/* Action function */
+/* STM : AccelPedal */
+/* State : accel_pedal_off( No 0 ) */
+/* Event : evt_accel_pedal_on( No 1 ) */
+/****************************************/
+static void ZACCEL_AccelPedals0e1( void )
+{
+ ZACCEL_AccelPedalState[ZACCEL_ACCELPEDAL] = ( uint8_t )ZACCEL_ACCELPEDALS1;
+ stm_aps_start_activity_accel_pedal_on();
+}
+
+/****************************************/
+/* Action function */
+/* STM : AccelPedal */
+/* State : accel_pedal_on( No 1 ) */
+/* Event : evt_accel_pedal_off( No 0 )*/
+/****************************************/
+static void ZACCEL_AccelPedals1e0( void )
+{
+ ZACCEL_AccelPedalState[ZACCEL_ACCELPEDAL] = ( uint8_t )ZACCEL_ACCELPEDALS0;
+ stm_aps_start_activity_accel_pedal_off();
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : AccelPedal */
+/* State : accel_pedal_off( No 0 ) */
+/****************************************/
+static void ZACCEL_AccelPedals0Event( void )
+{
+ /*evt_accel_pedal_on*/
+ if( g_stm_event == StmEvtNoAccelPedalOn )
+ {
+ ZACCEL_AccelPedals0e1();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : AccelPedal */
+/* State : accel_pedal_on( No 1 ) */
+/****************************************/
+static void ZACCEL_AccelPedals1Event( void )
+{
+ /*evt_accel_pedal_off*/
+ if( g_stm_event == StmEvtNoAccelPedalOff )
+ {
+ ZACCEL_AccelPedals1e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event call function */
+/* STM : AccelPedal */
+/****************************************/
+void stm_aps_event_call( void )
+{
+ stm_aps_start_stm();
+ switch( ZACCEL_AccelPedalState[ZACCEL_ACCELPEDAL] )
+ {
+ case ZACCEL_ACCELPEDALS0:
+ ZACCEL_AccelPedals0Event();
+ break;
+ case ZACCEL_ACCELPEDALS1:
+ ZACCEL_AccelPedals1Event();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+}
+
+/****************************************/
+/* Initial function */
+/* STM : AccelPedal */
+/****************************************/
+void stm_aps_initialize( void )
+{
+ ZACCEL_AccelPedalState[ZACCEL_ACCELPEDAL] = ( uint8_t )ZACCEL_ACCELPEDALS0;
+ stm_aps_start_activity_accel_pedal_off();
+}
+
+/****************************************/
+/* Terminate function */
+/* STM : AccelPedal */
+/****************************************/
+void ZACCEL_AccelPedalTerminate( void )
+{
+ ZACCEL_AccelPedalState[ZACCEL_ACCELPEDAL] = ( uint8_t )ZACCEL_ACCELPEDALTERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.h b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.h
new file mode 100644
index 0000000..40da956
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedal.h
@@ -0,0 +1,41 @@
+/************************************************************/
+/* ZACCEL_AccelPedal.h */
+/* AccelPedal State transition model header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZACCEL_ACCELPEDAL_H
+#define ZHEADER_ZACCEL_ACCELPEDAL_H
+
+/*State management variable access define*/
+#define ZACCEL_ACCELPEDAL ( 0U )
+#define ZACCEL_ACCELPEDALS0 ( 0U )
+#define ZACCEL_ACCELPEDALS1 ( 1U )
+#define ZACCEL_ACCELPEDALSTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZACCEL_ACCELPEDALEND ( 2U )
+/*Terminate state define*/
+#define ZACCEL_ACCELPEDALTERMINATE ( ZACCEL_ACCELPEDALEND + 1U )
+
+/*State no define*/
+#define ZACCEL_ACCELPEDALS0STATENO ( 0U )
+#define ZACCEL_ACCELPEDALS1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZACCEL_ACCELPEDALS0STATESERIALNO ( 0U )
+#define ZACCEL_ACCELPEDALS1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZACCEL_ACCELPEDALE0EVENTNO ( 0U )
+#define ZACCEL_ACCELPEDALE1EVENTNO ( 1U )
+
+/*Event serial no define*/
+#define ZACCEL_ACCELPEDALE0EVENTSERIALNO ( 0U )
+#define ZACCEL_ACCELPEDALE1EVENTSERIALNO ( 1U )
+
+/*Extern function*/
+extern void stm_aps_event_call( void );
+extern void stm_aps_initialize( void );
+extern void ZACCEL_AccelPedalTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.c b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.c
new file mode 100644
index 0000000..1fd9c2a
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.c
@@ -0,0 +1,45 @@
+/************************************************************/
+/* ZACCEL_AccelPedalState_func.c */
+/* Function and variable source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../ZST_include.h"
+
+/*************************************************************
+ Function definition
+*************************************************************/
+
+/*
+ * @name stm_aps_start_activity_accel_pedal_off
+ */
+void stm_aps_start_activity_accel_pedal_off() {
+ g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state = StmAccelPedalSttNoOff;
+ g_stm_crr_state.car_element[StmCarElementNoAccelPedal].changed = STM_TRUE;
+}
+
+/*
+ * @name stm_aps_start_activity_accel_pedal_on
+ */
+void stm_aps_start_activity_accel_pedal_on() {
+ g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state = StmAccelPedalSttNoOn;
+ g_stm_crr_state.car_element[StmCarElementNoAccelPedal].changed = STM_TRUE;
+}
+
+/*
+ * @name stm_aps_initialize_variable
+ */
+void stm_aps_initialize_variable() {
+ g_stm_prv_state.car_element[StmCarElementNoAccelPedal].state = StmAccelPedalSttNoOff;
+ g_stm_prv_state.car_element[StmCarElementNoAccelPedal].changed = STM_FALSE;
+
+ g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state = StmAccelPedalSttNoOff;
+ g_stm_crr_state.car_element[StmCarElementNoAccelPedal].changed = STM_FALSE;
+}
+
+/*
+ * @name stm_aps_start_stm
+ */
+void stm_aps_start_stm() {
+ g_stm_prv_state.car_element[StmCarElementNoAccelPedal].state = g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state;
+ g_stm_crr_state.car_element[StmCarElementNoAccelPedal].changed = STM_FALSE;
+}
diff --git a/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.h b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.h
new file mode 100644
index 0000000..7d36cd0
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/AccelPedal/ZACCEL_AccelPedalState_func.h
@@ -0,0 +1,14 @@
+/************************************************************/
+/* ZACCEL_AccelPedalState_func.h */
+/* Function and variable header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZACCEL_ACCELPEDALSTATE_FUNC_H
+#define ZHEADER_ZACCEL_ACCELPEDALSTATE_FUNC_H
+
+extern void stm_aps_start_activity_accel_pedal_off();
+extern void stm_aps_start_activity_accel_pedal_on();
+extern void stm_aps_initialize_variable();
+extern void stm_aps_start_stm();
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_AppsLayer.c b/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_AppsLayer.c
index b6891e8..3a0865b 100644
--- a/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_AppsLayer.c
+++ b/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_AppsLayer.c
@@ -20,10 +20,10 @@ static void ZAPL_RestrictionModeOffs0e7( void );
static void ZAPL_RestrictionModeOffs0e13( void );
static void ZAPL_RestrictionModeOffs0e15( void );
static void ZAPL_RestrictionModeOffs0e18( void );
-static void ZAPL_RestrictionModeOffs1e0( void );
static void ZAPL_RestrictionModeOffs1e8( void );
+static void ZAPL_RestrictionModeOffs1e14( void );
static void ZAPL_RestrictionModeOffs2e3( void );
-static void ZAPL_RestrictionModeOffs3e2( void );
+static void ZAPL_RestrictionModeOffs3e16( void );
static void ZAPL_RestrictionModeOffs4e3( void );
static void ZAPL_RestrictionModeOffs5e3( void );
static void ZAPL_RestrictionModeOffs6e6( void );
@@ -87,7 +87,7 @@ static void ZAPL_AppsLayers0StateEntry( void )
/****************************************/
/* State start activity function */
/* STM : AppsLayer */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/****************************************/
static void ZAPL_AppsLayers1StateEntry( void )
{
@@ -121,7 +121,7 @@ static void ZAPL_AppsLayers0e1( void )
/****************************************/
/* Action function */
/* STM : AppsLayer */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/* Event : stt_restriction_mode_off( No 0 ) */
/****************************************/
static void ZAPL_AppsLayers1e0( void )
@@ -229,23 +229,23 @@ static void ZAPL_RestrictionModeOffs0e18( void )
/* Action function */
/* STM : RestrictionModeOff */
/* State : map( No 1 ) */
-/* Event : ara_normal( No 0 ) */
+/* Event : ara_fullscreen( No 8 ) */
/****************************************/
-static void ZAPL_RestrictionModeOffs1e0( void )
+static void ZAPL_RestrictionModeOffs1e8( void )
{
- stm_apl_start_activity_map();
+ ZAPL_AppsLayerState[ZAPL_APPSLAYERS0F] = ( uint8_t )ZAPL_RESTRICTIONMODEOFFS0;
+ stm_apl_start_activity_none();
}
/****************************************/
/* Action function */
/* STM : RestrictionModeOff */
/* State : map( No 1 ) */
-/* Event : ara_fullscreen( No 8 ) */
+/* Event : stt_prv_layer_apps_map_nml( No 14 ) */
/****************************************/
-static void ZAPL_RestrictionModeOffs1e8( void )
+static void ZAPL_RestrictionModeOffs1e14( void )
{
- ZAPL_AppsLayerState[ZAPL_APPSLAYERS0F] = ( uint8_t )ZAPL_RESTRICTIONMODEOFFS0;
- stm_apl_start_activity_none();
+ stm_apl_start_activity_map();
}
/****************************************/
@@ -263,9 +263,9 @@ static void ZAPL_RestrictionModeOffs2e3( void )
/* Action function */
/* STM : RestrictionModeOff */
/* State : map_fullscreen( No 3 ) */
-/* Event : ara_fullscreen( No 2 ) */
+/* Event : stt_prv_layer_apps_map_fll( No 16 ) */
/****************************************/
-static void ZAPL_RestrictionModeOffs3e2( void )
+static void ZAPL_RestrictionModeOffs3e16( void )
{
stm_apl_start_activity_map_fullscreen();
}
@@ -367,10 +367,10 @@ static void ZAPL_RestrictionModeOns1e3( void )
/****************************************/
static void ZAPL_AppsLayers0Event( void )
{
- /*stt_restriction_mode_2_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo2On )
+ /*stt_restriction_mode_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
{
- stm_apl_event_restriction_mode_2_on();
+ stm_apl_event_restriction_mode_on();
/*stt_map_is_activated*/
if( g_stm_map_is_activated == STM_TRUE )
{
@@ -406,7 +406,7 @@ static void ZAPL_AppsLayers0Event( void )
static void ZAPL_RestrictionModeOffs0Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -548,7 +548,7 @@ static void ZAPL_RestrictionModeOffs0Event( void )
static void ZAPL_RestrictionModeOffs1Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -556,13 +556,8 @@ static void ZAPL_RestrictionModeOffs1Event( void )
/*ctg_map*/
if( g_stm_category == StmCtgNoMap )
{
- /*ara_normal*/
- if( g_stm_area == StmAreaNoNormal )
- {
- ZAPL_RestrictionModeOffs1e0();
- }
/*ara_fullscreen*/
- else if( g_stm_area == StmAreaNoFullscreen )
+ if( g_stm_area == StmAreaNoFullscreen )
{
ZAPL_RestrictionModeOffs0e2();
}
@@ -664,7 +659,7 @@ static void ZAPL_RestrictionModeOffs1Event( void )
/*stt_prv_layer_apps_map_nml*/
else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapNml )
{
- ZAPL_RestrictionModeOffs1e0();
+ ZAPL_RestrictionModeOffs1e14();
}
/*stt_prv_layer_apps_map_spl*/
else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
@@ -723,7 +718,7 @@ static void ZAPL_RestrictionModeOffs1Event( void )
static void ZAPL_RestrictionModeOffs2Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -898,7 +893,7 @@ static void ZAPL_RestrictionModeOffs2Event( void )
static void ZAPL_RestrictionModeOffs3Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -911,11 +906,6 @@ static void ZAPL_RestrictionModeOffs3Event( void )
{
ZAPL_RestrictionModeOffs0e0();
}
- /*ara_fullscreen*/
- else if( g_stm_area == StmAreaNoFullscreen )
- {
- ZAPL_RestrictionModeOffs3e2();
- }
else
{
/*Else and default design have not done.*/
@@ -1019,7 +1009,7 @@ static void ZAPL_RestrictionModeOffs3Event( void )
/*stt_prv_layer_apps_map_fll*/
else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMapFll )
{
- ZAPL_RestrictionModeOffs3e2();
+ ZAPL_RestrictionModeOffs3e16();
}
/*stt_prv_layer_apps_spl_nml*/
else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
@@ -1068,7 +1058,7 @@ static void ZAPL_RestrictionModeOffs3Event( void )
static void ZAPL_RestrictionModeOffs4Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -1253,7 +1243,7 @@ static void ZAPL_RestrictionModeOffs4Event( void )
static void ZAPL_RestrictionModeOffs5Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -1438,7 +1428,7 @@ static void ZAPL_RestrictionModeOffs5Event( void )
static void ZAPL_RestrictionModeOffs6Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -1608,7 +1598,7 @@ static void ZAPL_RestrictionModeOffs6Event( void )
static void ZAPL_RestrictionModeOffs7Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -1773,12 +1763,12 @@ static void ZAPL_RestrictionModeOffs7Event( void )
/****************************************/
/* Event appraisal function */
/* STM : AppsLayer */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/****************************************/
static void ZAPL_AppsLayers1Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
stm_apl_event_restriction_mode_off();
ZAPL_AppsLayers1e0();
@@ -1797,8 +1787,8 @@ static void ZAPL_AppsLayers1Event( void )
/****************************************/
static void ZAPL_RestrictionModeOns0Event( void )
{
- /*stt_restriction_mode_2_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo2On )
+ /*stt_restriction_mode_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -1862,8 +1852,8 @@ static void ZAPL_RestrictionModeOns0Event( void )
/****************************************/
static void ZAPL_RestrictionModeOns1Event( void )
{
- /*stt_restriction_mode_2_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo2On )
+ /*stt_restriction_mode_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
diff --git a/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.c b/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.c
index b42df05..d2e7075 100644
--- a/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.c
+++ b/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.c
@@ -92,15 +92,15 @@ void stm_apl_start_activity_system() {
* @name stm_apl_event_restriction_mode_off
*/
void stm_apl_event_restriction_mode_off() {
- g_stm_crr_state.layer[StmLayerNoApps].state = g_prv_apps_state_rest_mode_1;
+ g_stm_crr_state.layer[StmLayerNoApps].state = g_prv_apps_state_car_stop;
g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
}
/*
- * @name stm_apl_event_restriction_mode_2_on
+ * @name stm_apl_event_restriction_mode_on
*/
-void stm_apl_event_restriction_mode_2_on() {
- g_prv_apps_state_rest_mode_1 = g_stm_prv_state.layer[StmLayerNoApps].state;
+void stm_apl_event_restriction_mode_on() {
+ g_prv_apps_state_car_stop = g_stm_prv_state.layer[StmLayerNoApps].state;
}
/*
diff --git a/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.h b/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.h
index 6f741b5..4f74c9f 100644
--- a/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.h
+++ b/policy_manager/stm/zipc/StateTransitionor/AppsLayer/ZAPL_Apps_func.h
@@ -15,7 +15,7 @@ extern void stm_apl_start_activity_splitable_split();
extern void stm_apl_start_activity_general();
extern void stm_apl_start_activity_system();
extern void stm_apl_event_restriction_mode_off();
-extern void stm_apl_event_restriction_mode_2_on();
+extern void stm_apl_event_restriction_mode_on();
extern void stm_apl_initialize_variable();
extern void stm_apl_start_stm();
diff --git a/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.c b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.c
new file mode 100644
index 0000000..8e20123
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.c
@@ -0,0 +1,154 @@
+/************************************************************/
+/* ZCAR_CarState.c */
+/* CarState State transition model source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../ZST_include.h"
+
+/* State management variable */
+static uint8_t ZCAR_CarStateState[ZCAR_CARSTATESTATENOMAX];
+
+static void ZCAR_CarStates0e1( void );
+static void ZCAR_CarStates1e0( void );
+static void ZCAR_CarStates0Event( void );
+static void ZCAR_CarStates1Event( void );
+
+/****************************************/
+/* Action function */
+/* STM : CarState */
+/* State : car_stop( No 0 ) */
+/* Event : stt_accel_pedal_on( No 1 ) */
+/****************************************/
+static void ZCAR_CarStates0e1( void )
+{
+ ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES1;
+ stm_rns_start_activity_car_run();
+}
+
+/****************************************/
+/* Action function */
+/* STM : CarState */
+/* State : car_run( No 1 ) */
+/* Event : stt_accel_pedal_off( No 0 )*/
+/****************************************/
+static void ZCAR_CarStates1e0( void )
+{
+ ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES0;
+ stm_rns_start_activity_car_stop();
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : CarState */
+/* State : car_stop( No 0 ) */
+/****************************************/
+static void ZCAR_CarStates0Event( void )
+{
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
+ {
+ /*stt_accel_pedal_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOn )
+ {
+ ZCAR_CarStates0e1();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : CarState */
+/* State : car_run( No 1 ) */
+/****************************************/
+static void ZCAR_CarStates1Event( void )
+{
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
+ {
+ /*stt_accel_pedal_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOff )
+ {
+ ZCAR_CarStates1e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*stt_lightstatus_brake_on*/
+ else if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ /*stt_accel_pedal_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOff )
+ {
+ ZCAR_CarStates1e0();
+ }
+ /*stt_accel_pedal_on*/
+ else if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOn )
+ {
+ ZCAR_CarStates1e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event call function */
+/* STM : CarState */
+/****************************************/
+void stm_rns_event_call( void )
+{
+ stm_rns_start_stm();
+ switch( ZCAR_CarStateState[ZCAR_CARSTATE] )
+ {
+ case ZCAR_CARSTATES0:
+ ZCAR_CarStates0Event();
+ break;
+ case ZCAR_CARSTATES1:
+ ZCAR_CarStates1Event();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+}
+
+/****************************************/
+/* Initial function */
+/* STM : CarState */
+/****************************************/
+void stm_rns_initialize( void )
+{
+ ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES0;
+ stm_rns_start_activity_car_stop();
+}
+
+/****************************************/
+/* Terminate function */
+/* STM : CarState */
+/****************************************/
+void ZCAR_CarStateTerminate( void )
+{
+ ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATETERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.h b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.h
new file mode 100644
index 0000000..18003a7
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.h
@@ -0,0 +1,45 @@
+/************************************************************/
+/* ZCAR_CarState.h */
+/* CarState State transition model header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZCAR_CARSTATE_H
+#define ZHEADER_ZCAR_CARSTATE_H
+
+/*State management variable access define*/
+#define ZCAR_CARSTATE ( 0U )
+#define ZCAR_CARSTATES0 ( 0U )
+#define ZCAR_CARSTATES1 ( 1U )
+#define ZCAR_CARSTATESTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZCAR_CARSTATEEND ( 2U )
+/*Terminate state define*/
+#define ZCAR_CARSTATETERMINATE ( ZCAR_CARSTATEEND + 1U )
+
+/*State no define*/
+#define ZCAR_CARSTATES0STATENO ( 0U )
+#define ZCAR_CARSTATES1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZCAR_CARSTATES0STATESERIALNO ( 0U )
+#define ZCAR_CARSTATES1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZCAR_CARSTATEE0EVENTNO ( 0U )
+#define ZCAR_CARSTATEE1EVENTNO ( 1U )
+#define ZCAR_CARSTATEE2EVENTNO ( 2U )
+#define ZCAR_CARSTATEE3EVENTNO ( 3U )
+
+/*Event serial no define*/
+#define ZCAR_CARSTATEE0EVENTSERIALNO ( 0U )
+#define ZCAR_CARSTATEE1EVENTSERIALNO ( 1U )
+#define ZCAR_CARSTATEE2EVENTSERIALNO ( 2U )
+#define ZCAR_CARSTATEE3EVENTSERIALNO ( 3U )
+
+/*Extern function*/
+extern void stm_rns_event_call( void );
+extern void stm_rns_initialize( void );
+extern void ZCAR_CarStateTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.c b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.c
new file mode 100644
index 0000000..d6cd5d1
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.c
@@ -0,0 +1,45 @@
+/************************************************************/
+/* ZCAR_CarState_func.c */
+/* Function and variable source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../ZST_include.h"
+
+/*************************************************************
+ Function definition
+*************************************************************/
+
+/*
+ * @name stm_rns_start_activity_car_stop
+ */
+void stm_rns_start_activity_car_stop() {
+ g_stm_crr_state.car_element[StmCarElementNoRunning].state = StmRunningNoStop;
+ g_stm_crr_state.car_element[StmCarElementNoRunning].changed = STM_TRUE;
+}
+
+/*
+ * @name stm_rns_start_activity_car_run
+ */
+void stm_rns_start_activity_car_run() {
+ g_stm_crr_state.car_element[StmCarElementNoRunning].state = StmRunningNoRun;
+ g_stm_crr_state.car_element[StmCarElementNoRunning].changed = STM_TRUE;
+}
+
+/*
+ * @name stm_rns_initialize_variable
+ */
+void stm_rns_initialize_variable() {
+ g_stm_prv_state.car_element[StmCarElementNoRunning].state = StmRunningNoStop;
+ g_stm_prv_state.car_element[StmCarElementNoRunning].changed = STM_FALSE;
+
+ g_stm_crr_state.car_element[StmCarElementNoRunning].state = StmRunningNoStop;
+ g_stm_crr_state.car_element[StmCarElementNoRunning].changed = STM_FALSE;
+}
+
+/*
+ * @name stm_rns_start_stm
+ */
+void stm_rns_start_stm() {
+ g_stm_prv_state.car_element[StmCarElementNoRunning].state = g_stm_crr_state.car_element[StmCarElementNoRunning].state;
+ g_stm_crr_state.car_element[StmCarElementNoRunning].changed = STM_FALSE;
+}
diff --git a/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.h b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.h
new file mode 100644
index 0000000..8c1dc93
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState_func.h
@@ -0,0 +1,14 @@
+/************************************************************/
+/* ZCAR_CarState_func.h */
+/* Function and variable header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZCAR_CARSTATE_FUNC_H
+#define ZHEADER_ZCAR_CARSTATE_FUNC_H
+
+extern void stm_rns_start_activity_car_stop();
+extern void stm_rns_start_activity_car_run();
+extern void stm_rns_initialize_variable();
+extern void stm_rns_start_stm();
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/HomeScreenLayer/ZHSL_HomeScreen.c b/policy_manager/stm/zipc/StateTransitionor/HomeScreenLayer/ZHSL_HomeScreen.c
index a4cd474..1375c66 100644
--- a/policy_manager/stm/zipc/StateTransitionor/HomeScreenLayer/ZHSL_HomeScreen.c
+++ b/policy_manager/stm/zipc/StateTransitionor/HomeScreenLayer/ZHSL_HomeScreen.c
@@ -9,7 +9,6 @@
static uint8_t ZHSL_HomeScreenState[ZHSL_HOMESCREENSTATENOMAX];
static void ZHSL_HomeScreens0e0( void );
-static void ZHSL_HomeScreens1e0( void );
static void ZHSL_HomeScreens0Event( void );
static void ZHSL_HomeScreens1Event( void );
@@ -26,17 +25,6 @@ static void ZHSL_HomeScreens0e0( void )
}
/****************************************/
-/* Action function */
-/* STM : HomeScreen */
-/* State : homescreen( No 1 ) */
-/* Event : ara_fullscreen( No 0 ) */
-/****************************************/
-static void ZHSL_HomeScreens1e0( void )
-{
- stm_hsl_start_activity_homescreen();
-}
-
-/****************************************/
/* Event appraisal function */
/* STM : HomeScreen */
/* State : none( No 0 ) */
@@ -80,34 +68,6 @@ static void ZHSL_HomeScreens0Event( void )
/****************************************/
static void ZHSL_HomeScreens1Event( void )
{
- /*evt_activate*/
- if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_homescreen*/
- if( g_stm_category == StmCtgNoHomescreen )
- {
- /*ara_fullscreen*/
- if( g_stm_area == StmAreaNoFullscreen )
- {
- ZHSL_HomeScreens1e0();
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
}
/****************************************/
diff --git a/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.c b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.c
new file mode 100644
index 0000000..8f65d32
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.c
@@ -0,0 +1,117 @@
+/************************************************************/
+/* ZLIGHT_LightstatusBrake.c */
+/* LightstatusBrake State transition model source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../ZST_include.h"
+
+/* State management variable */
+static uint8_t ZLIGHT_LightstatusBrakeState[ZLIGHT_LIGHTSTATUSBRAKESTATENOMAX];
+
+static void ZLIGHT_LightstatusBrakes0e1( void );
+static void ZLIGHT_LightstatusBrakes1e0( void );
+static void ZLIGHT_LightstatusBrakes0Event( void );
+static void ZLIGHT_LightstatusBrakes1Event( void );
+
+/****************************************/
+/* Action function */
+/* STM : LightstatusBrake */
+/* State : lightstatus_brake_on( No 0 ) */
+/* Event : evt_lightstatus_brake_off( No 1 ) */
+/****************************************/
+static void ZLIGHT_LightstatusBrakes0e1( void )
+{
+ ZLIGHT_LightstatusBrakeState[ZLIGHT_LIGHTSTATUSBRAKE] = ( uint8_t )ZLIGHT_LIGHTSTATUSBRAKES1;
+ stm_lbs_start_activity_lightstatus_brake_off();
+}
+
+/****************************************/
+/* Action function */
+/* STM : LightstatusBrake */
+/* State : lightstatus_brake_off( No 1 ) */
+/* Event : evt_lightstatus_brake_on( No 0 ) */
+/****************************************/
+static void ZLIGHT_LightstatusBrakes1e0( void )
+{
+ ZLIGHT_LightstatusBrakeState[ZLIGHT_LIGHTSTATUSBRAKE] = ( uint8_t )ZLIGHT_LIGHTSTATUSBRAKES0;
+ stm_lbs_start_activity_lightstatus_brake_on();
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : LightstatusBrake */
+/* State : lightstatus_brake_on( No 0 ) */
+/****************************************/
+static void ZLIGHT_LightstatusBrakes0Event( void )
+{
+ /*evt_lightstatus_brake_off*/
+ if( g_stm_event == StmEvtNoLightstatusBrakeOff )
+ {
+ ZLIGHT_LightstatusBrakes0e1();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : LightstatusBrake */
+/* State : lightstatus_brake_off( No 1 ) */
+/****************************************/
+static void ZLIGHT_LightstatusBrakes1Event( void )
+{
+ /*evt_lightstatus_brake_on*/
+ if( g_stm_event == StmEvtNoLightstatusBrakeOn )
+ {
+ ZLIGHT_LightstatusBrakes1e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event call function */
+/* STM : LightstatusBrake */
+/****************************************/
+void stm_lbs_event_call( void )
+{
+ stm_lbs_start_stm();
+ switch( ZLIGHT_LightstatusBrakeState[ZLIGHT_LIGHTSTATUSBRAKE] )
+ {
+ case ZLIGHT_LIGHTSTATUSBRAKES0:
+ ZLIGHT_LightstatusBrakes0Event();
+ break;
+ case ZLIGHT_LIGHTSTATUSBRAKES1:
+ ZLIGHT_LightstatusBrakes1Event();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+}
+
+/****************************************/
+/* Initial function */
+/* STM : LightstatusBrake */
+/****************************************/
+void stm_lbs_initialize( void )
+{
+ ZLIGHT_LightstatusBrakeState[ZLIGHT_LIGHTSTATUSBRAKE] = ( uint8_t )ZLIGHT_LIGHTSTATUSBRAKES0;
+ stm_lbs_start_activity_lightstatus_brake_on();
+}
+
+/****************************************/
+/* Terminate function */
+/* STM : LightstatusBrake */
+/****************************************/
+void ZLIGHT_LightstatusBrakeTerminate( void )
+{
+ ZLIGHT_LightstatusBrakeState[ZLIGHT_LIGHTSTATUSBRAKE] = ( uint8_t )ZLIGHT_LIGHTSTATUSBRAKETERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.h b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.h
new file mode 100644
index 0000000..0ced0ec
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrake.h
@@ -0,0 +1,41 @@
+/************************************************************/
+/* ZLIGHT_LightstatusBrake.h */
+/* LightstatusBrake State transition model header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZLIGHT_LIGHTSTATUSBRAKE_H
+#define ZHEADER_ZLIGHT_LIGHTSTATUSBRAKE_H
+
+/*State management variable access define*/
+#define ZLIGHT_LIGHTSTATUSBRAKE ( 0U )
+#define ZLIGHT_LIGHTSTATUSBRAKES0 ( 0U )
+#define ZLIGHT_LIGHTSTATUSBRAKES1 ( 1U )
+#define ZLIGHT_LIGHTSTATUSBRAKESTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZLIGHT_LIGHTSTATUSBRAKEEND ( 2U )
+/*Terminate state define*/
+#define ZLIGHT_LIGHTSTATUSBRAKETERMINATE ( ZLIGHT_LIGHTSTATUSBRAKEEND + 1U )
+
+/*State no define*/
+#define ZLIGHT_LIGHTSTATUSBRAKES0STATENO ( 0U )
+#define ZLIGHT_LIGHTSTATUSBRAKES1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZLIGHT_LIGHTSTATUSBRAKES0STATESERIALNO ( 0U )
+#define ZLIGHT_LIGHTSTATUSBRAKES1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZLIGHT_LIGHTSTATUSBRAKEE0EVENTNO ( 0U )
+#define ZLIGHT_LIGHTSTATUSBRAKEE1EVENTNO ( 1U )
+
+/*Event serial no define*/
+#define ZLIGHT_LIGHTSTATUSBRAKEE0EVENTSERIALNO ( 0U )
+#define ZLIGHT_LIGHTSTATUSBRAKEE1EVENTSERIALNO ( 1U )
+
+/*Extern function*/
+extern void stm_lbs_event_call( void );
+extern void stm_lbs_initialize( void );
+extern void ZLIGHT_LightstatusBrakeTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.c b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.c
new file mode 100644
index 0000000..70c7478
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.c
@@ -0,0 +1,45 @@
+/************************************************************/
+/* ZLIGHT_LightstatusBrakeStatus_func.c */
+/* Function and variable source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../ZST_include.h"
+
+/*************************************************************
+ Function definition
+*************************************************************/
+
+/*
+ * @name stm_lbs_start_activity_lightstatus_brake_off
+ */
+void stm_lbs_start_activity_lightstatus_brake_off() {
+ g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state = StmLightstatusBrakeSttNoOff;
+ g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].changed = STM_TRUE;
+}
+
+/*
+ * @name stm_lbs_start_activity_lightstatus_brake_on
+ */
+void stm_lbs_start_activity_lightstatus_brake_on() {
+ g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state = StmLightstatusBrakeSttNoOn;
+ g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].changed = STM_TRUE;
+}
+
+/*
+ * @name stm_lbs_initialize_variable
+ */
+void stm_lbs_initialize_variable() {
+ g_stm_prv_state.car_element[StmCarElementNoLightstatusBrake].state = StmLightstatusBrakeSttNoOn;
+ g_stm_prv_state.car_element[StmCarElementNoLightstatusBrake].changed = STM_FALSE;
+
+ g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state = StmLightstatusBrakeSttNoOn;
+ g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].changed = STM_FALSE;
+}
+
+/*
+ * @name stm_lbs_start_stm
+ */
+void stm_lbs_start_stm() {
+ g_stm_prv_state.car_element[StmCarElementNoLightstatusBrake].state = g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state;
+ g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].changed = STM_FALSE;
+}
diff --git a/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.h b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.h
new file mode 100644
index 0000000..5ebd5b1
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.h
@@ -0,0 +1,14 @@
+/************************************************************/
+/* ZLIGHT_LightstatusBrakeStatus_func.h */
+/* Function and variable header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZLIGHT_LIGHTSTATUSBRAKESTATUS_FUNC_H
+#define ZHEADER_ZLIGHT_LIGHTSTATUSBRAKESTATUS_FUNC_H
+
+extern void stm_lbs_start_activity_lightstatus_brake_off();
+extern void stm_lbs_start_activity_lightstatus_brake_on();
+extern void stm_lbs_initialize_variable();
+extern void stm_lbs_start_stm();
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomeScreen_func.c b/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomeScreen_func.c
index c8ba22f..dad2484 100644
--- a/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomeScreen_func.c
+++ b/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomeScreen_func.c
@@ -29,15 +29,15 @@ void stm_nhl_start_activity_software_keyboard() {
* @name stm_nhl_event_restriction_mode_off
*/
void stm_nhl_event_restriction_mode_off() {
- g_stm_crr_state.layer[StmLayerNoNearHomescreen].state = g_prv_near_homescreen_state_rest_mode_1;
+ g_stm_crr_state.layer[StmLayerNoNearHomescreen].state = g_prv_near_homescreen_state_car_stop;
g_stm_crr_state.layer[StmLayerNoNearHomescreen].changed = STM_TRUE;
}
/*
- * @name stm_nhl_event_restriction_mode_2_on
+ * @name stm_nhl_event_restriction_mode_on
*/
void stm_nhl_event_restriction_mode_on() {
- g_prv_near_homescreen_state_rest_mode_1 = g_stm_prv_state.layer[StmLayerNoNearHomescreen].state;
+ g_prv_near_homescreen_state_car_stop = g_stm_prv_state.layer[StmLayerNoNearHomescreen].state;
}
/*
diff --git a/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomescreen.c b/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomescreen.c
index cc3bbc7..1c024b8 100644
--- a/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomescreen.c
+++ b/policy_manager/stm/zipc/StateTransitionor/NearHomeScreen/ZNHL_NearHomescreen.c
@@ -10,8 +10,8 @@ static uint8_t ZNHL_NearHomescreenState[ZNHL_NEARHOMESCREENSTATENOMAX];
static void ZNHL_NearHomescreens0e0( void );
static void ZNHL_NearHomescreens0e3( void );
-static void ZNHL_NearHomescreens1e0( void );
static void ZNHL_NearHomescreens1e2( void );
+static void ZNHL_NearHomescreens1e4( void );
static void ZNHL_NearHomescreens0Event( void );
static void ZNHL_NearHomescreens1Event( void );
@@ -42,23 +42,23 @@ static void ZNHL_NearHomescreens0e3( void )
/* Action function */
/* STM : NearHomescreen */
/* State : software_keyboard( No 1 ) */
-/* Event : ara_software_keyboard( No 0 ) */
+/* Event : ctg_software_keyboard( No 2 ) */
/****************************************/
-static void ZNHL_NearHomescreens1e0( void )
+static void ZNHL_NearHomescreens1e2( void )
{
- stm_nhl_start_activity_software_keyboard();
+ ZNHL_NearHomescreenState[ZNHL_NEARHOMESCREEN] = ( uint8_t )ZNHL_NEARHOMESCREENS0;
+ stm_nhl_start_activity_none();
}
/****************************************/
/* Action function */
/* STM : NearHomescreen */
/* State : software_keyboard( No 1 ) */
-/* Event : ctg_software_keyboard( No 2 ) */
+/* Event : stt_prv_layer_near_homescreen_sft_kbd( No 4 ) */
/****************************************/
-static void ZNHL_NearHomescreens1e2( void )
+static void ZNHL_NearHomescreens1e4( void )
{
- ZNHL_NearHomescreenState[ZNHL_NEARHOMESCREEN] = ( uint8_t )ZNHL_NEARHOMESCREENS0;
- stm_nhl_start_activity_none();
+ stm_nhl_start_activity_software_keyboard();
}
/****************************************/
@@ -123,30 +123,8 @@ static void ZNHL_NearHomescreens0Event( void )
/****************************************/
static void ZNHL_NearHomescreens1Event( void )
{
- /*evt_activate*/
- if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_software_keyboard*/
- if( g_stm_category == StmCtgNoSoftwareKeyboard )
- {
- /*ara_software_keyboard*/
- if( g_stm_area == StmAreaNoSoftwareKyeboard )
- {
- ZNHL_NearHomescreens1e0();
- }
- else
- {
- ZNHL_NearHomescreens1e0();
- }
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
/*evt_deactivate*/
- else if( g_stm_event == StmEvtNoDeactivate )
+ if( g_stm_event == StmEvtNoDeactivate )
{
/*ctg_software_keyboard*/
if( g_stm_category == StmCtgNoSoftwareKeyboard )
@@ -170,7 +148,7 @@ static void ZNHL_NearHomescreens1Event( void )
/*stt_prv_layer_near_homescreen_sft_kbd*/
else if( g_stm_prv_state.layer[StmLayerNoNearHomescreen].state == StmLayoutNoSftKbd )
{
- ZNHL_NearHomescreens1e0();
+ ZNHL_NearHomescreens1e4();
}
else
{
@@ -178,8 +156,8 @@ static void ZNHL_NearHomescreens1Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*stt_restriction_mode_1_on*/
- else if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo1On )
+ /*stt_lightstatus_brake_off*/
+ else if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
{
ZNHL_NearHomescreens1e2();
}
diff --git a/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.c b/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.c
index 90a6f6f..c131608 100644
--- a/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.c
+++ b/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.c
@@ -37,15 +37,15 @@ void stm_osl_start_activity_system_alert() {
* @name stm_osl_event_restriction_mode_off
*/
void stm_osl_event_restriction_mode_off() {
- g_stm_crr_state.layer[StmLayerNoOnScreen].state = g_prv_on_screen_state_rest_mode_1;
+ g_stm_crr_state.layer[StmLayerNoOnScreen].state = g_prv_on_screen_state_car_stop;
g_stm_crr_state.layer[StmLayerNoOnScreen].changed = STM_TRUE;
}
/*
- * @name stm_osl_event_restriction_mode_2_on
+ * @name stm_osl_event_restriction_mode_on
*/
-void stm_osl_event_restriction_mode_2_on() {
- g_prv_on_screen_state_rest_mode_1 = g_stm_prv_state.layer[StmLayerNoOnScreen].state;
+void stm_osl_event_restriction_mode_on() {
+ g_prv_on_screen_state_car_stop = g_stm_prv_state.layer[StmLayerNoOnScreen].state;
}
/*
* @name stm_osl_initialize_variable
diff --git a/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.h b/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.h
index e85accb..3edef28 100644
--- a/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.h
+++ b/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OnScreen_func.h
@@ -10,7 +10,7 @@ extern void stm_osl_start_activity_none();
extern void stm_osl_start_activity_pop_up();
extern void stm_osl_start_activity_system_alert();
extern void stm_osl_event_restriction_mode_off();
-extern void stm_osl_event_restriction_mode_2_on();
+extern void stm_osl_event_restriction_mode_on();
extern void stm_osl_initialize_variable();
extern void stm_osl_start_stm();
diff --git a/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OslMain.c b/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OslMain.c
index 53a50e1..6b60219 100644
--- a/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OslMain.c
+++ b/policy_manager/stm/zipc/StateTransitionor/OnScreenlayer/ZOSL_OslMain.c
@@ -18,11 +18,11 @@ static void ZOSL_OslRestOffs0e1( void );
static void ZOSL_OslRestOffs0e4( void );
static void ZOSL_OslRestOffs1e0( void );
static void ZOSL_OslRestOffs1e2( void );
-static void ZOSL_OslRestOffs2e1( void );
+static void ZOSL_OslRestOffs2e6( void );
static void ZOSL_OslRestOns0e0( void );
static void ZOSL_OslRestOns0e2( void );
-static void ZOSL_OslRestOns1e0( void );
static void ZOSL_OslRestOns1e1( void );
+static void ZOSL_OslRestOns1e3( void );
static void ZOSL_OslMains0Event( void );
static void ZOSL_OslRestOffs0Event( void );
static void ZOSL_OslRestOffs1Event( void );
@@ -58,7 +58,7 @@ static void ZOSL_OslMains0StateEntry( void )
/****************************************/
/* State start activity function */
/* STM : OslMain */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/****************************************/
static void ZOSL_OslMains1StateEntry( void )
{
@@ -105,7 +105,7 @@ static void ZOSL_OslMains0e2( void )
/****************************************/
/* Action function */
/* STM : OslMain */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/* Event : stt_restriction_mode_off( No 0 ) */
/****************************************/
static void ZOSL_OslMains1e0( void )
@@ -176,9 +176,9 @@ static void ZOSL_OslRestOffs1e2( void )
/* Action function */
/* STM : OslRestOff */
/* State : system_alert( No 2 ) */
-/* Event : ara_onscreen( No 1 ) */
+/* Event : stt_prv_layer_on_screen_sys_alt( No 6 ) */
/****************************************/
-static void ZOSL_OslRestOffs2e1( void )
+static void ZOSL_OslRestOffs2e6( void )
{
stm_osl_start_activity_system_alert();
}
@@ -210,23 +210,23 @@ static void ZOSL_OslRestOns0e2( void )
/* Action function */
/* STM : OslRestOn */
/* State : system_alert( No 1 ) */
-/* Event : ara_onscreen( No 0 ) */
+/* Event : ctg_systemalert( No 1 ) */
/****************************************/
-static void ZOSL_OslRestOns1e0( void )
+static void ZOSL_OslRestOns1e1( void )
{
- stm_osl_start_activity_system_alert();
+ ZOSL_OslMainState[ZOSL_OSLMAINS1F] = ( uint8_t )ZOSL_OSLRESTONS0;
+ stm_osl_start_activity_none();
}
/****************************************/
/* Action function */
/* STM : OslRestOn */
/* State : system_alert( No 1 ) */
-/* Event : ctg_systemalert( No 1 ) */
+/* Event : stt_prv_layer_on_screen_sys_alt( No 3 ) */
/****************************************/
-static void ZOSL_OslRestOns1e1( void )
+static void ZOSL_OslRestOns1e3( void )
{
- ZOSL_OslMainState[ZOSL_OSLMAINS1F] = ( uint8_t )ZOSL_OSLRESTONS0;
- stm_osl_start_activity_none();
+ stm_osl_start_activity_system_alert();
}
/****************************************/
@@ -236,10 +236,10 @@ static void ZOSL_OslRestOns1e1( void )
/****************************************/
static void ZOSL_OslMains0Event( void )
{
- /*stt_restriction_mode_2_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo2On )
+ /*stt_restriction_mode_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
{
- stm_rel_event_restriction_mode_2_on();
+ stm_rel_event_restriction_mode_on();
/*stt_crr_layer_on_screen_pop*/
if( g_stm_crr_state.layer[StmLayerNoOnScreen].state == StmLayoutNoPopUp )
{
@@ -271,7 +271,7 @@ static void ZOSL_OslMains0Event( void )
static void ZOSL_OslRestOffs0Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -355,7 +355,7 @@ static void ZOSL_OslRestOffs0Event( void )
static void ZOSL_OslRestOffs1Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -453,33 +453,10 @@ static void ZOSL_OslRestOffs1Event( void )
static void ZOSL_OslRestOffs2Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
- /*evt_activate*/
- if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_systemalert*/
- if( g_stm_category == StmCtgNoSystemAlert )
- {
- /*ara_onscreen*/
- if( g_stm_area == StmAreaNoOnScreen )
- {
- ZOSL_OslRestOffs2e1();
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
/*evt_deactivate*/
- else if( g_stm_event == StmEvtNoDeactivate )
+ if( g_stm_event == StmEvtNoDeactivate )
{
/*ctg_systemalert*/
if( g_stm_category == StmCtgNoSystemAlert )
@@ -508,7 +485,7 @@ static void ZOSL_OslRestOffs2Event( void )
/*stt_prv_layer_on_screen_sys_alt*/
else if( g_stm_prv_state.layer[StmLayerNoOnScreen].state == StmLayoutNoSysAlt )
{
- ZOSL_OslRestOffs2e1();
+ ZOSL_OslRestOffs2e6();
}
else
{
@@ -532,12 +509,12 @@ static void ZOSL_OslRestOffs2Event( void )
/****************************************/
/* Event appraisal function */
/* STM : OslMain */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/****************************************/
static void ZOSL_OslMains1Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
stm_rel_event_restriction_mode_off();
ZOSL_OslMains1e0();
@@ -556,8 +533,8 @@ static void ZOSL_OslMains1Event( void )
/****************************************/
static void ZOSL_OslRestOns0Event( void )
{
- /*stt_restriction_mode_2_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo2On )
+ /*stt_restriction_mode_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
{
/*evt_activate*/
if( g_stm_event == StmEvtNoActivate )
@@ -621,34 +598,11 @@ static void ZOSL_OslRestOns0Event( void )
/****************************************/
static void ZOSL_OslRestOns1Event( void )
{
- /*stt_restriction_mode_2_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo2On )
+ /*stt_restriction_mode_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
{
- /*evt_activate*/
- if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_systemalert*/
- if( g_stm_category == StmCtgNoSystemAlert )
- {
- /*ara_onscreen*/
- if( g_stm_area == StmAreaNoOnScreen )
- {
- ZOSL_OslRestOns1e0();
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
/*evt_deactivate*/
- else if( g_stm_event == StmEvtNoDeactivate )
+ if( g_stm_event == StmEvtNoDeactivate )
{
/*ctg_systemalert*/
if( g_stm_category == StmCtgNoSystemAlert )
@@ -672,7 +626,7 @@ static void ZOSL_OslRestOns1Event( void )
/*stt_prv_layer_on_screen_sys_alt*/
else if( g_stm_prv_state.layer[StmLayerNoOnScreen].state == StmLayoutNoSysAlt )
{
- ZOSL_OslRestOns1e0();
+ ZOSL_OslRestOns1e3();
}
else
{
diff --git a/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_RelMain.c b/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_RelMain.c
index 6d07643..4c390ff 100644
--- a/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_RelMain.c
+++ b/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_RelMain.c
@@ -58,7 +58,7 @@ static void ZREL_RelMains0StateEntry( void )
/****************************************/
/* State start activity function */
/* STM : RelMain */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/****************************************/
static void ZREL_RelMains1StateEntry( void )
{
@@ -77,7 +77,7 @@ static void ZREL_RelMains1StateEntry( void )
/* Action function */
/* STM : RelMain */
/* State : restriction_mode_off( No 0 ) */
-/* Event : stt_restriction_mode_2_on( No 1 ) */
+/* Event : stt_restriction_mode_on( No 1 ) */
/****************************************/
static void ZREL_RelMains0e1( void )
{
@@ -89,7 +89,7 @@ static void ZREL_RelMains0e1( void )
/****************************************/
/* Action function */
/* STM : RelMain */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/* Event : stt_restriction_mode_off( No 0 ) */
/****************************************/
static void ZREL_RelMains1e0( void )
@@ -197,10 +197,10 @@ static void ZREL_RelRestOffs3e0( void )
/****************************************/
static void ZREL_RelMains0Event( void )
{
- /*stt_restriction_mode_2_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo2On )
+ /*stt_restriction_mode_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOn )
{
- stm_rel_event_restriction_mode_2_on();
+ stm_rel_event_restriction_mode_on();
ZREL_RelMains0e1();
}
else
@@ -217,54 +217,73 @@ static void ZREL_RelMains0Event( void )
/****************************************/
static void ZREL_RelRestOffs0Event( void )
{
- /*stt_restriction_mode_1_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo1On )
+ /*stt_restriction_mode_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
- /*stt_crr_layer_apps_changed*/
- if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
{
- /*stt_crr_layer_apps_map_spl*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ /*stt_crr_layer_apps_changed*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
{
- ZREL_RelRestOffs0e0();
- }
- /*stt_crr_layer_apps_spl_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
- {
- ZREL_RelRestOffs0e1();
- }
- /*stt_crr_layer_apps_spl_spl*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
- {
- ZREL_RelRestOffs0e1();
- }
- /*stt_crr_layer_apps_gen_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
- {
- ZREL_RelRestOffs0e1();
+ /*stt_crr_layer_apps_map_spl*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ {
+ ZREL_RelRestOffs0e0();
+ }
+ /*stt_crr_layer_apps_spl_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_spl_spl*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_gen_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
- else
+ /*evt_activate*/
+ else if( g_stm_event == StmEvtNoActivate )
{
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- /*evt_activate*/
- else if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_restriction*/
- if( g_stm_category == StmCtgNoRestriction )
- {
- /*ara_restriction_normal*/
- if( g_stm_area == StmAreaNoRestrictionNormal )
+ /*ctg_restriction*/
+ if( g_stm_category == StmCtgNoRestriction )
{
- /*stt_crr_layer_apps_spl_nml*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ /*ara_restriction_normal*/
+ if( g_stm_area == StmAreaNoRestrictionNormal )
{
- ZREL_RelRestOffs0e1();
+ /*stt_crr_layer_apps_spl_nml*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_map_spl*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ {
+ ZREL_RelRestOffs0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ara_restriction_split_main*/
+ else if( g_stm_area == StmAreaNoRestrictionSplitMain )
+ {
+ ZREL_RelRestOffs0e8();
}
- /*stt_crr_layer_apps_map_spl*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ /*ara_restriction_split_sub*/
+ else if( g_stm_area == StmAreaNoRestrictionSplitSub )
{
ZREL_RelRestOffs0e0();
}
@@ -274,16 +293,6 @@ static void ZREL_RelRestOffs0Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*ara_restriction_split_main*/
- else if( g_stm_area == StmAreaNoRestrictionSplitMain )
- {
- ZREL_RelRestOffs0e8();
- }
- /*ara_restriction_split_sub*/
- else if( g_stm_area == StmAreaNoRestrictionSplitSub )
- {
- ZREL_RelRestOffs0e0();
- }
else
{
/*Else and default design have not done.*/
@@ -296,17 +305,8 @@ static void ZREL_RelRestOffs0Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- /*stt_restriction_mode_off*/
- else if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
- {
/*evt_undo*/
- if( g_stm_event == StmEvtNoUndo )
+ else if( g_stm_event == StmEvtNoUndo )
{
/*stt_prv_layer_rst_none*/
if( g_stm_prv_state.layer[StmLayerNoRestriction].state == StmLayoutNoNone )
@@ -354,62 +354,81 @@ static void ZREL_RelRestOffs0Event( void )
/****************************************/
static void ZREL_RelRestOffs1Event( void )
{
- /*stt_restriction_mode_1_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo1On )
+ /*stt_restriction_mode_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
- /*stt_crr_layer_apps_changed*/
- if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
- {
- /*stt_crr_layer_apps_map_spl*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
- {
- ZREL_RelRestOffs0e0();
- }
- /*stt_crr_layer_apps_spl_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
- {
- ZREL_RelRestOffs1e1();
- }
- /*stt_crr_layer_apps_spl_spl*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
- {
- ZREL_RelRestOffs1e1();
- }
- /*stt_crr_layer_apps_gen_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
- {
- ZREL_RelRestOffs1e1();
- }
- else
- {
- ZREL_RelRestOffs1e4();
- }
- }
- /*stt_crr_layer_hs_changed*/
- else if( g_stm_crr_state.layer[StmLayerNoHomescreen].changed == STM_TRUE )
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
{
- /*stt_crr_layer_hs_hms*/
- if( g_stm_crr_state.layer[StmLayerNoHomescreen].state == StmLayoutNoHms )
+ /*stt_crr_layer_apps_changed*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
{
- ZREL_RelRestOffs1e4();
+ /*stt_crr_layer_apps_map_spl*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ {
+ ZREL_RelRestOffs0e0();
+ }
+ /*stt_crr_layer_apps_spl_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ {
+ ZREL_RelRestOffs1e1();
+ }
+ /*stt_crr_layer_apps_spl_spl*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ ZREL_RelRestOffs1e1();
+ }
+ /*stt_crr_layer_apps_gen_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ ZREL_RelRestOffs1e1();
+ }
+ else
+ {
+ ZREL_RelRestOffs1e4();
+ }
}
- else
+ /*stt_crr_layer_hs_changed*/
+ else if( g_stm_crr_state.layer[StmLayerNoHomescreen].changed == STM_TRUE )
{
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
+ /*stt_crr_layer_hs_hms*/
+ if( g_stm_crr_state.layer[StmLayerNoHomescreen].state == StmLayoutNoHms )
+ {
+ ZREL_RelRestOffs1e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
- }
- /*evt_activate*/
- else if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_restriction*/
- if( g_stm_category == StmCtgNoRestriction )
+ /*evt_activate*/
+ else if( g_stm_event == StmEvtNoActivate )
{
- /*ara_restriction_normal*/
- if( g_stm_area == StmAreaNoRestrictionNormal )
+ /*ctg_restriction*/
+ if( g_stm_category == StmCtgNoRestriction )
{
- /*stt_crr_layer_apps_map_spl*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ /*ara_restriction_normal*/
+ if( g_stm_area == StmAreaNoRestrictionNormal )
+ {
+ /*stt_crr_layer_apps_map_spl*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ {
+ ZREL_RelRestOffs0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ara_restriction_split_main*/
+ else if( g_stm_area == StmAreaNoRestrictionSplitMain )
+ {
+ ZREL_RelRestOffs0e8();
+ }
+ /*ara_restriction_split_sub*/
+ else if( g_stm_area == StmAreaNoRestrictionSplitSub )
{
ZREL_RelRestOffs0e0();
}
@@ -419,15 +438,19 @@ static void ZREL_RelRestOffs1Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*ara_restriction_split_main*/
- else if( g_stm_area == StmAreaNoRestrictionSplitMain )
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
{
- ZREL_RelRestOffs0e8();
- }
- /*ara_restriction_split_sub*/
- else if( g_stm_area == StmAreaNoRestrictionSplitSub )
- {
- ZREL_RelRestOffs0e0();
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ ZREL_RelRestOffs1e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
else
{
@@ -435,11 +458,11 @@ static void ZREL_RelRestOffs1Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*ctg_homescreen*/
- else if( g_stm_category == StmCtgNoHomescreen )
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
{
- /*ara_fullscreen*/
- if( g_stm_area == StmAreaNoFullscreen )
+ /*ctg_restriction*/
+ if( g_stm_category == StmCtgNoRestriction )
{
ZREL_RelRestOffs1e4();
}
@@ -455,11 +478,11 @@ static void ZREL_RelRestOffs1Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*evt_deactivate*/
- else if( g_stm_event == StmEvtNoDeactivate )
+ /*stt_lightstatus_brake_on*/
+ else if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
{
- /*ctg_restriction*/
- if( g_stm_category == StmCtgNoRestriction )
+ /*stt_prv_layer_rst_not_none*/
+ if( g_stm_prv_state.layer[StmLayerNoRestriction].state != StmLayoutNoNone )
{
ZREL_RelRestOffs1e4();
}
@@ -469,20 +492,6 @@ static void ZREL_RelRestOffs1Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- /*stt_restriction_mode_off*/
- else if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
- {
- /*stt_prv_layer_rst_not_none*/
- if( g_stm_prv_state.layer[StmLayerNoRestriction].state != StmLayoutNoNone )
- {
- ZREL_RelRestOffs1e4();
- }
/*evt_undo*/
else if( g_stm_event == StmEvtNoUndo )
{
@@ -532,69 +541,83 @@ static void ZREL_RelRestOffs1Event( void )
/****************************************/
static void ZREL_RelRestOffs2Event( void )
{
- /*stt_restriction_mode_1_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo1On )
+ /*stt_restriction_mode_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
- /*stt_crr_layer_apps_changed*/
- if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
- {
- /*stt_crr_layer_apps_map_spl*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
- {
- ZREL_RelRestOffs0e0();
- }
- /*stt_crr_layer_apps_spl_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
- {
- ZREL_RelRestOffs0e1();
- }
- /*stt_crr_layer_apps_spl_spl*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
- {
- ZREL_RelRestOffs0e1();
- }
- /*stt_crr_layer_apps_gen_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
- {
- ZREL_RelRestOffs0e1();
- }
- else
- {
- ZREL_RelRestOffs1e4();
- }
- }
- /*stt_crr_layer_hs_changed*/
- else if( g_stm_crr_state.layer[StmLayerNoHomescreen].changed == STM_TRUE )
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
{
- /*stt_crr_layer_hs_hms*/
- if( g_stm_crr_state.layer[StmLayerNoHomescreen].state == StmLayoutNoHms )
+ /*stt_crr_layer_apps_changed*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
{
- ZREL_RelRestOffs1e4();
+ /*stt_crr_layer_apps_map_spl*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ {
+ ZREL_RelRestOffs0e0();
+ }
+ /*stt_crr_layer_apps_spl_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_spl_spl*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_gen_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ else
+ {
+ ZREL_RelRestOffs1e4();
+ }
}
- else
+ /*stt_crr_layer_hs_changed*/
+ else if( g_stm_crr_state.layer[StmLayerNoHomescreen].changed == STM_TRUE )
{
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
+ /*stt_crr_layer_hs_hms*/
+ if( g_stm_crr_state.layer[StmLayerNoHomescreen].state == StmLayoutNoHms )
+ {
+ ZREL_RelRestOffs1e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
- }
- /*evt_activate*/
- else if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_restriction*/
- if( g_stm_category == StmCtgNoRestriction )
+ /*evt_activate*/
+ else if( g_stm_event == StmEvtNoActivate )
{
- /*ara_restriction_normal*/
- if( g_stm_area == StmAreaNoRestrictionNormal )
+ /*ctg_restriction*/
+ if( g_stm_category == StmCtgNoRestriction )
{
- /*stt_crr_layer_apps_spl_nml*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ /*ara_restriction_normal*/
+ if( g_stm_area == StmAreaNoRestrictionNormal )
{
- ZREL_RelRestOffs0e1();
+ /*stt_crr_layer_apps_spl_nml*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_map_spl*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ {
+ ZREL_RelRestOffs0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
- /*stt_crr_layer_apps_map_spl*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ /*ara_restriction_split_sub*/
+ else if( g_stm_area == StmAreaNoRestrictionSplitSub )
{
- ZREL_RelRestOffs0e0();
+ ZREL_RelRestOffs0e1();
}
else
{
@@ -602,10 +625,19 @@ static void ZREL_RelRestOffs2Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*ara_restriction_split_sub*/
- else if( g_stm_area == StmAreaNoRestrictionSplitSub )
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
{
- ZREL_RelRestOffs0e1();
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ ZREL_RelRestOffs1e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
else
{
@@ -613,11 +645,11 @@ static void ZREL_RelRestOffs2Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*ctg_homescreen*/
- else if( g_stm_category == StmCtgNoHomescreen )
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
{
- /*ara_fullscreen*/
- if( g_stm_area == StmAreaNoFullscreen )
+ /*ctg_restriction*/
+ if( g_stm_category == StmCtgNoRestriction )
{
ZREL_RelRestOffs1e4();
}
@@ -633,11 +665,11 @@ static void ZREL_RelRestOffs2Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*evt_deactivate*/
- else if( g_stm_event == StmEvtNoDeactivate )
+ /*stt_lightstatus_brake_on*/
+ else if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
{
- /*ctg_restriction*/
- if( g_stm_category == StmCtgNoRestriction )
+ /*stt_prv_layer_rst_not_none*/
+ if( g_stm_prv_state.layer[StmLayerNoRestriction].state != StmLayoutNoNone )
{
ZREL_RelRestOffs1e4();
}
@@ -647,20 +679,6 @@ static void ZREL_RelRestOffs2Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- /*stt_restriction_mode_off*/
- else if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
- {
- /*stt_prv_layer_rst_not_none*/
- if( g_stm_prv_state.layer[StmLayerNoRestriction].state != StmLayoutNoNone )
- {
- ZREL_RelRestOffs1e4();
- }
/*evt_undo*/
else if( g_stm_event == StmEvtNoUndo )
{
@@ -710,62 +728,76 @@ static void ZREL_RelRestOffs2Event( void )
/****************************************/
static void ZREL_RelRestOffs3Event( void )
{
- /*stt_restriction_mode_1_on*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNo1On )
+ /*stt_restriction_mode_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
- /*stt_crr_layer_apps_changed*/
- if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
- {
- /*stt_crr_layer_apps_map_spl*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
- {
- ZREL_RelRestOffs3e0();
- }
- /*stt_crr_layer_apps_spl_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
- {
- ZREL_RelRestOffs0e1();
- }
- /*stt_crr_layer_apps_spl_spl*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
- {
- ZREL_RelRestOffs0e1();
- }
- /*stt_crr_layer_apps_gen_nml*/
- else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
- {
- ZREL_RelRestOffs0e1();
- }
- else
- {
- ZREL_RelRestOffs1e4();
- }
- }
- /*stt_crr_layer_hs_changed*/
- else if( g_stm_crr_state.layer[StmLayerNoHomescreen].changed == STM_TRUE )
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
{
- /*stt_crr_layer_hs_hms*/
- if( g_stm_crr_state.layer[StmLayerNoHomescreen].state == StmLayoutNoHms )
+ /*stt_crr_layer_apps_changed*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].changed == STM_TRUE )
{
- ZREL_RelRestOffs1e4();
+ /*stt_crr_layer_apps_map_spl*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoMapSpl )
+ {
+ ZREL_RelRestOffs3e0();
+ }
+ /*stt_crr_layer_apps_spl_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_spl_spl*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ /*stt_crr_layer_apps_gen_nml*/
+ else if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ else
+ {
+ ZREL_RelRestOffs1e4();
+ }
}
- else
+ /*stt_crr_layer_hs_changed*/
+ else if( g_stm_crr_state.layer[StmLayerNoHomescreen].changed == STM_TRUE )
{
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
+ /*stt_crr_layer_hs_hms*/
+ if( g_stm_crr_state.layer[StmLayerNoHomescreen].state == StmLayoutNoHms )
+ {
+ ZREL_RelRestOffs1e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
- }
- /*evt_activate*/
- else if( g_stm_event == StmEvtNoActivate )
- {
- /*ctg_restriction*/
- if( g_stm_category == StmCtgNoRestriction )
+ /*evt_activate*/
+ else if( g_stm_event == StmEvtNoActivate )
{
- /*ara_restriction_normal*/
- if( g_stm_area == StmAreaNoRestrictionNormal )
+ /*ctg_restriction*/
+ if( g_stm_category == StmCtgNoRestriction )
{
- /*stt_crr_layer_apps_spl_nml*/
- if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ /*ara_restriction_normal*/
+ if( g_stm_area == StmAreaNoRestrictionNormal )
+ {
+ /*stt_crr_layer_apps_spl_nml*/
+ if( g_stm_crr_state.layer[StmLayerNoApps].state == StmLayoutNoSplNml )
+ {
+ ZREL_RelRestOffs0e1();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ara_restriction_split_main*/
+ else if( g_stm_area == StmAreaNoRestrictionSplitMain )
{
ZREL_RelRestOffs0e1();
}
@@ -775,10 +807,19 @@ static void ZREL_RelRestOffs3Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*ara_restriction_split_main*/
- else if( g_stm_area == StmAreaNoRestrictionSplitMain )
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
{
- ZREL_RelRestOffs0e1();
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ ZREL_RelRestOffs1e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
}
else
{
@@ -786,11 +827,11 @@ static void ZREL_RelRestOffs3Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*ctg_homescreen*/
- else if( g_stm_category == StmCtgNoHomescreen )
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
{
- /*ara_fullscreen*/
- if( g_stm_area == StmAreaNoFullscreen )
+ /*ctg_restriction*/
+ if( g_stm_category == StmCtgNoRestriction )
{
ZREL_RelRestOffs1e4();
}
@@ -806,11 +847,11 @@ static void ZREL_RelRestOffs3Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- /*evt_deactivate*/
- else if( g_stm_event == StmEvtNoDeactivate )
+ /*stt_lightstatus_brake_on*/
+ else if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
{
- /*ctg_restriction*/
- if( g_stm_category == StmCtgNoRestriction )
+ /*stt_prv_layer_rst_not_none*/
+ if( g_stm_prv_state.layer[StmLayerNoRestriction].state != StmLayoutNoNone )
{
ZREL_RelRestOffs1e4();
}
@@ -820,20 +861,6 @@ static void ZREL_RelRestOffs3Event( void )
/*Please confirm the STM and design else and default.*/
}
}
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
- }
- /*stt_restriction_mode_off*/
- else if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
- {
- /*stt_prv_layer_rst_not_none*/
- if( g_stm_prv_state.layer[StmLayerNoRestriction].state != StmLayoutNoNone )
- {
- ZREL_RelRestOffs1e4();
- }
/*evt_undo*/
else if( g_stm_event == StmEvtNoUndo )
{
@@ -879,12 +906,12 @@ static void ZREL_RelRestOffs3Event( void )
/****************************************/
/* Event appraisal function */
/* STM : RelMain */
-/* State : restriction_mode_2_on( No 1 ) */
+/* State : restriction_mode_on( No 1 )*/
/****************************************/
static void ZREL_RelMains1Event( void )
{
/*stt_restriction_mode_off*/
- if( g_stm_crr_state.mode[StmModeNoRestrictionMode].state == StmRestrictionModeSttNoOff )
+ if( g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state == StmRestrictionModeSttNoOff )
{
stm_rel_event_restriction_mode_off();
ZREL_RelMains1e0();
diff --git a/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.c b/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.c
index 5195f98..a1aa213 100644
--- a/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.c
+++ b/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.c
@@ -45,15 +45,15 @@ void stm_rel_start_activity_restriction_split_sub() {
* @name stm_rel_event_restriction_mode_off
*/
void stm_rel_event_restriction_mode_off() {
- g_stm_crr_state.layer[StmLayerNoRestriction].state = g_prv_restriction_state_rest_mode_1;
+ g_stm_crr_state.layer[StmLayerNoRestriction].state = g_prv_restriction_state_car_stop;
g_stm_crr_state.layer[StmLayerNoRestriction].changed = STM_TRUE;
}
/*
- * @name stm_rel_event_restriction_mode_2_on
+ * @name stm_rel_event_restriction_mode_on
*/
-void stm_rel_event_restriction_mode_2_on() {
- g_prv_restriction_state_rest_mode_1 = g_stm_prv_state.layer[StmLayerNoRestriction].state;
+void stm_rel_event_restriction_mode_on() {
+ g_prv_restriction_state_car_stop = g_stm_prv_state.layer[StmLayerNoRestriction].state;
}
/*
diff --git a/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.h b/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.h
index 5cd9b7d..3763820 100644
--- a/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.h
+++ b/policy_manager/stm/zipc/StateTransitionor/RestrictionLayer/ZREL_Restriction_func.h
@@ -11,7 +11,7 @@ extern void stm_rel_start_activity_restriction_normal();
extern void stm_rel_start_activity_restriction_split_main();
extern void stm_rel_start_activity_restriction_split_sub();
extern void stm_rel_event_restriction_mode_off();
-extern void stm_rel_event_restriction_mode_2_on();
+extern void stm_rel_event_restriction_mode_on();
extern void stm_rel_initialize_variable();
extern void stm_rel_start_stm();
diff --git a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.c b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.c
index 7fe5700..2ba6a87 100644
--- a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.c
+++ b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.c
@@ -9,88 +9,45 @@
static uint8_t ZREM_RestrictionModeState[ZREM_RESTRICTIONMODESTATENOMAX];
static void ZREM_RestrictionModes0e1( void );
-static void ZREM_RestrictionModes0e2( void );
static void ZREM_RestrictionModes1e0( void );
static void ZREM_RestrictionModes0Event( void );
static void ZREM_RestrictionModes1Event( void );
-static void ZREM_RestrictionModes2Event( void );
/****************************************/
/* Action function */
/* STM : RestrictionMode */
-/* State : restriction_mode_off( No 0 ) */
-/* Event : evt_restriction_mode_1_on( No 1 ) */
+/* State : restriction_mode_on( No 0 )*/
+/* Event : evt_restriction_mode_off( No 1 ) */
/****************************************/
static void ZREM_RestrictionModes0e1( void )
{
ZREM_RestrictionModeState[ZREM_RESTRICTIONMODE] = ( uint8_t )ZREM_RESTRICTIONMODES1;
- stm_rem_start_activity_restriction_mode_1_on();
-}
-
-/****************************************/
-/* Action function */
-/* STM : RestrictionMode */
-/* State : restriction_mode_off( No 0 ) */
-/* Event : evt_restriction_mode_2_on( No 2 ) */
-/****************************************/
-static void ZREM_RestrictionModes0e2( void )
-{
- ZREM_RestrictionModeState[ZREM_RESTRICTIONMODE] = ( uint8_t )ZREM_RESTRICTIONMODES2;
- stm_rem_start_activity_restriction_mode_2_on();
+ stm_rem_start_activity_restriction_mode_off();
}
/****************************************/
/* Action function */
/* STM : RestrictionMode */
-/* State : restriction_mode_1_on( No 1 ) */
-/* Event : evt_restriction_mode_off( No 0 ) */
+/* State : restriction_mode_off( No 1 ) */
+/* Event : evt_restriction_mode_on( No 0 ) */
/****************************************/
static void ZREM_RestrictionModes1e0( void )
{
ZREM_RestrictionModeState[ZREM_RESTRICTIONMODE] = ( uint8_t )ZREM_RESTRICTIONMODES0;
- stm_rem_start_activity_restriction_mode_off();
+ stm_rem_start_activity_restriction_mode_on();
}
/****************************************/
/* Event appraisal function */
/* STM : RestrictionMode */
-/* State : restriction_mode_off( No 0 ) */
+/* State : restriction_mode_on( No 0 )*/
/****************************************/
static void ZREM_RestrictionModes0Event( void )
{
- /*evt_restriction_mode_1_on*/
- if( g_stm_event == StmEvtNoRestrictionMode1On )
- {
- ZREM_RestrictionModes0e1();
- }
- /*evt_restriction_mode_2_on*/
- else if( g_stm_event == StmEvtNoRestrictionMode2On )
- {
- ZREM_RestrictionModes0e2();
- }
- else
- {
- /*Else and default design have not done.*/
- /*Please confirm the STM and design else and default.*/
- }
-}
-
-/****************************************/
-/* Event appraisal function */
-/* STM : RestrictionMode */
-/* State : restriction_mode_1_on( No 1 ) */
-/****************************************/
-static void ZREM_RestrictionModes1Event( void )
-{
/*evt_restriction_mode_off*/
if( g_stm_event == StmEvtNoRestrictionModeOff )
{
- ZREM_RestrictionModes1e0();
- }
- /*evt_restriction_mode_2_on*/
- else if( g_stm_event == StmEvtNoRestrictionMode2On )
- {
- ZREM_RestrictionModes0e2();
+ ZREM_RestrictionModes0e1();
}
else
{
@@ -102,20 +59,15 @@ static void ZREM_RestrictionModes1Event( void )
/****************************************/
/* Event appraisal function */
/* STM : RestrictionMode */
-/* State : restriction_mode_2_on( No 2 ) */
+/* State : restriction_mode_off( No 1 ) */
/****************************************/
-static void ZREM_RestrictionModes2Event( void )
+static void ZREM_RestrictionModes1Event( void )
{
- /*evt_restriction_mode_off*/
- if( g_stm_event == StmEvtNoRestrictionModeOff )
+ /*evt_restriction_mode_on*/
+ if( g_stm_event == StmEvtNoRestrictionModeOn )
{
ZREM_RestrictionModes1e0();
}
- /*evt_restriction_mode_1_on*/
- else if( g_stm_event == StmEvtNoRestrictionMode1On )
- {
- ZREM_RestrictionModes0e1();
- }
else
{
/*Else and default design have not done.*/
@@ -138,9 +90,6 @@ void stm_rem_event_call( void )
case ZREM_RESTRICTIONMODES1:
ZREM_RestrictionModes1Event();
break;
- case ZREM_RESTRICTIONMODES2:
- ZREM_RestrictionModes2Event();
- break;
default:
/*Not accessible to this else (default).*/
break;
@@ -153,7 +102,7 @@ void stm_rem_event_call( void )
/****************************************/
void stm_rem_initialize( void )
{
- ZREM_RestrictionModeState[ZREM_RESTRICTIONMODE] = ( uint8_t )ZREM_RESTRICTIONMODES0;
+ ZREM_RestrictionModeState[ZREM_RESTRICTIONMODE] = ( uint8_t )ZREM_RESTRICTIONMODES1;
stm_rem_start_activity_restriction_mode_off();
}
diff --git a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.h b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.h
index f2c2026..4ce0cac 100644
--- a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.h
+++ b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode.h
@@ -10,33 +10,28 @@
#define ZREM_RESTRICTIONMODE ( 0U )
#define ZREM_RESTRICTIONMODES0 ( 0U )
#define ZREM_RESTRICTIONMODES1 ( 1U )
-#define ZREM_RESTRICTIONMODES2 ( 2U )
#define ZREM_RESTRICTIONMODESTATENOMAX ( 1U )
/*End state define*/
-#define ZREM_RESTRICTIONMODEEND ( 3U )
+#define ZREM_RESTRICTIONMODEEND ( 2U )
/*Terminate state define*/
#define ZREM_RESTRICTIONMODETERMINATE ( ZREM_RESTRICTIONMODEEND + 1U )
/*State no define*/
#define ZREM_RESTRICTIONMODES0STATENO ( 0U )
#define ZREM_RESTRICTIONMODES1STATENO ( 1U )
-#define ZREM_RESTRICTIONMODES2STATENO ( 2U )
/*State serial no define*/
#define ZREM_RESTRICTIONMODES0STATESERIALNO ( 0U )
#define ZREM_RESTRICTIONMODES1STATESERIALNO ( 1U )
-#define ZREM_RESTRICTIONMODES2STATESERIALNO ( 2U )
/*Event no define*/
#define ZREM_RESTRICTIONMODEE0EVENTNO ( 0U )
#define ZREM_RESTRICTIONMODEE1EVENTNO ( 1U )
-#define ZREM_RESTRICTIONMODEE2EVENTNO ( 2U )
/*Event serial no define*/
#define ZREM_RESTRICTIONMODEE0EVENTSERIALNO ( 0U )
#define ZREM_RESTRICTIONMODEE1EVENTSERIALNO ( 1U )
-#define ZREM_RESTRICTIONMODEE2EVENTSERIALNO ( 2U )
/*Extern function*/
extern void stm_rem_event_call( void );
diff --git a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.c b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.c
index 94807f8..e920916 100644
--- a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.c
+++ b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.c
@@ -10,44 +10,36 @@
*************************************************************/
/*
- * @name stm_rem_start_activity_restriction_mode_1_on
+ * @name stm_rem_start_activity_restriction_mode_on
*/
-void stm_rem_start_activity_restriction_mode_1_on() {
- g_stm_crr_state.mode[StmModeNoRestrictionMode].state = StmRestrictionModeSttNo1On;
- g_stm_crr_state.mode[StmModeNoRestrictionMode].changed = STM_TRUE;
-}
-
-/*
- * @name stm_rem_start_activity_restriction_mode_2_on
- */
-void stm_rem_start_activity_restriction_mode_2_on() {
- g_stm_crr_state.mode[StmModeNoRestrictionMode].state = StmRestrictionModeSttNo2On;
- g_stm_crr_state.mode[StmModeNoRestrictionMode].changed = STM_TRUE;
+void stm_rem_start_activity_restriction_mode_on() {
+ g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state = StmRestrictionModeSttNoOn;
+ g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].changed = STM_TRUE;
}
/*
* @name stm_rem_start_activity_restriction_mode_off
*/
void stm_rem_start_activity_restriction_mode_off() {
- g_stm_crr_state.mode[StmModeNoRestrictionMode].state = StmRestrictionModeSttNoOff;
- g_stm_crr_state.mode[StmModeNoRestrictionMode].changed = STM_TRUE;
+ g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state = StmRestrictionModeSttNoOff;
+ g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].changed = STM_TRUE;
}
/*
* @name stm_rem_initialize_variable
*/
void stm_rem_initialize_variable() {
- g_stm_prv_state.mode[StmModeNoRestrictionMode].state = StmRestrictionModeSttNoOff;
- g_stm_prv_state.mode[StmModeNoRestrictionMode].changed = STM_FALSE;
+ g_stm_prv_state.car_element[StmCarElementNoRestrictionMode].state = StmRestrictionModeSttNoOff;
+ g_stm_prv_state.car_element[StmCarElementNoRestrictionMode].changed = STM_FALSE;
- g_stm_crr_state.mode[StmModeNoRestrictionMode].state = StmRestrictionModeSttNoOff;
- g_stm_crr_state.mode[StmModeNoRestrictionMode].changed = STM_FALSE;
+ g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state = StmRestrictionModeSttNoOff;
+ g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].changed = STM_FALSE;
}
/*
* @name stm_rem_start_stm
*/
void stm_rem_start_stm() {
- g_stm_prv_state.mode[StmModeNoRestrictionMode].state = g_stm_crr_state.mode[StmModeNoRestrictionMode].state;
- g_stm_crr_state.mode[StmModeNoRestrictionMode].changed = STM_FALSE;
+ g_stm_prv_state.car_element[StmCarElementNoRestrictionMode].state = g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].state;
+ g_stm_crr_state.car_element[StmCarElementNoRestrictionMode].changed = STM_FALSE;
}
diff --git a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.h b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.h
index f85ab14..bbb6edf 100644
--- a/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.h
+++ b/policy_manager/stm/zipc/StateTransitionor/RestrictionMode/ZREM_RestrictionMode_func.h
@@ -6,8 +6,7 @@
#ifndef ZHEADER_ZREM_RESTRICTIONMODE_FUNC_H
#define ZHEADER_ZREM_RESTRICTIONMODE_FUNC_H
-extern void stm_rem_start_activity_restriction_mode_1_on();
-extern void stm_rem_start_activity_restriction_mode_2_on();
+extern void stm_rem_start_activity_restriction_mode_on();
extern void stm_rem_start_activity_restriction_mode_off();
extern void stm_rem_initialize_variable();
extern void stm_rem_start_stm();
diff --git a/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_func.c b/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_func.c
index 3903202..daea2ca 100644
--- a/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_func.c
+++ b/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_func.c
@@ -4,12 +4,17 @@
/* ZIPC Designer Version 1.2.0 */
/************************************************************/
#include "ZST_include.h"
+#include "../stm_master_apps.h"
+#include "../stm_master_remote.h"
/*************************************************************
Function definition
*************************************************************/
#include <string.h>
+#include <stdbool.h>
+
+static bool isMaster = false;
//=================================
// API
@@ -17,34 +22,69 @@
/**
* Initialize STM
*/
-void stmInitializeInner() {
+void stmInitializeInner(const char *ecu_name) {
+
+ // TODO: Set master mode
+ if (0 == strcmp("master", ecu_name))
+ {
+ isMaster = true;
+ }
+
// Initialize previous state
memset(&g_stm_prv_state, 0, sizeof(g_stm_prv_state));
// Initialize current state
g_stm_crr_state = g_stm_prv_state;
- /* Initialize restriction mode state */
- stm_rem_initialize();
- stm_rem_initialize_variable();
-
- // Initialize homecsreen layer
- stm_hsl_initialize();
- stm_hsl_initialize_variable();
-
- // Initialize apps layer
- stm_apl_initialize();
- stm_apl_initialize_variable();
-
- // Initialize near_homecsreen layer
- stm_nhl_initialize();
- stm_nhl_initialize_variable();
-
- /* Initialize restriction layer */
- stm_rel_initialize();
- stm_rel_initialize_variable();
-
- g_stm_map_is_activated = STM_FALSE;
+ /* Initialize LightstatusBrake state */
+ stm_lbs_initialize();
+ stm_lbs_initialize_variable();
+
+ /* Initialize AccelPedal state */
+ stm_aps_initialize();
+ stm_aps_initialize_variable();
+
+ /* Initialize car state */
+ stm_rns_initialize();
+ stm_rns_initialize_variable();
+
+ /* Initialize restriction mode state */
+ stm_rem_initialize();
+ stm_rem_initialize_variable();
+
+ // Initialize homecsreen layer
+ stm_hsl_initialize();
+ stm_hsl_initialize_variable();
+
+ if (isMaster)
+ {
+ // Initialize apps layer on master ecu
+ stm_master_apl_initialize();
+ stm_master_apl_initialize_valiable();
+ }
+ else
+ {
+ // Initialize apps layer
+ stm_apl_initialize();
+ stm_apl_initialize_variable();
+ }
+
+ // Initialize near_homecsreen layer
+ stm_nhl_initialize();
+ stm_nhl_initialize_variable();
+
+ /* Initialize restriction layer */
+ stm_rel_initialize();
+ stm_rel_initialize_variable();
+
+ if (isMaster)
+ {
+ // Initialize remote layer on master ecu
+ stm_mst_rmt_initialize();
+ stm_mst_rmt_initialize_valiable();
+ }
+
+ g_stm_map_is_activated = STM_FALSE;
}
/**
@@ -55,14 +95,31 @@ int stmTransitionStateInner(int event_id, StmState* state) {
g_stm_category = STM_GET_CATEGORY_FROM_ID(event_id);
g_stm_area = STM_GET_AREA_FROM_ID(event_id);
+ // LightstatusBrake state
+ stm_lbs_event_call();
+
+ // AccelPedal state
+ stm_aps_event_call();
+
+ // Car state
+ stm_rns_event_call();
+
// restriction mode
stm_rem_event_call();
// homescreen layer
stm_hsl_event_call();
- // apps layer
- stm_apl_event_call();
+ if (isMaster)
+ {
+ // apps layer on master ecu
+ stm_master_apl_event_call();
+ }
+ else
+ {
+ // apps layer
+ stm_apl_event_call();
+ }
// near_homecsreen layer
stm_nhl_event_call();
@@ -73,6 +130,12 @@ int stmTransitionStateInner(int event_id, StmState* state) {
// on_screen layer
stm_osl_event_call();
+ if (isMaster)
+ {
+ // remote layer on master ecu
+ stm_mst_rmt_event_call();
+ }
+
// Copy current state for return
memcpy(state, &g_stm_crr_state, sizeof(g_stm_crr_state));
@@ -85,8 +148,16 @@ int stmTransitionStateInner(int event_id, StmState* state) {
void stmUndoStateInner() {
g_stm_event = StmEvtNoUndo;
- // apps layer
- stm_apl_event_call();
+ if (isMaster)
+ {
+ // apps layer on master ecu
+ stm_master_apl_event_call();
+ }
+ else
+ {
+ // apps layer
+ stm_apl_event_call();
+ }
// near_homecsreen layer
stm_nhl_event_call();
@@ -97,6 +168,11 @@ void stmUndoStateInner() {
// on_screen layer
stm_osl_event_call();
+ if (isMaster)
+ {
+ // remote layer on master ecu
+ stm_mst_rmt_event_call();
+ }
+
g_stm_crr_state = g_stm_prv_state;
}
-
diff --git a/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.c b/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.c
index b3a2273..a5e67ff 100644
--- a/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.c
+++ b/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.c
@@ -36,21 +36,21 @@ int g_stm_area;
int g_stm_map_is_activated;
/**
- * g_prv_apps_state_rest_mode_1
+ * g_prv_apps_state_car_stop
*/
-int g_prv_apps_state_rest_mode_1;
+int g_prv_apps_state_car_stop;
/**
- * g_prv_near_homescreen_state_rest_mode_1
+ * g_prv_near_homescreen_state_car_stop
*/
-int g_prv_near_homescreen_state_rest_mode_1;
+int g_prv_near_homescreen_state_car_stop;
/**
- * g_prv_restriction_state_rest_mode_1
+ * g_prv_restriction_state_car_stop
*/
-int g_prv_restriction_state_rest_mode_1;
+int g_prv_restriction_state_car_stop;
/**
- * g_prv_on_screen_state_rest_mode_1
+ * g_prv_on_screen_state_car_stop
*/
-int g_prv_on_screen_state_rest_mode_1;
+int g_prv_on_screen_state_car_stop;
diff --git a/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.h b/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.h
index 57b52ee..4cabced 100644
--- a/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.h
+++ b/policy_manager/stm/zipc/StateTransitionor/ZST_StateTransitionor_var.h
@@ -12,9 +12,9 @@ extern int g_stm_event;
extern int g_stm_category;
extern int g_stm_area;
extern int g_stm_map_is_activated;
-extern int g_prv_apps_state_rest_mode_1;
-extern int g_prv_near_homescreen_state_rest_mode_1;
-extern int g_prv_restriction_state_rest_mode_1;
-extern int g_prv_on_screen_state_rest_mode_1;
+extern int g_prv_apps_state_car_stop;
+extern int g_prv_near_homescreen_state_car_stop;
+extern int g_prv_restriction_state_car_stop;
+extern int g_prv_on_screen_state_car_stop;
#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/ZST_include.h b/policy_manager/stm/zipc/StateTransitionor/ZST_include.h
index e3d1572..2158660 100644
--- a/policy_manager/stm/zipc/StateTransitionor/ZST_include.h
+++ b/policy_manager/stm/zipc/StateTransitionor/ZST_include.h
@@ -11,6 +11,8 @@
#include "../Common/MisraCType.h"
#include "../Common/Event.h"
#include "ZST_StateTransitionor_def.h"
+#include "master/layer/apps/Zmaster_apps_master_apps_def.h"
+#include "master/layer/remote/Zmaster_remote_master_remote_def.h"
#include "ZST_StateTransitionor_func.h"
#include "ZST_StateTransitionor_var.h"
#include "AppsLayer/ZAPL_Apps_func.h"
@@ -19,11 +21,19 @@
#include "RestrictionLayer/ZREL_Restriction_func.h"
#include "RestrictionMode/ZREM_RestrictionMode_func.h"
#include "NearHomeScreen/ZNHL_NearHomeScreen_func.h"
+#include "AccelPedal/ZACCEL_AccelPedalState_func.h"
+#include "CarState/ZCAR_CarState_func.h"
+#include "LightStatusBrake/ZLIGHT_LightstatusBrakeStatus_func.h"
+#include "master/layer/apps/Zmaster_apps_apps_main.h"
+#include "master/layer/remote/Zmaster_remote_remote.h"
#include "AppsLayer/ZAPL_AppsLayer.h"
#include "OnScreenlayer/ZOSL_OslMain.h"
#include "HomeScreenLayer/ZHSL_HomeScreen.h"
#include "RestrictionLayer/ZREL_RelMain.h"
#include "RestrictionMode/ZREM_RestrictionMode.h"
#include "NearHomeScreen/ZNHL_NearHomescreen.h"
+#include "AccelPedal/ZACCEL_AccelPedal.h"
+#include "CarState/ZCAR_CarState.h"
+#include "LightStatusBrake/ZLIGHT_LightstatusBrake.h"
#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.c b/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.c
new file mode 100644
index 0000000..af46ea9
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.c
@@ -0,0 +1,1456 @@
+/************************************************************/
+/* Zmaster_apps_apps_main.c */
+/* apps_main State transition model source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/* State management variable */
+static uint8_t Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINSTATENOMAX];
+
+static void Zmaster_apps_apps_mains0StateEntry( void );
+static void Zmaster_apps_apps_mains1StateEntry( void );
+static void Zmaster_apps_apps_mains0e1( void );
+static void Zmaster_apps_apps_mains1e0( void );
+static void Zmaster_apps_apps_car_stops0e0( void );
+static void Zmaster_apps_apps_car_stops0e2( void );
+static void Zmaster_apps_apps_car_stops0e3( void );
+static void Zmaster_apps_apps_car_stops0e4( void );
+static void Zmaster_apps_apps_car_stops0e11( void );
+static void Zmaster_apps_apps_car_stops0e15( void );
+static void Zmaster_apps_apps_car_runs0e0( void );
+static void Zmaster_apps_apps_car_runs0e3( void );
+static void Zmaster_apps_apps_mains0Event( void );
+static void Zmaster_apps_apps_car_stops0Event( void );
+static void Zmaster_apps_apps_car_stops1Event( void );
+static void Zmaster_apps_apps_car_stops2Event( void );
+static void Zmaster_apps_apps_car_stops3Event( void );
+static void Zmaster_apps_apps_car_stops4Event( void );
+static void Zmaster_apps_apps_car_stops5Event( void );
+static void Zmaster_apps_apps_mains1Event( void );
+static void Zmaster_apps_apps_car_runs0Event( void );
+static void Zmaster_apps_apps_car_runs1Event( void );
+
+/****************************************/
+/* State start activity function */
+/* STM : apps_main */
+/* State : lightstatus_brake_on( No 0 ) */
+/****************************************/
+static void Zmaster_apps_apps_mains0StateEntry( void )
+{
+ switch( Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] )
+ {
+ case ZMASTER_APPS_APPS_CAR_STOPS0:
+ stm_mst_apl_start_activity_none();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS1:
+ stm_mst_apl_start_activity_meter_receiver();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS2:
+ stm_mst_apl_start_activity_meter_splitable();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS3:
+ stm_mst_apl_start_activity_splitable_receiver();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS4:
+ stm_mst_apl_start_activity_splitable_split();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS5:
+ stm_mst_apl_start_activity_general();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+}
+
+/****************************************/
+/* State start activity function */
+/* STM : apps_main */
+/* State : lightstatus_brake_off( No 1 ) */
+/****************************************/
+static void Zmaster_apps_apps_mains1StateEntry( void )
+{
+ switch( Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS1F] )
+ {
+ case ZMASTER_APPS_APPS_CAR_RUNS0:
+ stm_mst_apl_start_activity_meter_receiver();
+ break;
+ case ZMASTER_APPS_APPS_CAR_RUNS1:
+ stm_mst_apl_start_activity_meter();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_main */
+/* State : lightstatus_brake_on( No 0 ) */
+/* Event : stt_lightstatus_brake_off( No 1 ) */
+/****************************************/
+static void Zmaster_apps_apps_mains0e1( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAIN] = ( uint8_t )ZMASTER_APPS_APPS_MAINS1;
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS1F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_RUNS0;
+ Zmaster_apps_apps_mains1StateEntry();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_main */
+/* State : lightstatus_brake_off( No 1 ) */
+/* Event : stt_lightstatus_brake_on( No 0 ) */
+/****************************************/
+static void Zmaster_apps_apps_mains1e0( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAIN] = ( uint8_t )ZMASTER_APPS_APPS_MAINS0;
+ Zmaster_apps_apps_mains0StateEntry();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_stop */
+/* State : none( No 0 ) */
+/* Event : ara_split_main( No 0 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops0e0( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_STOPS1;
+ stm_mst_apl_start_activity_meter_receiver();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_stop */
+/* State : none( No 0 ) */
+/* Event : ara_split_main( No 2 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops0e2( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_STOPS3;
+ stm_mst_apl_start_activity_splitable_receiver();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_stop */
+/* State : none( No 0 ) */
+/* Event : ara_split_sub( No 3 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops0e3( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_STOPS2;
+ stm_mst_apl_start_activity_meter_splitable();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_stop */
+/* State : none( No 0 ) */
+/* Event : ara_normal( No 4 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops0e4( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_STOPS5;
+ stm_mst_apl_start_activity_general();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_stop */
+/* State : none( No 0 ) */
+/* Event : stt_prv_layer_apps_none( No 11 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops0e11( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_STOPS0;
+ stm_mst_apl_start_activity_none();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_stop */
+/* State : none( No 0 ) */
+/* Event : stt_prv_layer_apps_splitable_split( No 15 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops0e15( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_STOPS4;
+ stm_mst_apl_start_activity_splitable_split();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_run */
+/* State : meter_receiver( No 0 ) */
+/* Event : ara_normal( No 0 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_runs0e0( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS1F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_RUNS1;
+ stm_mst_apl_start_activity_meter();
+}
+
+/****************************************/
+/* Action function */
+/* STM : apps_car_run */
+/* State : meter_receiver( No 0 ) */
+/* Event : stt_prv_layer_apps_meter_receiver( No 3 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_runs0e3( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS1F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_RUNS0;
+ stm_mst_apl_start_activity_meter_receiver();
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_main */
+/* State : lightstatus_brake_on( No 0 ) */
+/****************************************/
+static void Zmaster_apps_apps_mains0Event( void )
+{
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
+ {
+ stm_mst_apl_event_lightstatus_brake_off();
+ Zmaster_apps_apps_mains0e1();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_stop */
+/* State : none( No 0 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops0Event( void )
+{
+ /*stt_lightstatus_brake_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_receiver*/
+ else if( g_stm_category == StmCtgNoReceiver )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_main*/
+ else if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_general*/
+ else if( g_stm_category == StmCtgNoGeneral )
+ {
+ /*ara_normal*/
+ if( g_stm_area == StmAreaNoNormal )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_none*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*stt_prv_layer_apps_meter_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ /*stt_prv_layer_apps_meter_splitable*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrSpl )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ /*stt_prv_layer_apps_splitable_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplRcv )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ /*stt_prv_layer_apps_splitable_split*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ /*stt_prv_layer_apps_gen_nml*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_stop */
+/* State : meter_receiver( No 1 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops1Event( void )
+{
+ /*stt_lightstatus_brake_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_splitable_main*/
+ if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_general*/
+ else if( g_stm_category == StmCtgNoGeneral )
+ {
+ /*ara_normal*/
+ if( g_stm_area == StmAreaNoNormal )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
+ {
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*ctg_receiver*/
+ else if( g_stm_category == StmCtgNoReceiver )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_none*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*stt_prv_layer_apps_meter_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ /*stt_prv_layer_apps_meter_splitable*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrSpl )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ /*stt_prv_layer_apps_splitable_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplRcv )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ /*stt_prv_layer_apps_splitable_split*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ /*stt_prv_layer_apps_gen_nml*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_stop */
+/* State : meter_splitable( No 2 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops2Event( void )
+{
+ /*stt_lightstatus_brake_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_receiver*/
+ if( g_stm_category == StmCtgNoReceiver )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_main*/
+ else if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_general*/
+ else if( g_stm_category == StmCtgNoGeneral )
+ {
+ /*ara_normal*/
+ if( g_stm_area == StmAreaNoNormal )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
+ {
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_none*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*stt_prv_layer_apps_meter_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ /*stt_prv_layer_apps_meter_splitable*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrSpl )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ /*stt_prv_layer_apps_splitable_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplRcv )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ /*stt_prv_layer_apps_splitable_split*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ /*stt_prv_layer_apps_gen_nml*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_stop */
+/* State : splitable_receiver( No 3 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops3Event( void )
+{
+ /*stt_lightstatus_brake_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_main*/
+ else if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_general*/
+ else if( g_stm_category == StmCtgNoGeneral )
+ {
+ /*ara_normal*/
+ if( g_stm_area == StmAreaNoNormal )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
+ {
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
+ {
+ /*ctg_receiver*/
+ if( g_stm_category == StmCtgNoReceiver )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*ctg_splitable_main*/
+ else if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_none*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*stt_prv_layer_apps_meter_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ /*stt_prv_layer_apps_meter_splitable*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrSpl )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ /*stt_prv_layer_apps_splitable_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplRcv )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ /*stt_prv_layer_apps_splitable_split*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ /*stt_prv_layer_apps_gen_nml*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_stop */
+/* State : splitable_split( No 4 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops4Event( void )
+{
+ /*stt_lightstatus_brake_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_receiver*/
+ else if( g_stm_category == StmCtgNoReceiver )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_main*/
+ else if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_general*/
+ else if( g_stm_category == StmCtgNoGeneral )
+ {
+ /*ara_normal*/
+ if( g_stm_area == StmAreaNoNormal )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
+ {
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
+ {
+ /*ctg_splitable_main*/
+ if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_none*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*stt_prv_layer_apps_meter_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ /*stt_prv_layer_apps_meter_splitable*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrSpl )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ /*stt_prv_layer_apps_splitable_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplRcv )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ /*stt_prv_layer_apps_splitable_split*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ /*stt_prv_layer_apps_gen_nml*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_stop */
+/* State : general( No 5 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_stops5Event( void )
+{
+ /*stt_lightstatus_brake_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_receiver*/
+ else if( g_stm_category == StmCtgNoReceiver )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_main*/
+ else if( g_stm_category == StmCtgNoSplitableMain )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_splitable_sub*/
+ else if( g_stm_category == StmCtgNoSplitableSub )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_general*/
+ else if( g_stm_category == StmCtgNoGeneral )
+ {
+ /*ara_normal*/
+ if( g_stm_area == StmAreaNoNormal )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_homescreen*/
+ else if( g_stm_category == StmCtgNoHomescreen )
+ {
+ /*ara_fullscreen*/
+ if( g_stm_area == StmAreaNoFullscreen )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_deactivate*/
+ else if( g_stm_event == StmEvtNoDeactivate )
+ {
+ /*ctg_general*/
+ if( g_stm_category == StmCtgNoGeneral )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_none*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoNone )
+ {
+ Zmaster_apps_apps_car_stops0e11();
+ }
+ /*stt_prv_layer_apps_meter_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_stops0e0();
+ }
+ /*stt_prv_layer_apps_meter_splitable*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrSpl )
+ {
+ Zmaster_apps_apps_car_stops0e3();
+ }
+ /*stt_prv_layer_apps_splitable_receiver*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplRcv )
+ {
+ Zmaster_apps_apps_car_stops0e2();
+ }
+ /*stt_prv_layer_apps_splitable_split*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoSplSpl )
+ {
+ Zmaster_apps_apps_car_stops0e15();
+ }
+ /*stt_prv_layer_apps_gen_nml*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoGenNml )
+ {
+ Zmaster_apps_apps_car_stops0e4();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_main */
+/* State : lightstatus_brake_off( No 1 ) */
+/****************************************/
+static void Zmaster_apps_apps_mains1Event( void )
+{
+ /*stt_lightstatus_brake_on*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+ {
+ stm_mst_apl_event_lightstatus_brake_on();
+ Zmaster_apps_apps_mains1e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_run */
+/* State : meter_receiver( No 0 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_runs0Event( void )
+{
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ /*ara_normal*/
+ if( g_stm_area == StmAreaNoNormal )
+ {
+ Zmaster_apps_apps_car_runs0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_meter_receiver*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_runs0e3();
+ }
+ /*stt_prv_layer_apps_meter*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrNml )
+ {
+ Zmaster_apps_apps_car_runs0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : apps_car_run */
+/* State : meter( No 1 ) */
+/****************************************/
+static void Zmaster_apps_apps_car_runs1Event( void )
+{
+ /*stt_lightstatus_brake_off*/
+ if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
+ {
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_meter*/
+ if( g_stm_category == StmCtgNoMeter )
+ {
+ /*ara_split_main*/
+ if( g_stm_area == StmAreaNoSplitMain )
+ {
+ Zmaster_apps_apps_car_runs0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*ctg_receiver*/
+ else if( g_stm_category == StmCtgNoReceiver )
+ {
+ /*ara_split_sub*/
+ if( g_stm_area == StmAreaNoSplitSub )
+ {
+ Zmaster_apps_apps_car_runs0e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_apps_meter_receiver*/
+ if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrRcv )
+ {
+ Zmaster_apps_apps_car_runs0e3();
+ }
+ /*stt_prv_layer_apps_meter*/
+ else if( g_stm_prv_state.layer[StmLayerNoApps].state == StmLayoutNoMtrNml )
+ {
+ Zmaster_apps_apps_car_runs0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event call function */
+/* STM : apps_main */
+/****************************************/
+void stm_master_apl_event_call( void )
+{
+ stm_mst_apl_start_stm();
+ switch( Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAIN] )
+ {
+ case ZMASTER_APPS_APPS_MAINS0:
+ switch( Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] )
+ {
+ case ZMASTER_APPS_APPS_CAR_STOPS0:
+ Zmaster_apps_apps_car_stops0Event();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS1:
+ Zmaster_apps_apps_car_stops1Event();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS2:
+ Zmaster_apps_apps_car_stops2Event();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS3:
+ Zmaster_apps_apps_car_stops3Event();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS4:
+ Zmaster_apps_apps_car_stops4Event();
+ break;
+ case ZMASTER_APPS_APPS_CAR_STOPS5:
+ Zmaster_apps_apps_car_stops5Event();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+ Zmaster_apps_apps_mains0Event();
+ break;
+ case ZMASTER_APPS_APPS_MAINS1:
+ switch( Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS1F] )
+ {
+ case ZMASTER_APPS_APPS_CAR_RUNS0:
+ Zmaster_apps_apps_car_runs0Event();
+ break;
+ case ZMASTER_APPS_APPS_CAR_RUNS1:
+ Zmaster_apps_apps_car_runs1Event();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+ Zmaster_apps_apps_mains1Event();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+}
+
+/****************************************/
+/* Initial function */
+/* STM : apps_main */
+/****************************************/
+void stm_master_apl_initialize( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAIN] = ( uint8_t )ZMASTER_APPS_APPS_MAINS0;
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS0F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_STOPS0;
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAINS1F] = ( uint8_t )ZMASTER_APPS_APPS_CAR_RUNS0;
+ Zmaster_apps_apps_mains0StateEntry();
+}
+
+/****************************************/
+/* Terminate function */
+/* STM : apps_main */
+/****************************************/
+void Zmaster_apps_apps_mainTerminate( void )
+{
+ Zmaster_apps_apps_mainState[ZMASTER_APPS_APPS_MAIN] = ( uint8_t )ZMASTER_APPS_APPS_MAINTERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.h b/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.h
new file mode 100644
index 0000000..afa2e67
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_apps_main.h
@@ -0,0 +1,111 @@
+/************************************************************/
+/* Zmaster_apps_apps_main.h */
+/* apps_main State transition model header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZMASTER_APPS_APPS_MAIN_H
+#define ZHEADER_ZMASTER_APPS_APPS_MAIN_H
+
+/*State management variable access define*/
+#define ZMASTER_APPS_APPS_MAIN ( 0U )
+#define ZMASTER_APPS_APPS_MAINS0F ( 1U )
+#define ZMASTER_APPS_APPS_MAINS1F ( 2U )
+#define ZMASTER_APPS_APPS_MAINS0 ( 0U )
+#define ZMASTER_APPS_APPS_CAR_STOPS0 ( 0U )
+#define ZMASTER_APPS_APPS_CAR_STOPS1 ( 1U )
+#define ZMASTER_APPS_APPS_CAR_STOPS2 ( 2U )
+#define ZMASTER_APPS_APPS_CAR_STOPS3 ( 3U )
+#define ZMASTER_APPS_APPS_CAR_STOPS4 ( 4U )
+#define ZMASTER_APPS_APPS_CAR_STOPS5 ( 5U )
+#define ZMASTER_APPS_APPS_MAINS1 ( 1U )
+#define ZMASTER_APPS_APPS_CAR_RUNS0 ( 0U )
+#define ZMASTER_APPS_APPS_CAR_RUNS1 ( 1U )
+#define ZMASTER_APPS_APPS_MAINSTATENOMAX ( 3U )
+
+/*End state define*/
+#define ZMASTER_APPS_APPS_MAINEND ( 6U )
+/*Terminate state define*/
+#define ZMASTER_APPS_APPS_MAINTERMINATE ( ZMASTER_APPS_APPS_MAINEND + 1U )
+
+/*State no define*/
+#define ZMASTER_APPS_APPS_MAINS0STATENO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_STOPS0STATENO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_STOPS1STATENO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_STOPS2STATENO ( 2U )
+#define ZMASTER_APPS_APPS_CAR_STOPS3STATENO ( 3U )
+#define ZMASTER_APPS_APPS_CAR_STOPS4STATENO ( 4U )
+#define ZMASTER_APPS_APPS_CAR_STOPS5STATENO ( 5U )
+#define ZMASTER_APPS_APPS_MAINS1STATENO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_RUNS0STATENO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_RUNS1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZMASTER_APPS_APPS_MAINS0STATESERIALNO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_STOPS0STATESERIALNO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_STOPS1STATESERIALNO ( 2U )
+#define ZMASTER_APPS_APPS_CAR_STOPS2STATESERIALNO ( 3U )
+#define ZMASTER_APPS_APPS_CAR_STOPS3STATESERIALNO ( 4U )
+#define ZMASTER_APPS_APPS_CAR_STOPS4STATESERIALNO ( 5U )
+#define ZMASTER_APPS_APPS_CAR_STOPS5STATESERIALNO ( 6U )
+#define ZMASTER_APPS_APPS_MAINS1STATESERIALNO ( 7U )
+#define ZMASTER_APPS_APPS_CAR_RUNS0STATESERIALNO ( 8U )
+#define ZMASTER_APPS_APPS_CAR_RUNS1STATESERIALNO ( 9U )
+
+/*Event no define*/
+#define ZMASTER_APPS_APPS_MAINE0EVENTNO ( 0U )
+#define ZMASTER_APPS_APPS_MAINE1EVENTNO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_STOPE0EVENTNO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_STOPE1EVENTNO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_STOPE2EVENTNO ( 2U )
+#define ZMASTER_APPS_APPS_CAR_STOPE3EVENTNO ( 3U )
+#define ZMASTER_APPS_APPS_CAR_STOPE4EVENTNO ( 4U )
+#define ZMASTER_APPS_APPS_CAR_STOPE5EVENTNO ( 5U )
+#define ZMASTER_APPS_APPS_CAR_STOPE6EVENTNO ( 6U )
+#define ZMASTER_APPS_APPS_CAR_STOPE7EVENTNO ( 7U )
+#define ZMASTER_APPS_APPS_CAR_STOPE8EVENTNO ( 8U )
+#define ZMASTER_APPS_APPS_CAR_STOPE9EVENTNO ( 9U )
+#define ZMASTER_APPS_APPS_CAR_STOPE10EVENTNO ( 10U )
+#define ZMASTER_APPS_APPS_CAR_STOPE11EVENTNO ( 11U )
+#define ZMASTER_APPS_APPS_CAR_STOPE12EVENTNO ( 12U )
+#define ZMASTER_APPS_APPS_CAR_STOPE13EVENTNO ( 13U )
+#define ZMASTER_APPS_APPS_CAR_STOPE14EVENTNO ( 14U )
+#define ZMASTER_APPS_APPS_CAR_STOPE15EVENTNO ( 15U )
+#define ZMASTER_APPS_APPS_CAR_STOPE16EVENTNO ( 16U )
+#define ZMASTER_APPS_APPS_CAR_RUNE0EVENTNO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_RUNE1EVENTNO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_RUNE2EVENTNO ( 2U )
+#define ZMASTER_APPS_APPS_CAR_RUNE3EVENTNO ( 3U )
+#define ZMASTER_APPS_APPS_CAR_RUNE4EVENTNO ( 4U )
+
+/*Event serial no define*/
+#define ZMASTER_APPS_APPS_MAINE0EVENTSERIALNO ( 0U )
+#define ZMASTER_APPS_APPS_MAINE1EVENTSERIALNO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_STOPE0EVENTNO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_STOPE1EVENTNO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_STOPE2EVENTNO ( 2U )
+#define ZMASTER_APPS_APPS_CAR_STOPE3EVENTNO ( 3U )
+#define ZMASTER_APPS_APPS_CAR_STOPE4EVENTNO ( 4U )
+#define ZMASTER_APPS_APPS_CAR_STOPE5EVENTNO ( 5U )
+#define ZMASTER_APPS_APPS_CAR_STOPE6EVENTNO ( 6U )
+#define ZMASTER_APPS_APPS_CAR_STOPE7EVENTNO ( 7U )
+#define ZMASTER_APPS_APPS_CAR_STOPE8EVENTNO ( 8U )
+#define ZMASTER_APPS_APPS_CAR_STOPE9EVENTNO ( 9U )
+#define ZMASTER_APPS_APPS_CAR_STOPE10EVENTNO ( 10U )
+#define ZMASTER_APPS_APPS_CAR_STOPE11EVENTNO ( 11U )
+#define ZMASTER_APPS_APPS_CAR_STOPE12EVENTNO ( 12U )
+#define ZMASTER_APPS_APPS_CAR_STOPE13EVENTNO ( 13U )
+#define ZMASTER_APPS_APPS_CAR_STOPE14EVENTNO ( 14U )
+#define ZMASTER_APPS_APPS_CAR_STOPE15EVENTNO ( 15U )
+#define ZMASTER_APPS_APPS_CAR_STOPE16EVENTNO ( 16U )
+#define ZMASTER_APPS_APPS_CAR_RUNE0EVENTNO ( 0U )
+#define ZMASTER_APPS_APPS_CAR_RUNE1EVENTNO ( 1U )
+#define ZMASTER_APPS_APPS_CAR_RUNE2EVENTNO ( 2U )
+#define ZMASTER_APPS_APPS_CAR_RUNE3EVENTNO ( 3U )
+#define ZMASTER_APPS_APPS_CAR_RUNE4EVENTNO ( 4U )
+
+/*Extern function*/
+extern void stm_master_apl_event_call( void );
+extern void stm_master_apl_initialize( void );
+extern void Zmaster_apps_apps_mainTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_master_apps_def.h b/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_master_apps_def.h
new file mode 100644
index 0000000..5c22ae6
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/master/layer/apps/Zmaster_apps_master_apps_def.h
@@ -0,0 +1,15 @@
+/************************************************************/
+/* Zmaster_apps_master_apps_def.h */
+/* Define header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZMASTER_APPS_MASTER_APPS_DEF_H
+#define ZHEADER_ZMASTER_APPS_MASTER_APPS_DEF_H
+
+/*************************************************************
+ Define definition
+*************************************************************/
+
+#include "../../../../stm_master_apps.h"
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_master_remote_def.h b/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_master_remote_def.h
new file mode 100644
index 0000000..7cd92cd
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_master_remote_def.h
@@ -0,0 +1,15 @@
+/************************************************************/
+/* Zmaster_remote_master_remote_def.h */
+/* Define header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZMASTER_REMOTE_MASTER_REMOTE_DEF_H
+#define ZHEADER_ZMASTER_REMOTE_MASTER_REMOTE_DEF_H
+
+/*************************************************************
+ Define definition
+*************************************************************/
+
+#include "../../../../stm_master_remote.h"
+
+#endif
diff --git a/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.c b/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.c
new file mode 100644
index 0000000..53ceafa
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.c
@@ -0,0 +1,206 @@
+/************************************************************/
+/* Zmaster_remote_remote.c */
+/* remote State transition model source file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#include "../../../ZST_include.h"
+
+/* State management variable */
+static uint8_t Zmaster_remote_remoteState[ZMASTER_REMOTE_REMOTESTATENOMAX];
+
+static void Zmaster_remote_remotes0e0( void );
+static void Zmaster_remote_remotes0e2( void );
+static void Zmaster_remote_remotes1e1( void );
+static void Zmaster_remote_remotes1e3( void );
+static void Zmaster_remote_remotes0Event( void );
+static void Zmaster_remote_remotes1Event( void );
+
+/****************************************/
+/* Action function */
+/* STM : remote */
+/* State : none( No 0 ) */
+/* Event : ara_master_split_sub( No 0 ) */
+/****************************************/
+static void Zmaster_remote_remotes0e0( void )
+{
+ Zmaster_remote_remoteState[ZMASTER_REMOTE_REMOTE] = ( uint8_t )ZMASTER_REMOTE_REMOTES1;
+ stm_mst_rmt_start_activity_tbt();
+}
+
+/****************************************/
+/* Action function */
+/* STM : remote */
+/* State : none( No 0 ) */
+/* Event : stt_prv_layer_remote_none( No 2 ) */
+/****************************************/
+static void Zmaster_remote_remotes0e2( void )
+{
+ stm_mst_rmt_start_activity_none();
+}
+
+/****************************************/
+/* Action function */
+/* STM : remote */
+/* State : tbt( No 1 ) */
+/* Event : ctg_tbt( No 1 ) */
+/****************************************/
+static void Zmaster_remote_remotes1e1( void )
+{
+ Zmaster_remote_remoteState[ZMASTER_REMOTE_REMOTE] = ( uint8_t )ZMASTER_REMOTE_REMOTES0;
+ stm_mst_rmt_start_activity_none();
+}
+
+/****************************************/
+/* Action function */
+/* STM : remote */
+/* State : tbt( No 1 ) */
+/* Event : stt_prv_layer_remote_tbt( No 3 ) */
+/****************************************/
+static void Zmaster_remote_remotes1e3( void )
+{
+ stm_mst_rmt_start_activity_tbt();
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : remote */
+/* State : none( No 0 ) */
+/****************************************/
+static void Zmaster_remote_remotes0Event( void )
+{
+ /*evt_activate*/
+ if( g_stm_event == StmEvtNoActivate )
+ {
+ /*ctg_tbt*/
+ if( g_stm_category == StmCtgNoTbt )
+ {
+ /*ara_master_split_sub*/
+ if( g_stm_area == StmAreaNoMasterSplitSub )
+ {
+ Zmaster_remote_remotes0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_remote_none*/
+ if( g_stm_prv_state.layer[StmLayerNoRemote].state == StmLayoutNoNone )
+ {
+ Zmaster_remote_remotes0e2();
+ }
+ /*stt_prv_layer_remote_tbt*/
+ else if( g_stm_prv_state.layer[StmLayerNoRemote].state == StmLayoutNoRmtTbt )
+ {
+ Zmaster_remote_remotes0e0();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event appraisal function */
+/* STM : remote */
+/* State : tbt( No 1 ) */
+/****************************************/
+static void Zmaster_remote_remotes1Event( void )
+{
+ /*evt_deactivate*/
+ if( g_stm_event == StmEvtNoDeactivate )
+ {
+ /*ctg_tbt*/
+ if( g_stm_category == StmCtgNoTbt )
+ {
+ Zmaster_remote_remotes1e1();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ /*evt_undo*/
+ else if( g_stm_event == StmEvtNoUndo )
+ {
+ /*stt_prv_layer_remote_none*/
+ if( g_stm_prv_state.layer[StmLayerNoRemote].state == StmLayoutNoNone )
+ {
+ Zmaster_remote_remotes1e1();
+ }
+ /*stt_prv_layer_remote_tbt*/
+ else if( g_stm_prv_state.layer[StmLayerNoRemote].state == StmLayoutNoRmtTbt )
+ {
+ Zmaster_remote_remotes1e3();
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+ }
+ else
+ {
+ /*Else and default design have not done.*/
+ /*Please confirm the STM and design else and default.*/
+ }
+}
+
+/****************************************/
+/* Event call function */
+/* STM : remote */
+/****************************************/
+void stm_mst_rmt_event_call( void )
+{
+ stm_mst_rmt_start_stm();
+ switch( Zmaster_remote_remoteState[ZMASTER_REMOTE_REMOTE] )
+ {
+ case ZMASTER_REMOTE_REMOTES0:
+ Zmaster_remote_remotes0Event();
+ break;
+ case ZMASTER_REMOTE_REMOTES1:
+ Zmaster_remote_remotes1Event();
+ break;
+ default:
+ /*Not accessible to this else (default).*/
+ break;
+ }
+}
+
+/****************************************/
+/* Initial function */
+/* STM : remote */
+/****************************************/
+void stm_mst_rmt_initialize( void )
+{
+ Zmaster_remote_remoteState[ZMASTER_REMOTE_REMOTE] = ( uint8_t )ZMASTER_REMOTE_REMOTES0;
+ stm_mst_rmt_start_activity_none();
+}
+
+/****************************************/
+/* Terminate function */
+/* STM : remote */
+/****************************************/
+void Zmaster_remote_remoteTerminate( void )
+{
+ Zmaster_remote_remoteState[ZMASTER_REMOTE_REMOTE] = ( uint8_t )ZMASTER_REMOTE_REMOTETERMINATE;
+}
+
diff --git a/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.h b/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.h
new file mode 100644
index 0000000..5899b07
--- /dev/null
+++ b/policy_manager/stm/zipc/StateTransitionor/master/layer/remote/Zmaster_remote_remote.h
@@ -0,0 +1,45 @@
+/************************************************************/
+/* Zmaster_remote_remote.h */
+/* remote State transition model header file */
+/* ZIPC Designer Version 1.2.0 */
+/************************************************************/
+#ifndef ZHEADER_ZMASTER_REMOTE_REMOTE_H
+#define ZHEADER_ZMASTER_REMOTE_REMOTE_H
+
+/*State management variable access define*/
+#define ZMASTER_REMOTE_REMOTE ( 0U )
+#define ZMASTER_REMOTE_REMOTES0 ( 0U )
+#define ZMASTER_REMOTE_REMOTES1 ( 1U )
+#define ZMASTER_REMOTE_REMOTESTATENOMAX ( 1U )
+
+/*End state define*/
+#define ZMASTER_REMOTE_REMOTEEND ( 2U )
+/*Terminate state define*/
+#define ZMASTER_REMOTE_REMOTETERMINATE ( ZMASTER_REMOTE_REMOTEEND + 1U )
+
+/*State no define*/
+#define ZMASTER_REMOTE_REMOTES0STATENO ( 0U )
+#define ZMASTER_REMOTE_REMOTES1STATENO ( 1U )
+
+/*State serial no define*/
+#define ZMASTER_REMOTE_REMOTES0STATESERIALNO ( 0U )
+#define ZMASTER_REMOTE_REMOTES1STATESERIALNO ( 1U )
+
+/*Event no define*/
+#define ZMASTER_REMOTE_REMOTEE0EVENTNO ( 0U )
+#define ZMASTER_REMOTE_REMOTEE1EVENTNO ( 1U )
+#define ZMASTER_REMOTE_REMOTEE2EVENTNO ( 2U )
+#define ZMASTER_REMOTE_REMOTEE3EVENTNO ( 3U )
+
+/*Event serial no define*/
+#define ZMASTER_REMOTE_REMOTEE0EVENTSERIALNO ( 0U )
+#define ZMASTER_REMOTE_REMOTEE1EVENTSERIALNO ( 1U )
+#define ZMASTER_REMOTE_REMOTEE2EVENTSERIALNO ( 2U )
+#define ZMASTER_REMOTE_REMOTEE3EVENTSERIALNO ( 3U )
+
+/*Extern function*/
+extern void stm_mst_rmt_event_call( void );
+extern void stm_mst_rmt_initialize( void );
+extern void Zmaster_remote_remoteTerminate( void );
+
+#endif
diff --git a/policy_manager/stm/zipc/stm_master_apps.c b/policy_manager/stm/zipc/stm_master_apps.c
new file mode 100644
index 0000000..a8cc0e2
--- /dev/null
+++ b/policy_manager/stm/zipc/stm_master_apps.c
@@ -0,0 +1,63 @@
+#include "./StateTransitionor/ZST_include.h"
+
+void stm_mst_apl_start_activity_none() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoNone;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_start_activity_meter_receiver() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoMtrRcv;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_start_activity_meter_splitable() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoMtrSpl;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_start_activity_splitable_receiver() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoSplRcv;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_start_activity_splitable_split() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoSplSpl;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_start_activity_general() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoGenNml;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_start_activity_meter() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoMtrNml;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_event_lightstatus_brake_on() {
+ g_stm_crr_state.layer[StmLayerNoApps].state = g_prv_apps_state_car_stop;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_TRUE;
+}
+
+void stm_mst_apl_event_lightstatus_brake_off() {
+ g_prv_apps_state_car_stop = g_stm_prv_state.layer[StmLayerNoApps].state;
+}
+
+void stm_master_apl_initialize_valiable() {
+ g_stm_prv_state.layer[StmLayerNoApps].state = StmLayoutNoNone;
+ g_stm_prv_state.layer[StmLayerNoApps].changed = STM_FALSE;
+
+ g_stm_crr_state.layer[StmLayerNoApps].state = StmLayoutNoNone;
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
+
+void stm_mst_apl_start_stm() {
+ if (g_stm_event == StmEvtNoUndo) {
+ // nop
+ }
+ else {
+ g_stm_prv_state.layer[StmLayerNoApps].state = g_stm_crr_state.layer[StmLayerNoApps].state;
+ }
+ g_stm_crr_state.layer[StmLayerNoApps].changed = STM_FALSE;
+}
diff --git a/policy_manager/stm/zipc/stm_master_apps.h b/policy_manager/stm/zipc/stm_master_apps.h
new file mode 100644
index 0000000..d10e56b
--- /dev/null
+++ b/policy_manager/stm/zipc/stm_master_apps.h
@@ -0,0 +1,11 @@
+extern void stm_mst_apl_start_activity_none();
+extern void stm_mst_apl_start_activity_meter_receiver();
+extern void stm_mst_apl_start_activity_meter_splitable();
+extern void stm_mst_apl_start_activity_splitable_receiver();
+extern void stm_mst_apl_start_activity_splitable_split();
+extern void stm_mst_apl_start_activity_general();
+extern void stm_mst_apl_start_activity_meter();
+extern void stm_mst_apl_event_lightstatus_brake_on();
+extern void stm_mst_apl_event_lightstatus_brake_off();
+extern void stm_master_apl_initialize_valiable();
+extern void stm_mst_apl_start_stm();
diff --git a/policy_manager/stm/zipc/stm_master_remote.c b/policy_manager/stm/zipc/stm_master_remote.c
new file mode 100644
index 0000000..d63cba1
--- /dev/null
+++ b/policy_manager/stm/zipc/stm_master_remote.c
@@ -0,0 +1,29 @@
+#include "./StateTransitionor/ZST_include.h"
+
+void stm_mst_rmt_start_activity_none() {
+ g_stm_crr_state.layer[StmLayerNoRemote].state = StmLayoutNoNone;
+ g_stm_crr_state.layer[StmLayerNoRemote].changed = STM_TRUE;
+}
+
+void stm_mst_rmt_start_activity_tbt() {
+ g_stm_crr_state.layer[StmLayerNoRemote].state = StmLayoutNoRmtTbt;
+ g_stm_crr_state.layer[StmLayerNoRemote].changed = STM_TRUE;
+}
+
+void stm_mst_rmt_initialize_valiable() {
+ g_stm_prv_state.layer[StmLayerNoRemote].state = StmLayoutNoNone;
+ g_stm_prv_state.layer[StmLayerNoRemote].changed = STM_FALSE;
+
+ g_stm_crr_state.layer[StmLayerNoRemote].state = StmLayoutNoNone;
+ g_stm_crr_state.layer[StmLayerNoRemote].changed = STM_FALSE;
+}
+
+void stm_mst_rmt_start_stm() {
+ if (g_stm_event == StmEvtNoUndo) {
+ // nop
+ }
+ else {
+ g_stm_prv_state.layer[StmLayerNoRemote].state = g_stm_crr_state.layer[StmLayerNoRemote].state;
+ }
+ g_stm_crr_state.layer[StmLayerNoRemote].changed = STM_FALSE;
+}
diff --git a/policy_manager/stm/zipc/stm_master_remote.h b/policy_manager/stm/zipc/stm_master_remote.h
new file mode 100644
index 0000000..45d77c7
--- /dev/null
+++ b/policy_manager/stm/zipc/stm_master_remote.h
@@ -0,0 +1,4 @@
+extern void stm_mst_rmt_start_activity_none();
+extern void stm_mst_rmt_start_activity_tbt();
+extern void stm_mst_rmt_initialize_valiable();
+extern void stm_mst_rmt_start_stm();