JoystickDemo.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2018-2019 New Eagle
5  * Copyright (c) 2015-2018, Dataspeed Inc.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer in the documentation and/or other materials provided
17  * with the distribution.
18  * * Neither the name of Dataspeed Inc. nor the names of its
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  *********************************************************************/
35 
36 #ifndef JOYSTICKDEMO_H_
37 #define JOYSTICKDEMO_H_
38 
39 #include <ros/ros.h>
40 #include <sensor_msgs/Joy.h>
41 #include <std_msgs/Empty.h>
42 
43 #include <dbw_pacifica_msgs/AcceleratorPedalCmd.h>
44 #include <dbw_pacifica_msgs/BrakeCmd.h>
45 #include <dbw_pacifica_msgs/SteeringCmd.h>
46 #include <dbw_pacifica_msgs/GearCmd.h>
47 #include <dbw_pacifica_msgs/MiscCmd.h>
48 #include <dbw_pacifica_msgs/GlobalEnableCmd.h>
49 
50 namespace joystick_demo
51 {
52 
53 typedef struct {
55  float brake_joy;
57  float steering_joy;
59  int gear_cmd;
65 
66 class JoystickDemo {
67 public:
69 private:
70  void recvJoy(const sensor_msgs::Joy::ConstPtr& msg);
71  void cmdCallback(const ros::TimerEvent& event);
72 
73  // Topics
83  // Parameters
84  bool ignore_; // Ignore driver overrides
85  bool enable_; // Use enable and disable buttons
86  bool count_; // Increment counter to enable watchdog
87  double svel_; // Steering command speed
88 
89  // Variables
92  sensor_msgs::Joy joy_;
93  uint8_t counter_;
94 
95  enum {
96  BTN_PARK = 3,
99  BTN_DRIVE = 0,
104  BTN_COUNT = 11,
111  };
112 };
113 
114 }
115 
116 #endif /* JOYSTICKDEMO_H_ */
msg
ros::Publisher pub_enable_
Definition: JoystickDemo.h:80
JoystickDemo(ros::NodeHandle &node, ros::NodeHandle &priv_nh)
ros::Publisher pub_global_enable_
Definition: JoystickDemo.h:82
JoystickDataStruct data_
Definition: JoystickDemo.h:91
ros::Subscriber sub_joy_
Definition: JoystickDemo.h:74
ros::Publisher pub_steering_
Definition: JoystickDemo.h:77
void recvJoy(const sensor_msgs::Joy::ConstPtr &msg)
void cmdCallback(const ros::TimerEvent &event)
ros::Publisher pub_accelerator_pedal_
Definition: JoystickDemo.h:75
ros::Publisher pub_disable_
Definition: JoystickDemo.h:81


dbw_pacifica_joystick_speed_demo
Author(s): Jane Doe
autogenerated on Fri Mar 20 2020 03:31:43