25#include "modules/canbus/proto/vehicle_parameter.pb.h"
26#include "modules/common_msgs/control_msgs/control_cmd.pb.h"
135#define CYBER_REGISTER_VEHICLEFACTORY(name) \
136 CLASS_LOADER_REGISTER_CLASS(name, AbstractVehicleFactory)
this class is the abstract factory following the AbstractFactory design pattern.
virtual Chassis::DrivingMode Driving_Mode()
get chassis driving mode
virtual void AddSendProtocol()
add send protocol message
virtual Chassis publish_chassis()=0
publish chassis messages
virtual void Stop()=0
stop canclient, cansender, canreceiver, vehicle controller
virtual bool Init(const CanbusConf *canbus_conf)=0
init vehicle factory
virtual void ClearSendProtocol()
clear send protocol message, make a sender can error
virtual void PublishChassisDetailSender()
publish chassis for vehicle messages
virtual void UpdateCommand(const ChassisCommand *chassis_command)=0
update chassis command
virtual void UpdateHeartbeat()
create cansender heartbeat
virtual void UpdateCommand(const ControlCommand *control_command)=0
update control command
void SetVehicleParameter(const VehicleParameter &vehicle_paramter)
set VehicleParameter.
virtual void PublishChassisDetail()=0
publish chassis for vehicle messages
virtual bool Start()=0
start canclient, cansender, canreceiver, vehicle controller
virtual ~AbstractVehicleFactory()=default
destructor
virtual bool CheckChassisCommunicationFault()
check chassis detail communication fault
virtual bool IsSendProtocolClear()
check send protocol message whether is clear or not
The class of MessageManager
The class of VehicleController