Apollo 10.0
自动驾驶开放平台
apollo::drivers::canbus::ProtocolData< SensorType > 模板类 参考

This is the base class of protocol data. 更多...

#include <protocol_data.h>

apollo::drivers::canbus::ProtocolData< SensorType > 的协作图:

Public 成员函数

 ProtocolData ()=default
 construct protocol data.
 
virtual ~ProtocolData ()=default
 destruct protocol data.
 
virtual uint32_t GetPeriod () const
 
virtual int32_t GetLength () const
 
virtual void Parse (const uint8_t *bytes, int32_t length, SensorType *sensor_data) const
 
virtual void UpdateData (uint8_t *data)
 
virtual void UpdateData_Heartbeat (uint8_t *data)
 
virtual void Reset ()
 

静态 Public 成员函数

static std::uint8_t CalculateCheckSum (const uint8_t *input, const uint32_t length)
 static function, used to calculate the checksum of input array.
 
template<typename T >
static T BoundedValue (T lower, T upper, T val)
 

详细描述

template<typename SensorType>
class apollo::drivers::canbus::ProtocolData< SensorType >

This is the base class of protocol data.

在文件 protocol_data.h44 行定义.

构造及析构函数说明

◆ ProtocolData()

template<typename SensorType >
apollo::drivers::canbus::ProtocolData< SensorType >::ProtocolData ( )
default

construct protocol data.

◆ ~ProtocolData()

template<typename SensorType >
virtual apollo::drivers::canbus::ProtocolData< SensorType >::~ProtocolData ( )
virtualdefault

destruct protocol data.

成员函数说明

◆ BoundedValue()

template<typename SensorType >
template<typename T >
T apollo::drivers::canbus::ProtocolData< SensorType >::BoundedValue ( lower,
upper,
val 
)
static

在文件 protocol_data.h112 行定义.

112 {
113 if (lower > upper) {
114 return val;
115 }
116 if (val < lower) {
117 return lower;
118 }
119 if (val > upper) {
120 return upper;
121 }
122 return val;
123}

◆ CalculateCheckSum()

template<typename SensorType >
uint8_t apollo::drivers::canbus::ProtocolData< SensorType >::CalculateCheckSum ( const uint8_t *  input,
const uint32_t  length 
)
static

static function, used to calculate the checksum of input array.

参数
inputthe pointer to the start position of input array
lengththe length of the input array
返回
the value of checksum

在文件 protocol_data.h127 行定义.

128 {
129 return static_cast<uint8_t>(std::accumulate(input, input + length, 0) ^ 0xFF);
130}

◆ GetLength()

template<typename SensorType >
int32_t apollo::drivers::canbus::ProtocolData< SensorType >::GetLength ( ) const
virtual

在文件 protocol_data.h139 行定义.

139 {
140 return data_length_;
141}

◆ GetPeriod()

template<typename SensorType >
uint32_t apollo::drivers::canbus::ProtocolData< SensorType >::GetPeriod ( ) const
virtual

apollo::canbus::lincoln::Gear66, apollo::canbus::lincoln::Steering64, apollo::canbus::lincoln::Throttle62, apollo::canbus::lincoln::Turnsignal68, apollo::canbus::ch::Brakecommand111, apollo::canbus::ch::Controlcommand115, apollo::canbus::ch::Gearcommand114, apollo::canbus::ch::Steercommand112, apollo::canbus::ch::Throttlecommand110, apollo::canbus::ch::Turnsignalcommand113, apollo::canbus::ch::Vehiclemodecommand116, apollo::canbus::demo::Brakecommand101, apollo::canbus::demo::Gearcommand103, apollo::canbus::demo::Parkcommand104, apollo::canbus::demo::Steeringcommand102, apollo::canbus::demo::Throttlecommand100, apollo::canbus::demo::Vehiclemodecommand105, apollo::canbus::devkit::Brakecommand101, apollo::canbus::devkit::Gearcommand103, apollo::canbus::devkit::Parkcommand104, apollo::canbus::devkit::Steeringcommand102, apollo::canbus::devkit::Throttlecommand100, apollo::canbus::devkit::Vehiclemodecommand105, apollo::canbus::ge3::Pcbcm201, apollo::canbus::ge3::Pcbcs202, apollo::canbus::ge3::Pcepb203, apollo::canbus::ge3::Pceps204, apollo::canbus::ge3::Pcvcu205, apollo::canbus::gem::Accelcmd67, apollo::canbus::gem::Brakecmd6b, apollo::canbus::gem::Globalcmd69, apollo::canbus::gem::Headlightcmd76, apollo::canbus::gem::Horncmd78, apollo::canbus::gem::Shiftcmd65, apollo::canbus::gem::Steeringcmd6d, apollo::canbus::gem::Turncmd63, apollo::canbus::gem::Wipercmd90, apollo::canbus::lexus::Accelcmd100, apollo::canbus::lexus::Brakecmd104, apollo::canbus::lexus::Cruisecontrolbuttonscmd108, apollo::canbus::lexus::Dashcontrolsrightrpt210, apollo::canbus::lexus::Hazardlightscmd114, apollo::canbus::lexus::Headlightcmd118, apollo::canbus::lexus::Horncmd11c, apollo::canbus::lexus::Parkingbrakecmd124, apollo::canbus::lexus::Shiftcmd128, apollo::canbus::lexus::Steeringcmd12c, apollo::canbus::lexus::Turncmd130, apollo::canbus::lexus::Wipercmd134, apollo::canbus::lincoln::Brake60, apollo::canbus::neolix_edu::Adsbrakecommand46, apollo::canbus::neolix_edu::Adsdiagnosis628, apollo::canbus::neolix_edu::Adsdrivecommand50, apollo::canbus::neolix_edu::Adsepscommand56, apollo::canbus::neolix_edu::Adslighthorncommand310, apollo::canbus::transit::Adcauxiliarycontrol110, apollo::canbus::transit::Adcmotioncontrol110, apollo::canbus::transit::Adcmotioncontrollimits112, apollo::canbus::transit::Llcdiagbrakecontrol721, apollo::canbus::transit::Llcdiagsteeringcontrol722, apollo::canbus::wey::Ads1111, apollo::canbus::wey::Ads338e, apollo::canbus::wey::Adseps113, apollo::canbus::wey::Adsreqvin390, apollo::canbus::wey::Adsshifter115, apollo::canbus::zhongyun::Brakecontrola4, apollo::canbus::zhongyun::Gearcontrola1, apollo::canbus::zhongyun::Parkingcontrola5, apollo::canbus::zhongyun::Steeringcontrola2, apollo::canbus::zhongyun::Torquecontrola3, apollo::drivers::conti_radar::MotionInputSpeed300, apollo::drivers::conti_radar::MotionInputYawRate301, apollo::drivers::conti_radar::RadarConfig200, apollo::drivers::nano_radar::RadarConfig200, apollo::drivers::nano_radar::RegionConfig401 , 以及 apollo::drivers::racobit_radar::RadarConfig200 重载.

在文件 protocol_data.h133 行定义.

133 {
134 const uint32_t CONST_PERIOD = 100 * 1000;
135 return CONST_PERIOD;
136}

◆ Parse()

template<typename SensorType >
void apollo::drivers::canbus::ProtocolData< SensorType >::Parse ( const uint8_t *  bytes,
int32_t  length,
SensorType *  sensor_data 
) const
virtual

在文件 protocol_data.h144 行定义.

145 {}

◆ Reset()

template<typename SensorType >
void apollo::drivers::canbus::ProtocolData< SensorType >::Reset ( )
virtual

apollo::canbus::lincoln::Gear66, apollo::canbus::lincoln::Steering64, apollo::canbus::lincoln::Throttle62, apollo::canbus::lincoln::Turnsignal68, apollo::canbus::ch::Brakecommand111, apollo::canbus::ch::Controlcommand115, apollo::canbus::ch::Gearcommand114, apollo::canbus::ch::Steercommand112, apollo::canbus::ch::Throttlecommand110, apollo::canbus::ch::Turnsignalcommand113, apollo::canbus::ch::Vehiclemodecommand116, apollo::canbus::demo::Brakecommand101, apollo::canbus::demo::Gearcommand103, apollo::canbus::demo::Parkcommand104, apollo::canbus::demo::Steeringcommand102, apollo::canbus::demo::Throttlecommand100, apollo::canbus::demo::Vehiclemodecommand105, apollo::canbus::devkit::Brakecommand101, apollo::canbus::devkit::Gearcommand103, apollo::canbus::devkit::Parkcommand104, apollo::canbus::devkit::Steeringcommand102, apollo::canbus::devkit::Throttlecommand100, apollo::canbus::devkit::Vehiclemodecommand105, apollo::canbus::ge3::Pcbcm201, apollo::canbus::ge3::Pcbcs202, apollo::canbus::ge3::Pcepb203, apollo::canbus::ge3::Pceps204, apollo::canbus::ge3::Pcvcu205, apollo::canbus::gem::Accelcmd67, apollo::canbus::gem::Brakecmd6b, apollo::canbus::gem::Globalcmd69, apollo::canbus::gem::Headlightcmd76, apollo::canbus::gem::Horncmd78, apollo::canbus::gem::Shiftcmd65, apollo::canbus::gem::Steeringcmd6d, apollo::canbus::gem::Turncmd63, apollo::canbus::gem::Wipercmd90, apollo::canbus::lexus::Accelcmd100, apollo::canbus::lexus::Brakecmd104, apollo::canbus::lexus::Cruisecontrolbuttonscmd108, apollo::canbus::lexus::Dashcontrolsrightrpt210, apollo::canbus::lexus::Hazardlightscmd114, apollo::canbus::lexus::Headlightcmd118, apollo::canbus::lexus::Horncmd11c, apollo::canbus::lexus::Parkingbrakecmd124, apollo::canbus::lexus::Shiftcmd128, apollo::canbus::lexus::Steeringcmd12c, apollo::canbus::lexus::Turncmd130, apollo::canbus::lexus::Wipercmd134, apollo::canbus::lincoln::Brake60, apollo::canbus::neolix_edu::Adsbrakecommand46, apollo::canbus::neolix_edu::Adsdiagnosis628, apollo::canbus::neolix_edu::Adsdrivecommand50, apollo::canbus::neolix_edu::Adsepscommand56, apollo::canbus::neolix_edu::Adslighthorncommand310, apollo::canbus::transit::Adcauxiliarycontrol110, apollo::canbus::transit::Adcmotioncontrol110, apollo::canbus::transit::Adcmotioncontrollimits112, apollo::canbus::transit::Llcdiagbrakecontrol721, apollo::canbus::transit::Llcdiagsteeringcontrol722, apollo::canbus::wey::Ads1111, apollo::canbus::wey::Ads338e, apollo::canbus::wey::Adseps113, apollo::canbus::wey::Adsreqvin390, apollo::canbus::wey::Adsshifter115, apollo::canbus::zhongyun::Brakecontrola4, apollo::canbus::zhongyun::Gearcontrola1, apollo::canbus::zhongyun::Parkingcontrola5, apollo::canbus::zhongyun::Steeringcontrola2, apollo::canbus::zhongyun::Torquecontrola3, apollo::drivers::conti_radar::MotionInputSpeed300, apollo::drivers::conti_radar::MotionInputYawRate301, apollo::drivers::conti_radar::RadarConfig200, apollo::drivers::nano_radar::RadarConfig200, apollo::drivers::nano_radar::RegionConfig401 , 以及 apollo::drivers::racobit_radar::RadarConfig200 重载.

在文件 protocol_data.h154 行定义.

154{}

◆ UpdateData()

template<typename SensorType >
void apollo::drivers::canbus::ProtocolData< SensorType >::UpdateData ( uint8_t *  data)
virtual

apollo::canbus::lincoln::Gear66, apollo::canbus::lincoln::Steering64, apollo::canbus::lincoln::Throttle62, apollo::canbus::lincoln::Turnsignal68, apollo::canbus::ch::Brakecommand111, apollo::canbus::ch::Controlcommand115, apollo::canbus::ch::Gearcommand114, apollo::canbus::ch::Steercommand112, apollo::canbus::ch::Throttlecommand110, apollo::canbus::ch::Turnsignalcommand113, apollo::canbus::ch::Vehiclemodecommand116, apollo::canbus::demo::Brakecommand101, apollo::canbus::demo::Gearcommand103, apollo::canbus::demo::Parkcommand104, apollo::canbus::demo::Steeringcommand102, apollo::canbus::demo::Throttlecommand100, apollo::canbus::demo::Vehiclemodecommand105, apollo::canbus::devkit::Brakecommand101, apollo::canbus::devkit::Gearcommand103, apollo::canbus::devkit::Parkcommand104, apollo::canbus::devkit::Steeringcommand102, apollo::canbus::devkit::Throttlecommand100, apollo::canbus::devkit::Vehiclemodecommand105, apollo::canbus::ge3::Pcbcm201, apollo::canbus::ge3::Pcbcs202, apollo::canbus::ge3::Pcepb203, apollo::canbus::ge3::Pceps204, apollo::canbus::ge3::Pcvcu205, apollo::canbus::gem::Accelcmd67, apollo::canbus::gem::Brakecmd6b, apollo::canbus::gem::Globalcmd69, apollo::canbus::gem::Headlightcmd76, apollo::canbus::gem::Horncmd78, apollo::canbus::gem::Shiftcmd65, apollo::canbus::gem::Steeringcmd6d, apollo::canbus::gem::Turncmd63, apollo::canbus::gem::Wipercmd90, apollo::canbus::lexus::Accelcmd100, apollo::canbus::lexus::Brakecmd104, apollo::canbus::lexus::Cruisecontrolbuttonscmd108, apollo::canbus::lexus::Dashcontrolsrightrpt210, apollo::canbus::lexus::Hazardlightscmd114, apollo::canbus::lexus::Headlightcmd118, apollo::canbus::lexus::Horncmd11c, apollo::canbus::lexus::Parkingbrakecmd124, apollo::canbus::lexus::Shiftcmd128, apollo::canbus::lexus::Steeringcmd12c, apollo::canbus::lexus::Turncmd130, apollo::canbus::lexus::Wipercmd134, apollo::canbus::lincoln::Brake60, apollo::canbus::neolix_edu::Adsbrakecommand46, apollo::canbus::neolix_edu::Adsdiagnosis628, apollo::canbus::neolix_edu::Adsdrivecommand50, apollo::canbus::neolix_edu::Adsepscommand56, apollo::canbus::neolix_edu::Adslighthorncommand310, apollo::canbus::transit::Adcauxiliarycontrol110, apollo::canbus::transit::Adcmotioncontrol110, apollo::canbus::transit::Adcmotioncontrollimits112, apollo::canbus::transit::Llcdiagbrakecontrol721, apollo::canbus::transit::Llcdiagsteeringcontrol722, apollo::canbus::wey::Ads1111, apollo::canbus::wey::Ads338e, apollo::canbus::wey::Adseps113, apollo::canbus::wey::Adsreqvin390, apollo::canbus::wey::Adsshifter115, apollo::canbus::zhongyun::Brakecontrola4, apollo::canbus::zhongyun::Gearcontrola1, apollo::canbus::zhongyun::Parkingcontrola5, apollo::canbus::zhongyun::Steeringcontrola2, apollo::canbus::zhongyun::Torquecontrola3, apollo::drivers::conti_radar::MotionInputSpeed300, apollo::drivers::conti_radar::MotionInputYawRate301, apollo::drivers::conti_radar::RadarConfig200, apollo::drivers::nano_radar::RadarConfig200, apollo::drivers::nano_radar::RegionConfig401 , 以及 apollo::drivers::racobit_radar::RadarConfig200 重载.

在文件 protocol_data.h148 行定义.

148{}

◆ UpdateData_Heartbeat()


该类的文档由以下文件生成: