pacmod_ros_msg_handler.h
Go to the documentation of this file.
1 #ifndef PACMOD_PACMOD_ROS_MSG_HANDLER_H
2 #define PACMOD_PACMOD_ROS_MSG_HANDLER_H
3 
4 /*
5 * Unpublished Copyright (c) 2009-2017 AutonomouStuff, LLC, All Rights Reserved.
6 *
7 * This file is part of the PACMod ROS 1.0 driver which is released under the MIT license.
8 * See file LICENSE included with this software or go to https://opensource.org/licenses/MIT for full license details.
9 */
10 
11 #include <pacmod_common.h>
12 
13 namespace AS
14 {
15 namespace Drivers
16 {
17 namespace PACMod
18 {
20 {
21 public:
22  LockedData();
23 
24  bool isValid() const;
25  void setIsValid(bool valid);
26 
27  std::vector<unsigned char> getData() const;
28  void setData(std::vector<unsigned char> new_data);
29 
30 private:
31  std::vector<unsigned char> _data;
32  bool _is_valid;
33  mutable std::mutex _data_mut;
34  mutable std::mutex _valid_mut;
35 };
36 
38 {
39 public:
40  void fillAndPublish(const int64_t& can_id,
41  std::string frame_id,
42  const ros::Publisher& pub,
43  const std::shared_ptr<PacmodTxMsg>& parser_class);
44 
45 private:
46  void fillSystemRptInt(const std::shared_ptr<PacmodTxMsg>& parser_class,
47  pacmod_msgs::SystemRptInt* new_msg,
48  std::string frame_id);
49  void fillSystemRptFloat(const std::shared_ptr<PacmodTxMsg>& parser_class,
50  pacmod_msgs::SystemRptFloat* new_msg,
51  std::string frame_id);
52  void fillGlobalRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
53  pacmod_msgs::GlobalRpt* new_msg,
54  std::string frame_id);
55  void fillVehicleSpeedRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
56  pacmod_msgs::VehicleSpeedRpt* new_msg,
57  std::string frame_id);
58  void fillMotorRpt1(const std::shared_ptr<PacmodTxMsg>& parser_class,
59  pacmod_msgs::MotorRpt1* new_msg,
60  std::string frame_id);
61  void fillMotorRpt2(const std::shared_ptr<PacmodTxMsg>& parser_class,
62  pacmod_msgs::MotorRpt2* new_msg,
63  std::string frame_id);
64  void fillMotorRpt3(const std::shared_ptr<PacmodTxMsg>& parser_class,
65  pacmod_msgs::MotorRpt3* new_msg,
66  std::string frame_id);
67  void fillWheelSpeedRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
68  pacmod_msgs::WheelSpeedRpt* new_msg,
69  std::string frame_id);
70  void fillSteeringPIDRpt1(const std::shared_ptr<PacmodTxMsg>& parser_class,
71  pacmod_msgs::SteeringPIDRpt1* new_msg,
72  std::string frame_id);
73  void fillSteeringPIDRpt2(const std::shared_ptr<PacmodTxMsg>& parser_class,
74  pacmod_msgs::SteeringPIDRpt2* new_msg,
75  std::string frame_id);
76  void fillSteeringPIDRpt3(const std::shared_ptr<PacmodTxMsg>& parser_class,
77  pacmod_msgs::SteeringPIDRpt3* new_msg,
78  std::string frame_id);
79  void fillParkingBrakeStatusRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
80  pacmod_msgs::ParkingBrakeStatusRpt* new_msg,
81  std::string frame_id);
82  void fillYawRateRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
83  pacmod_msgs::YawRateRpt* new_msg,
84  std::string frame_id);
85  void fillLatLonHeadingRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
86  pacmod_msgs::LatLonHeadingRpt* new_msg,
87  std::string frame_id);
88  void fillDateTimeRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
89  pacmod_msgs::DateTimeRpt* new_msg,
90  std::string frame_id);
91  void fillSteeringPIDRpt4(const std::shared_ptr<PacmodTxMsg>& parser_class,
92  pacmod_msgs::SteeringPIDRpt4* new_msg,
93  std::string frame_id);
94  void fillVinRpt(const std::shared_ptr<PacmodTxMsg>& parser_class,
95  pacmod_msgs::VinRpt* new_msg,
96  std::string frame_id);
97 };
98 
100 {
101 public:
102  static std::vector<uint8_t> unpackAndEncode(const int64_t& can_id,
103  const pacmod_msgs::PacmodCmd::ConstPtr& msg);
104  static std::vector<uint8_t> unpackAndEncode(const int64_t& can_id,
105  const pacmod_msgs::PositionWithSpeed::ConstPtr& msg);
106 };
107 } // namespace PACMod
108 } // namespace Drivers
109 } // namespace AS
110 
111 #endif // PACMOD_PACMOD_ROS_MSG_HANDLER_H
Definition: pacmod_core.h:17
std::vector< unsigned char > _data
std::vector< unsigned char > getData() const
void setData(std::vector< unsigned char > new_data)


pacmod
Author(s): Joe Driscoll , Josh Whitley
autogenerated on Fri Jun 7 2019 21:54:13