diff options
author | 2018-05-17 16:48:33 +0900 | |
---|---|---|
committer | 2018-05-17 16:52:10 +0900 | |
commit | 9f61fdc39edd93c7da5b77b4bc92963e4df31b82 (patch) | |
tree | 4c9648fdef3435581a327ca0a7a11ad8d2e03148 /src/low_can_client.cpp | |
parent | a9f97575b05a5e49ace1f34e608bbb5aabdb8311 (diff) |
App (ResourceManager) class has the current car info
and LowCanClient does not check whether CAN signal value is changed
Change-Id: I41dfd0772f8fb4db70c4b5c0caa35791600abc54
Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
Diffstat (limited to 'src/low_can_client.cpp')
-rw-r--r-- | src/low_can_client.cpp | 205 |
1 files changed, 46 insertions, 159 deletions
diff --git a/src/low_can_client.cpp b/src/low_can_client.cpp index e3e472f..192e124 100644 --- a/src/low_can_client.cpp +++ b/src/low_can_client.cpp @@ -32,15 +32,8 @@ LowCanClient::LowCanClient() : headlamp_status_(FALSE), parking_brake_status_(TRUE), accel_pedal_pos_(0), - prv_lamp_state_("lamp_off"), - crr_lamp_state_("lamp_off"), - prv_parking_brake_state_("parking_brake_on"), - crr_parking_brake_state_("parking_brake_on"), - prv_accel_pedal_state_("accel_pedal_off"), - crr_accel_pedal_state_("accel_pedal_off"), - is_changed_lamp_state_(false), - is_changed_parking_brake_state_(false), - is_changed_accel_pedal_state_(false) + accel_pedal_stt_(FALSE), + is_changed_accel_pedal_stt_(false) { HMI_DEBUG("wm:lcc", "Call"); } @@ -67,7 +60,7 @@ void LowCanClient::initialize() { // Set Event json_object *json_obj = json_object_new_object(); json_object_object_add(json_obj, "event", - json_object_new_string(this->kEventName_[i])); + json_object_new_string(this->kSignalName_[i])); // Set filter if (0 != strcmp("", this->kFilterValue_[i])) { @@ -88,197 +81,91 @@ void LowCanClient::initialize() { return; } -void LowCanClient::analyzeCanSignal(struct json_object *object) { +const char* LowCanClient::analyzeCanSignal(struct json_object *object) { HMI_DEBUG("wm:lcc", "object:%s", json_object_get_string(object)); const char* name = jh::getStringFromJson(object, "name"); HMI_DEBUG("wm:lcc", "CAN signal name:%s", name); - if (strstr(name, this->kEventName_[0])) { - HMI_DEBUG("wm:lcc", "Receive %s", this->kEventName_[0]); + if (strstr(name, this->kSignalName_[0])) { // Update vehicle speed - int speed = jh::getIntFromJson(object, "value"); - if (this->vehicle_speed_ != speed) { - this->vehicle_speed_ = speed; - HMI_DEBUG("wm:lcc", "Update vehicle speed:%d", this->vehicle_speed_); - } + this->vehicle_speed_ = jh::getIntFromJson(object, "value"); + HMI_DEBUG("wm:lcc", "Update vehicle speed:%d", this->vehicle_speed_); } - else if (strstr(name, this->kEventName_[1])) { - HMI_DEBUG("wm:lcc", "Receive %s", this->kEventName_[1]); + else if (strstr(name, this->kSignalName_[1])) { // Update transmission gear position - int gear_pos = jh::getIntFromJson(object, "value"); - if (this->trans_gear_pos_ != gear_pos) { - this->trans_gear_pos_ = gear_pos; - HMI_DEBUG("wm:lcc", "Update transmission gear position:%d", this->trans_gear_pos_); - } + this->trans_gear_pos_ = jh::getIntFromJson(object, "value"); + HMI_DEBUG("wm:lcc", "Update transmission gear position:%d", this->trans_gear_pos_); } - else if (strstr(name, this->kEventName_[2])) { - HMI_DEBUG("wm:lcc", "Receive %s", this->kEventName_[2]); + else if (strstr(name, this->kSignalName_[2])) { // Update headlamp status - json_bool headlamp = jh::getBoolFromJson(object, "value"); - if (this->headlamp_status_ != headlamp) { - this->headlamp_status_ = headlamp; - HMI_DEBUG("wm:lcc", "Update headlamp status:%d", this->headlamp_status_); - } + this->headlamp_status_ = jh::getBoolFromJson(object, "value"); + HMI_DEBUG("wm:lcc", "Update headlamp status:%d", this->headlamp_status_); } - else if (strstr(name, this->kEventName_[3])) { - HMI_DEBUG("wm:lcc", "Receive %s", this->kEventName_[3]); + else if (strstr(name, this->kSignalName_[3])) { // Update parking gear status - json_bool parking_brake = jh::getBoolFromJson(object, "value"); - if (this->parking_brake_status_ != parking_brake) { - this->parking_brake_status_ = parking_brake; - HMI_DEBUG("wm:lcc", "Update parking brake status:%d", this->parking_brake_status_); - } - } - else if (strstr(name, this->kEventName_[4])) { - HMI_DEBUG("wm:lcc", "Receive %s", this->kEventName_[4]); - // Update accelerator pedal status - double accel_pedal_pos = jh::getDoubleFromJson(object, "value"); - if (this->accel_pedal_pos_ != accel_pedal_pos) { - this->accel_pedal_pos_ = accel_pedal_pos; - HMI_DEBUG("wm:lcc", "Update accelerator pedal status:%lf", this->accel_pedal_pos_); - } - } - - // Update transmission gear position state - if (TransGearPosValN == this->trans_gear_pos_) { - this->crr_accel_pedal_state_ = "trans_gear_neutral"; - } - else { - this->crr_accel_pedal_state_ = "trans_gear_not_neutral"; - } - HMI_DEBUG("wm:lcc", "Current transmission gear state:%s", this->crr_trans_gear_state_.c_str()); - - // Update lamp state - if (true == this->headlamp_status_) { - this->crr_lamp_state_ = "lamp_on"; - } - else { - this->crr_lamp_state_ = "lamp_off"; - } - HMI_DEBUG("wm:lcc", "Current lamp state:%s", this->crr_lamp_state_.c_str()); - - // Update parking brake state - if (this->parking_brake_status_) { - this->crr_parking_brake_state_ = "parking_brake_on"; - } - else { - this->crr_parking_brake_state_ = "parking_brake_off"; - } - HMI_DEBUG("wm:lcc", "Current parking brake state:%s", this->crr_parking_brake_state_.c_str()); - - // Update accelerator pedal state - if (0 == this->accel_pedal_pos_) { - this->crr_accel_pedal_state_ = "accel_pedal_off"; - } - else { - this->crr_accel_pedal_state_ = "accel_pedal_on"; - } - HMI_DEBUG("wm:lcc", "Current accelerator pedal state:%s", this->crr_accel_pedal_state_.c_str()); - - // If transmission gear state is changed, - // backup current state for previous state and set flag - if (this->prv_trans_gear_state_ != this->crr_trans_gear_state_) { - HMI_DEBUG("wm:lcc", "Transmission Gear is changed: %s -> %s", - this->prv_trans_gear_state_.c_str(), this->crr_trans_gear_state_.c_str()); - this->prv_trans_gear_state_ = this->crr_trans_gear_state_; - this->is_changed_trans_gear_state_ = true; + this->parking_brake_status_ = jh::getBoolFromJson(object, "value"); + HMI_DEBUG("wm:lcc", "Update parking brake status:%d", this->parking_brake_status_); } + else if (strstr(name, this->kSignalName_[4])) { + // Clear flag for whether accel pedal state is changed + this->is_changed_accel_pedal_stt_ = false; - // If lamp state is changed, - // backup current state for previous state and set flag - if (this->prv_lamp_state_ != this->crr_lamp_state_) { - HMI_DEBUG("wm:lcc", "Lamp state is changed: %s -> %s", - this->prv_lamp_state_.c_str(), this->crr_lamp_state_.c_str()); - this->prv_lamp_state_ = this->crr_lamp_state_; - this->is_changed_lamp_state_ = true; - } + // Update accelerator pedal status + this->accel_pedal_pos_ = jh::getDoubleFromJson(object, "value"); + HMI_DEBUG("wm:lcc", "Update accelerator pedal position:%lf", this->accel_pedal_pos_); - // If parking brake state is changed, - // backup current state for previous state and set flag - if (this->prv_parking_brake_state_ != this->crr_parking_brake_state_) { - HMI_DEBUG("wm:lcc", "Parking Brake state is changed: %s -> %s", - this->prv_parking_brake_state_.c_str(), this->crr_parking_brake_state_.c_str()); - this->prv_parking_brake_state_ = this->crr_parking_brake_state_; - this->is_changed_parking_brake_state_ = true; - } + bool accel_pedal_stt; + if (0 != this->accel_pedal_pos_) { + accel_pedal_stt = true; + } + else { + accel_pedal_stt = false; + } - // If accelerator pedal state is changed, - // backup current state for previous state and set flag - if (this->prv_accel_pedal_state_ != this->crr_accel_pedal_state_) { - HMI_DEBUG("wm:lcc", "Accelerator Pedal is changed: %s -> %s", - this->prv_accel_pedal_state_.c_str(), this->crr_accel_pedal_state_.c_str()); - this->prv_accel_pedal_state_ = this->crr_accel_pedal_state_; - this->is_changed_accel_pedal_state_ = true; + if (accel_pedal_stt != this->accel_pedal_stt_) { + this->is_changed_accel_pedal_stt_ = true; + this->accel_pedal_stt_ = accel_pedal_stt; + } } -} -bool LowCanClient::isChangedTransGearState() { - HMI_DEBUG("wm:lcc", "Call"); - - // Return changed flag - return this->is_changed_trans_gear_state_; + return name; } -bool LowCanClient::isChangedLampState() { - HMI_DEBUG("wm:lcc", "Call"); - - // Return changed flag - return this->is_changed_lamp_state_; -} - -bool LowCanClient::isChangedParkingBrakeState() { +bool LowCanClient::isChangedAccelPedalState() { HMI_DEBUG("wm:lcc", "Call"); - // Return changed flag - return this->is_changed_parking_brake_state_; + return this->is_changed_accel_pedal_stt_; } -bool LowCanClient::isChangedAccelPedalState() { +int LowCanClient::getCurrentTransGearState() { HMI_DEBUG("wm:lcc", "Call"); - // Return changed flag - return this->is_changed_accel_pedal_state_; + return this->trans_gear_pos_; } -const char* LowCanClient::getCurrentTransGearState() { +bool LowCanClient::getCurrentHeadlampState() { HMI_DEBUG("wm:lcc", "Call"); - // Clear changed flag - this->is_changed_trans_gear_state_ = false; - - // Return current transmission gear state - return this->crr_trans_gear_state_.c_str(); + return (bool)this->headlamp_status_; } -const char* LowCanClient::getCurrentLampState() { +bool LowCanClient::getCurrentParkingBrakeState() { HMI_DEBUG("wm:lcc", "Call"); - // Clear changed flag - this->is_changed_lamp_state_ = false; - - // Return current lamp state - return this->crr_lamp_state_.c_str(); + return (bool)this->parking_brake_status_; } -const char* LowCanClient::getCurrentParkingBrakeState() { +double LowCanClient::getCurrentAccelPedalPosition() { HMI_DEBUG("wm:lcc", "Call"); - // Clear changed flag - this->is_changed_parking_brake_state_ = false; - - // Return current parking brake state - return this->crr_parking_brake_state_.c_str(); + return this->accel_pedal_pos_; } -const char* LowCanClient::getCurrentAccelPedalState() { +bool LowCanClient::getCurrentAccelPedalState() { HMI_DEBUG("wm:lcc", "Call"); - // Clear changed flag - this->is_changed_accel_pedal_state_ = false; - - // Return current accelerator pedal state - return this->crr_accel_pedal_state_.c_str(); + return this->accel_pedal_stt_; } |