aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuta Doi <yuta-d@witz-inc.co.jp>2018-05-09 16:09:40 +0900
committerYuta Doi <yuta-d@witz-inc.co.jp>2018-05-09 16:09:40 +0900
commite6d867b95a5e32ce5f50106b05020bd9888ae8a3 (patch)
tree17e5d38510f2decbf6d16db86e1cd8a71ce4c37e
parenta660fd2bc4e232dd8bb61febd1eae1e26d674804 (diff)
Add policy of switching parking brake state to dummy stm for validation
Change-Id: I547e578526d6ce934c9fa8aa86170cea5a2f17e7 Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
-rw-r--r--src/low_can_client.cpp3
-rw-r--r--src/policy_manager/policy_manager.cpp2
-rw-r--r--src/policy_manager/zipc/dummy_stm.c15
3 files changed, 18 insertions, 2 deletions
diff --git a/src/low_can_client.cpp b/src/low_can_client.cpp
index 2db565c..43d8cfc 100644
--- a/src/low_can_client.cpp
+++ b/src/low_can_client.cpp
@@ -31,10 +31,13 @@ LowCanClient::LowCanClient() :
trans_gear_pos_(0),
parking_brake_status_(TRUE),
headlamp_status_(FALSE),
+ prv_parking_brake_state_("parking_brake_on"),
+ crr_parking_brake_state_("parking_brake_on"),
prv_car_state_("car_stop"),
crr_car_state_("car_stop"),
prv_lamp_state_("lamp_off"),
crr_lamp_state_("lamp_off"),
+ is_changed_parking_brake_state_(false),
is_changed_car_state_(false),
is_changed_lamp_state_(false)
{
diff --git a/src/policy_manager/policy_manager.cpp b/src/policy_manager/policy_manager.cpp
index 47d9eac..9ece573 100644
--- a/src/policy_manager/policy_manager.cpp
+++ b/src/policy_manager/policy_manager.cpp
@@ -139,7 +139,7 @@ int PolicyManager::checkPolicy(json_object* json_in, json_object** json_out) {
HMI_DEBUG("wm", "parking brake state (is_changed:%d state:%d:%s)",
this->current_state_.parking_brake.is_changed,
this->current_state_.parking_brake.state,
- stm::gStmCarStateNo2Name[this->current_state_.parking_brake.state]);
+ stm::gStmParkingBrakeStateNo2Name[this->current_state_.parking_brake.state]);
this->addStateToJson("parking_brake",
this->current_state_.parking_brake.is_changed,
stm::gStmParkingBrakeStateNo2Name[this->current_state_.parking_brake.state],
diff --git a/src/policy_manager/zipc/dummy_stm.c b/src/policy_manager/zipc/dummy_stm.c
index 78e25d7..459f58c 100644
--- a/src/policy_manager/zipc/dummy_stm.c
+++ b/src/policy_manager/zipc/dummy_stm.c
@@ -94,7 +94,7 @@ int g_prv_apps_state_car_stop = 0;
int stmTransitionState(int event, stm_state_t* state) {
int event_no, category_no, area_no;
- int apps_state, car_state, lamp_state;
+ int apps_state, parking_brake_state, car_state, lamp_state;
event_no = event & STM_MSK_EVT_NO;
category_no = event & STM_MSK_CTG_NO;
@@ -105,6 +105,7 @@ int stmTransitionState(int event, stm_state_t* state) {
// Get previous state
apps_state = g_prv_state.layer.apps.state;
+ parking_brake_state = g_prv_state.parking_brake.state;
car_state = g_prv_state.car.state;
lamp_state = g_prv_state.lamp.state;
@@ -254,6 +255,18 @@ int stmTransitionState(int event, stm_state_t* state) {
break;
}
break;
+ case STM_EVT_NO_PARKING_BRAKE_OFF:
+ if (gStmParkingBrakeStateNoOff != parking_brake_state) {
+ g_crr_state.parking_brake.state = gStmParkingBrakeStateNoOff;
+ g_crr_state.parking_brake.is_changed = STM_TRUE;
+ }
+ break;
+ case STM_EVT_NO_PARKING_BRAKE_ON:
+ if (gStmParkingBrakeStateNoOn != parking_brake_state) {
+ g_crr_state.parking_brake.state = gStmParkingBrakeStateNoOn;
+ g_crr_state.parking_brake.is_changed = STM_TRUE;
+ }
+ break;
case STM_EVT_NO_CAR_STOP:
if (gStmCarStateNoStop != car_state) {
g_crr_state.layer.apps.state = g_prv_apps_state_car_stop;