aboutsummaryrefslogtreecommitdiffstats
path: root/src/low_can_client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/low_can_client.cpp')
-rw-r--r--src/low_can_client.cpp205
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_;
}