提交 ea3b5485 编写于 作者: D Dong Li 提交者: Liangliang Zhang

tools: added a fake_prediction generator tool

上级 28534079
......@@ -121,7 +121,8 @@ function generate_build_targets() {
//modules/prediction/...
//modules/routing/...
//modules/third_party_perception/...
//modules/tools/manual_traffic_light/..."
//modules/tools/manual_traffic_light/...
//modules/tools/prediction/fake_prediction/..."
# //modules/data/...
if [ $? -ne 0 ]; then
......@@ -210,6 +211,8 @@ function build() {
# fi
if [ $? -eq 0 ]; then
success 'Build passed!'
else
fail 'Build failed'
fi
}
......
load("//tools:cpplint.bzl", "cpplint")
package(default_visibility = ["//visibility:public"])
cc_binary(
name = "libfake_prediction_component.so",
srcs = [
"fake_prediction.cc",
],
linkopts = ["-shared"],
deps = [
"//external:gflags",
"//framework:cybertron",
"//modules/common/adapters:adapter_gflags",
"//modules/common/util",
"//modules/prediction/proto:prediction_proto",
],
)
cpplint()
/******************************************************************************
* Copyright 2017 The Apollo Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*****************************************************************************/
/**
* @file
*/
#include "cybertron/component/timer_component.h"
#include "cybertron/cybertron.h"
#include "modules/common/adapters/adapter_gflags.h"
#include "modules/common/util/message_util.h"
#include "modules/prediction/proto/prediction_obstacle.pb.h"
namespace apollo {
namespace prediction {
/**
* class FakePredictionComponent
* This class generates fake prediction messages. The prediction message only
* has valid headers.
*
* This tool is used to trigger modules that depends on prediction message.
*/
class FakePredictionComponent : public apollo::cybertron::TimerComponent {
public:
bool Init() override {
prediction_writer_ =
node_->CreateWriter<PredictionObstacles>(FLAGS_prediction_topic);
return true;
}
bool Proc() override {
auto prediction = std::make_shared<PredictionObstacles>();
common::util::FillHeader("fake_prediction", prediction.get());
prediction_writer_->Write(prediction);
return true;
}
private:
std::shared_ptr<apollo::cybertron::Writer<PredictionObstacles>>
prediction_writer_;
};
CYBERTRON_REGISTER_COMPONENT(FakePredictionComponent);
} // namespace prediction
} // namespace apollo
module_config {
module_library : "/apollo/bazel-bin/modules/tools/prediction/fake_prediction/libfake_prediction_component.so"
timer_components {
class_name : "FakePredictionComponent"
config {
name: "fake_prediction"
interval: 100
}
}
}
<cybertron>
<module>
<name>fake_prediction</name>
<dag_conf>/apollo/modules/tools/prediction/fake_prediction/fake_prediction.dag</dag_conf>
<process_name></process_name>
</module>
</cybertron>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册