aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;