Skip to content

Commit

Permalink
migrate canbus/Signal to common/VehicleSignal (#63)
Browse files Browse the repository at this point in the history
  • Loading branch information
startcode authored and lianglia-apollo committed Jul 20, 2017
1 parent 4072e3f commit c5decd5
Show file tree
Hide file tree
Showing 11 changed files with 61 additions and 44 deletions.
1 change: 1 addition & 0 deletions modules/canbus/proto/BUILD
Expand Up @@ -11,6 +11,7 @@ cc_proto_library(
deps = [
"//modules/common",
"//modules/common/proto:common_proto",
"//modules/common/proto:vehicle_signal_proto",
],
)

Expand Down
17 changes: 2 additions & 15 deletions modules/canbus/proto/chassis.proto
Expand Up @@ -3,20 +3,7 @@ syntax = "proto2";
package apollo.canbus;

import "modules/common/proto/header.proto";

message Signal {
enum TurnSignal {
TURN_NONE = 0;
TURN_LEFT = 1;
TURN_RIGHT = 2;
};
optional TurnSignal turn_signal = 1;
// lights enable command
optional bool high_beam = 2;
optional bool low_beam = 3;
optional bool horn = 4;
optional bool emergency_light = 5;
}
import "modules/common/proto/vehicle_signal.proto";

// next id :28
message Chassis {
Expand Down Expand Up @@ -94,7 +81,7 @@ message Chassis {

optional int32 chassis_error_mask = 26 [default = 0];

optional Signal signal = 27;
optional apollo.common.VehicleSignal signal = 27;

// Light signals.
optional bool high_beam_signal = 14 [deprecated = true];
Expand Down
20 changes: 12 additions & 8 deletions modules/canbus/vehicle/lincoln/lincoln_controller.cc
Expand Up @@ -16,8 +16,6 @@

#include "modules/canbus/vehicle/lincoln/lincoln_controller.h"

#include "modules/common/log.h"

#include "modules/canbus/can_comm/can_sender.h"
#include "modules/canbus/vehicle/lincoln/lincoln_message_manager.h"
#include "modules/canbus/vehicle/lincoln/protocol/brake_60.h"
Expand All @@ -26,6 +24,8 @@
#include "modules/canbus/vehicle/lincoln/protocol/throttle_62.h"
#include "modules/canbus/vehicle/lincoln/protocol/turnsignal_68.h"
#include "modules/canbus/vehicle/vehicle_controller.h"
#include "modules/common/log.h"
#include "modules/common/proto/vehicle_signal.pb.h"
#include "modules/common/time/time.h"

namespace apollo {
Expand Down Expand Up @@ -218,15 +218,19 @@ Chassis LincolnController::chassis() {
if (chassis_detail.light().has_turn_light_type() &&
chassis_detail.light().turn_light_type() != Light::TURN_LIGHT_OFF) {
if (chassis_detail.light().turn_light_type() == Light::TURN_LEFT_ON) {
chassis_.mutable_signal()->set_turn_signal(Signal::TURN_LEFT);
chassis_.mutable_signal()->set_turn_signal(
common::VehicleSignal::TURN_LEFT);
} else if (chassis_detail.light().turn_light_type() ==
Light::TURN_RIGHT_ON) {
chassis_.mutable_signal()->set_turn_signal(Signal::TURN_RIGHT);
chassis_.mutable_signal()->set_turn_signal(
common::VehicleSignal::TURN_RIGHT);
} else {
chassis_.mutable_signal()->set_turn_signal(Signal::TURN_NONE);
chassis_.mutable_signal()->set_turn_signal(
common::VehicleSignal::TURN_NONE);
}
} else {
chassis_.mutable_signal()->set_turn_signal(Signal::TURN_NONE);
chassis_.mutable_signal()->set_turn_signal(
common::VehicleSignal::TURN_NONE);
}
// 18
if (chassis_detail.light().has_is_horn_on() &&
Expand Down Expand Up @@ -472,9 +476,9 @@ void LincolnController::SetHorn(const ControlCommand& command) {
void LincolnController::SetTurningSignal(const ControlCommand& command) {
// Set Turn Signal
auto signal = command.signal().turn_signal();
if (signal == Signal::TURN_LEFT) {
if (signal == common::VehicleSignal::TURN_LEFT) {
turnsignal_68_->set_turn_left();
} else if (signal == Signal::TURN_RIGHT) {
} else if (signal == common::VehicleSignal::TURN_RIGHT) {
turnsignal_68_->set_turn_right();
} else {
turnsignal_68_->set_turn_none();
Expand Down
20 changes: 10 additions & 10 deletions modules/canbus/vehicle/lincoln/lincoln_controller_test.cc
Expand Up @@ -24,6 +24,7 @@

#include "modules/canbus/proto/canbus_conf.pb.h"
#include "modules/canbus/proto/chassis.pb.h"
#include "modules/common/proto/vehicle_signal.pb.h"
#include "modules/control/proto/control_cmd.pb.h"

namespace apollo {
Expand All @@ -32,7 +33,7 @@ namespace lincoln {

using apollo::common::ErrorCode;
using apollo::control::ControlCommand;
using apollo::canbus::Signal;
using apollo::common::VehicleSignal;

class LincolnControllerTest : public ::testing::Test {
public:
Expand All @@ -50,7 +51,7 @@ class LincolnControllerTest : public ::testing::Test {
protected:
LincolnController controller_;
ControlCommand control_cmd_;
Signal signal_;
VehicleSignal vehicle_signal_;
CanSender sender_;
LincolnMessageManager msg_manager_;
CanbusConf canbus_conf_;
Expand All @@ -62,15 +63,14 @@ TEST_F(LincolnControllerTest, Init) {
EXPECT_EQ(ret, ErrorCode::OK);
}

TEST_F(LincolnControllerTest, SetDrivingMode) {
TEST_F(LincolnControllerTest, SetDrivingMode) {
Chassis chassis;
chassis.set_driving_mode(Chassis::COMPLETE_AUTO_DRIVE);

controller_.Init(params_, &sender_, &msg_manager_);
controller_.set_driving_mode(chassis.driving_mode());
EXPECT_EQ(controller_.driving_mode(), chassis.driving_mode());
EXPECT_EQ(controller_.SetDrivingMode(chassis.driving_mode()),
ErrorCode::OK);
EXPECT_EQ(controller_.SetDrivingMode(chassis.driving_mode()), ErrorCode::OK);
}

TEST_F(LincolnControllerTest, Status) {
Expand All @@ -83,19 +83,19 @@ TEST_F(LincolnControllerTest, Status) {
EXPECT_FALSE(controller_.CheckChassisError());
}

TEST_F (LincolnControllerTest, UpdateDrivingMode) {
TEST_F(LincolnControllerTest, UpdateDrivingMode) {
controller_.Init(params_, &sender_, &msg_manager_);
controller_.set_driving_mode(Chassis::COMPLETE_AUTO_DRIVE);
EXPECT_EQ(controller_.SetDrivingMode(Chassis::COMPLETE_MANUAL),
ErrorCode::OK);
ErrorCode::OK);
controller_.set_driving_mode(Chassis::COMPLETE_AUTO_DRIVE);
EXPECT_EQ(controller_.SetDrivingMode(Chassis::AUTO_STEER_ONLY),
ErrorCode::OK);
ErrorCode::OK);
controller_.set_driving_mode(Chassis::COMPLETE_AUTO_DRIVE);
EXPECT_EQ(controller_.SetDrivingMode(Chassis::AUTO_SPEED_ONLY),
ErrorCode::OK);
ErrorCode::OK);
EXPECT_EQ(controller_.SetDrivingMode(Chassis::COMPLETE_AUTO_DRIVE),
ErrorCode::CANBUS_ERROR);
ErrorCode::CANBUS_ERROR);
}

} // namespace lincoln
Expand Down
7 changes: 7 additions & 0 deletions modules/common/proto/BUILD
Expand Up @@ -20,6 +20,13 @@ cc_proto_library(
],
)

cc_proto_library(
name = "vehicle_signal_proto",
protos = [
"vehicle_signal.proto",
],
)

cc_proto_library(
name = "common_proto",
protos = [
Expand Down
17 changes: 17 additions & 0 deletions modules/common/proto/vehicle_signal.proto
@@ -0,0 +1,17 @@
syntax = "proto2";

package apollo.common;

message VehicleSignal {
enum TurnSignal {
TURN_NONE = 0;
TURN_LEFT = 1;
TURN_RIGHT = 2;
};
optional TurnSignal turn_signal = 1;
// lights enable command
optional bool high_beam = 2;
optional bool low_beam = 3;
optional bool horn = 4;
optional bool emergency_light = 5;
}
3 changes: 2 additions & 1 deletion modules/control/proto/control_cmd.proto
Expand Up @@ -3,6 +3,7 @@ package apollo.control;

import "modules/canbus/proto/chassis.proto";
import "modules/common/proto/header.proto";
import "modules/common/proto/vehicle_signal.proto";
import "modules/control/proto/pad_msg.proto";

enum TurnSignal {
Expand Down Expand Up @@ -49,7 +50,7 @@ message ControlCommand {
optional apollo.canbus.Chassis.GearPosition gear_location = 20;

optional Debug debug = 22;
optional apollo.canbus.Signal signal = 23;
optional apollo.common.VehicleSignal signal = 23;
optional LatencyStats latency_stats = 24;
optional PadMessage pad_msg = 25;

Expand Down
5 changes: 2 additions & 3 deletions modules/decision/proto/decision.proto
Expand Up @@ -4,8 +4,8 @@ package apollo.decision;

import "modules/common/proto/header.proto";
import "modules/common/proto/geometry.proto";
import "modules/common/proto/vehicle_signal.proto";
import "modules/prediction/proto/prediction_obstacle.proto";
import "modules/canbus/proto/chassis.proto";

message Range {
optional double start = 1;
Expand Down Expand Up @@ -316,7 +316,6 @@ message DecisionResult {
optional ObjectDecisions object_decision = 2;
optional MainDecision main_decision = 3;
optional Debug debug = 4;
optional apollo.common.VehicleSignal vehicle_signal = 5;
optional Stats stats = 6;
optional apollo.canbus.Signal signal = 7;
optional LightSignal light_signal = 5 [deprecated = true];
}
6 changes: 4 additions & 2 deletions modules/dreamview/backend/simulation_world_service.cc
Expand Up @@ -25,6 +25,7 @@
#include "modules/common/configs/vehicle_config_helper.h"
#include "modules/common/math/quaternion.h"
#include "modules/common/proto/geometry.pb.h"
#include "modules/common/proto/vehicle_signal.pb.h"
#include "modules/common/time/time.h"
#include "modules/dreamview/backend/trajectory_point_collector.h"
#include "modules/dreamview/proto/simulation_world.pb.h"
Expand Down Expand Up @@ -165,10 +166,11 @@ void UpdateSimulationWorld<ChassisAdapter>(const Chassis &chassis,
}
auto_driving_car->set_steering_angle(angle_percentage);

if (chassis.signal().turn_signal() == ::apollo::canbus::Signal::TURN_LEFT) {
if (chassis.signal().turn_signal() ==
::apollo::common::VehicleSignal::TURN_LEFT) {
auto_driving_car->set_current_signal("LEFT");
} else if (chassis.signal().turn_signal() ==
::apollo::canbus::Signal::TURN_RIGHT) {
::apollo::common::VehicleSignal::TURN_RIGHT) {
auto_driving_car->set_current_signal("RIGHT");
} else {
auto_driving_car->set_current_signal("");
Expand Down
2 changes: 1 addition & 1 deletion modules/dreamview/backend/simulation_world_service_test.cc
Expand Up @@ -112,7 +112,7 @@ TEST_F(InternalTest, UpdateChassisInfoTest) {
chassis.set_throttle_percentage(50);
chassis.set_brake_percentage(10);
chassis.set_steering_percentage(25);
chassis.mutable_signal()->set_turn_signal(apollo::canbus::Signal::TURN_RIGHT);
chassis.mutable_signal()->set_turn_signal(apollo::common::VehicleSignal::TURN_RIGHT);

// Commit the update.
SimulationWorld world;
Expand Down
7 changes: 3 additions & 4 deletions modules/planning/proto/planning.proto
Expand Up @@ -3,6 +3,7 @@ syntax = "proto2";
package apollo.planning;

import "modules/common/proto/header.proto";
import "modules/common/proto/vehicle_signal.proto";
import "modules/common/proto/path_point.proto";
import "modules/canbus/proto/chassis.proto";
import "modules/planning/proto/planning_internal.proto";
Expand Down Expand Up @@ -31,12 +32,10 @@ message ADCTrajectory {
repeated apollo.common.TrajectoryPoint trajectory_point = 4;
optional EStop estop = 6;
repeated apollo.common.PathPoint path_point = 7;
optional apollo.planning_internal.Debug debug = 8;
// is_replan == true mean replan triggered
optional bool is_replan = 9 [default = false];
// Specify trajectory gear
optional apollo.canbus.Chassis.GearPosition gear = 10;
optional apollo.planning_internal.Debug debug = 8;
optional apollo.canbus.Signal signal = 11;

optional ADCSignals signals = 5 [deprecated = true];
optional apollo.common.VehicleSignal signal = 11;
}

0 comments on commit c5decd5

Please sign in to comment.