25#include "modules/canbus/proto/canbus_conf.pb.h"
26#include "modules/canbus/proto/vehicle_parameter.pb.h"
27#include "modules/canbus_vehicle/ch/proto/ch.pb.h"
28#include "modules/common_msgs/control_msgs/control_cmd.pb.h"
71 bool Start()
override;
112 std::unique_ptr<VehicleController<::apollo::canbus::Ch>>
113 CreateVehicleController();
119 std::unique_ptr<MessageManager<::apollo::canbus::Ch>> CreateMessageManager();
121 std::unique_ptr<::apollo::cyber::Node> node_ =
nullptr;
122 std::unique_ptr<apollo::drivers::canbus::CanClient> can_client_;
123 CanSender<::apollo::canbus::Ch> can_sender_;
125 std::unique_ptr<MessageManager<::apollo::canbus::Ch>> message_manager_;
126 std::unique_ptr<VehicleController<::apollo::canbus::Ch>> vehicle_controller_;
128 std::shared_ptr<::apollo::cyber::Writer<::apollo::canbus::Ch>>
129 chassis_detail_writer_;
130 std::shared_ptr<::apollo::cyber::Writer<::apollo::canbus::Ch>>
131 chassis_detail_sender_writer_;
#define CYBER_REGISTER_VEHICLEFACTORY(name)
Defines the CanFrame struct and CanClient interface.
Defines CanReceiver class.
Defines SenderMessage class and CanSender class.
the class of ChMessageManager
this class is the abstract factory following the AbstractFactory design pattern.
this class is inherited from AbstractVehicleFactory.
bool Init(const CanbusConf *canbus_conf) override
init vehicle factory
void Stop() override
stop canclient, cansender, canreceiver, vehicle controller
bool Start() override
start canclient, cansender, canreceiver, vehicle controller
void PublishChassisDetail() override
publish chassis for vehicle messages
Chassis publish_chassis() override
publish chassis messages
void PublishChassisDetailSender() override
publish chassis for apollo sender messages
void UpdateCommand(const apollo::control::ControlCommand *control_command) override
update control command
virtual ~ChVehicleFactory()=default
destructor
bool CheckChassisCommunicationFault() override
check chassis can receiver lost
The class of MessageManager
The class of VehicleController