Apollo  6.0
Open source self driving car software
Public Member Functions | Static Public Member Functions | List of all members
apollo::drivers::canbus::ProtocolData< SensorType > Class Template Reference

This is the base class of protocol data. More...

#include <protocol_data.h>

Collaboration diagram for apollo::drivers::canbus::ProtocolData< SensorType >:
Collaboration graph

Public Member Functions

 ProtocolData ()=default
 construct protocol data. More...
 
virtual ~ProtocolData ()=default
 destruct protocol data. More...
 
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 Reset ()
 

Static Public Member Functions

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

Detailed Description

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

This is the base class of protocol data.

Constructor & Destructor Documentation

◆ 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.

Member Function Documentation

◆ BoundedValue()

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

◆ 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.

Parameters
inputthe pointer to the start position of input array
lengththe length of the input array
Returns
the value of checksum

◆ GetLength()

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

◆ GetPeriod()

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

Reimplemented in apollo::canbus::lincoln::Gear66, apollo::canbus::lincoln::Steering64, apollo::canbus::lincoln::Throttle62, apollo::canbus::lincoln::Turnsignal68, apollo::canbus::lincoln::Brake60, apollo::drivers::conti_radar::MotionInputSpeed300, apollo::drivers::conti_radar::MotionInputYawRate301, apollo::drivers::conti_radar::RadarConfig200, apollo::drivers::racobit_radar::RadarConfig200, apollo::canbus::transit::Adcmotioncontrol110, apollo::canbus::transit::Adcmotioncontrollimits112, apollo::canbus::transit::Llcdiagbrakecontrol721, apollo::canbus::lexus::Cruisecontrolbuttonscmd108, apollo::canbus::transit::Adcauxiliarycontrol110, apollo::canbus::transit::Llcdiagsteeringcontrol722, 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::devkit::Brakecommand101, apollo::canbus::devkit::Gearcommand103, apollo::canbus::devkit::Parkcommand104, apollo::canbus::devkit::Steeringcommand102, apollo::canbus::devkit::Throttlecommand100, 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::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::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::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, and apollo::canbus::zhongyun::Torquecontrola3.

◆ Parse()

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

◆ Reset()

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

Reimplemented in apollo::canbus::lincoln::Turnsignal68, apollo::canbus::lincoln::Gear66, apollo::canbus::lincoln::Steering64, apollo::canbus::lincoln::Throttle62, apollo::canbus::lincoln::Brake60, apollo::drivers::conti_radar::MotionInputSpeed300, apollo::drivers::conti_radar::MotionInputYawRate301, apollo::drivers::conti_radar::RadarConfig200, apollo::drivers::racobit_radar::RadarConfig200, apollo::canbus::transit::Adcmotioncontrol110, apollo::canbus::transit::Adcmotioncontrollimits112, apollo::canbus::transit::Llcdiagbrakecontrol721, apollo::canbus::lexus::Cruisecontrolbuttonscmd108, apollo::canbus::transit::Adcauxiliarycontrol110, apollo::canbus::transit::Llcdiagsteeringcontrol722, 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::devkit::Brakecommand101, apollo::canbus::devkit::Gearcommand103, apollo::canbus::devkit::Parkcommand104, apollo::canbus::devkit::Steeringcommand102, apollo::canbus::devkit::Throttlecommand100, 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::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::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::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, and apollo::canbus::zhongyun::Torquecontrola3.

◆ UpdateData()

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

Reimplemented in apollo::canbus::lincoln::Turnsignal68, apollo::canbus::lincoln::Gear66, apollo::canbus::lincoln::Steering64, apollo::canbus::lincoln::Throttle62, apollo::canbus::lincoln::Brake60, apollo::drivers::conti_radar::MotionInputSpeed300, apollo::drivers::conti_radar::MotionInputYawRate301, apollo::drivers::conti_radar::RadarConfig200, apollo::drivers::racobit_radar::RadarConfig200, apollo::canbus::transit::Adcmotioncontrol110, apollo::canbus::transit::Adcmotioncontrollimits112, apollo::canbus::transit::Llcdiagbrakecontrol721, apollo::canbus::lexus::Cruisecontrolbuttonscmd108, apollo::canbus::transit::Adcauxiliarycontrol110, apollo::canbus::transit::Llcdiagsteeringcontrol722, 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::devkit::Brakecommand101, apollo::canbus::devkit::Gearcommand103, apollo::canbus::devkit::Parkcommand104, apollo::canbus::devkit::Steeringcommand102, apollo::canbus::devkit::Throttlecommand100, 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::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::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::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, and apollo::canbus::zhongyun::Torquecontrola3.


The documentation for this class was generated from the following file: