Skip to content

Commit fb38aec

Browse files
committed
🎨 added example subscriber
1 parent 82e35ff commit fb38aec

File tree

3 files changed

+199
-6
lines changed

3 files changed

+199
-6
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,3 @@ It is possible that the ports being used (user vs. system) got switched around,
9292
and need to reset.
9393

9494
This project is similar to [Rosserial Arduino](http://wiki.ros.org/rosserial_arduino/Tutorials) in usage, so refer to these tutorials for even more information.
95-

include/ros_lib/api.h

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
#pragma once
2+
3+
#include "ros_lib/ros.h"
4+
5+
//actionlib
6+
//TODO: ADD IN INCLUDES
7+
8+
//actionlib_msgs
9+
//TODO: ADD IN INCLUDES
10+
11+
//actionlib_tutorials
12+
//maybe not include in api?
13+
14+
//bond
15+
//TODO: ADD IN INCLUDES
16+
17+
//control_msgs
18+
//TODO: ADD IN INCLUDES
19+
20+
//control_toolbox
21+
//TODO: ADD IN INCLUDES
22+
23+
//controller_manager
24+
//TODO: ADD IN INCLUDES
25+
26+
//diagnostic_msgs
27+
//TODO: ADD IN INCLUDES
28+
29+
//dynamic_reconfigure
30+
//TODO: ADD IN INCLUDES
31+
32+
//gazebo_msgs
33+
//TODO: ADD IN INCLUDES
34+
35+
//geometry_msgs
36+
#include "ros_lib/geometry_msgs/Accel.h"
37+
#include "ros_lib/geometry_msgs/AccelStamped.h"
38+
#include "ros_lib/geometry_msgs/AccelWithCovariance.h"
39+
#include "ros_lib/geometry_msgs/AccelWithCovarianceStamped.h"
40+
#include "ros_lib/geometry_msgs/Inertia.h"
41+
#include "ros_lib/geometry_msgs/InertiaStamped.h"
42+
#include "ros_lib/geometry_msgs/Point.h"
43+
#include "ros_lib/geometry_msgs/Point32.h"
44+
#include "ros_lib/geometry_msgs/PointStamped.h"
45+
#include "ros_lib/geometry_msgs/Polygon.h"
46+
#include "ros_lib/geometry_msgs/PolygonStamped.h"
47+
#include "ros_lib/geometry_msgs/Pose.h"
48+
#include "ros_lib/geometry_msgs/Pose2D.h"
49+
#include "ros_lib/geometry_msgs/PoseStamped.h"
50+
#include "ros_lib/geometry_msgs/PoseWithCovariance.h"
51+
#include "ros_lib/geometry_msgs/PoseWithCovarianceStamped.h"
52+
#include "ros_lib/geometry_msgs/Quaternion.h"
53+
#include "ros_lib/geometry_msgs/QuaternionStamped.h"
54+
#include "ros_lib/geometry_msgs/Transform.h"
55+
#include "ros_lib/geometry_msgs/TransformStamped.h"
56+
#include "ros_lib/geometry_msgs/Twist.h"
57+
#include "ros_lib/geometry_msgs/TwistStamped.h"
58+
#include "ros_lib/geometry_msgs/TwistWithCovariance.h"
59+
#include "ros_lib/geometry_msgs/TwistWithCovarianceStamped.h"
60+
#include "ros_lib/geometry_msgs/Vector3.h"
61+
#include "ros_lib/geometry_msgs/Vector3Stamped.h"
62+
#include "ros_lib/geometry_msgs/Wrench.h"
63+
#include "ros_lib/geometry_msgs/WrenchStamped.h"
64+
65+
//laser_assembler
66+
//TODO: ADD IN INCLUDES
67+
68+
//map_msgs
69+
//TODO: ADD IN INCLUDES
70+
71+
//nav_msgs
72+
//TODO: ADD IN INCLUDES
73+
74+
//nodelet
75+
//TODO: ADD IN INCLUDES
76+
77+
//pcl_msgs
78+
//TODO: ADD IN INCLUDES
79+
80+
//polled_camera
81+
//TODO: ADD IN INCLUDES
82+
83+
//ros
84+
#include "ros_lib/ros/duration.h"
85+
#include "ros_lib/ros/msg.h"
86+
#include "ros_lib/ros/node_handle.h"
87+
#include "ros_lib/ros/service_client.h"
88+
#include "ros_lib/ros/service_server.h"
89+
#include "ros_lib/ros/subscriber.h"
90+
#include "ros_lib/ros/time.h"
91+
92+
//roscpp
93+
#include "ros_lib/roscpp/Empty.h"
94+
#include "ros_lib/roscpp/GetLoggers.h"
95+
#include "ros_lib/roscpp/Logger.h"
96+
#include "ros_lib/roscpp/SetLoggerLevel.h"
97+
98+
//roscpp_tutorials
99+
//maybe not include in api?
100+
101+
//rospy_tutorials
102+
//TODO: ADD IN INCLUDES
103+
104+
//rosserial_arduino
105+
//TODO: ADD IN INCLUDES
106+
107+
//rosserial_mbed
108+
//TODO: ADD IN INCLUDES
109+
110+
//rosserial_msgs
111+
//TODO: ADD IN INCLUDES
112+
113+
//rosserial_vex_v5
114+
#include "ros_lib/rosserial_vex_v5/utils/RingBuf.h"
115+
#include "ros_lib/rosserial_vex_v5/utils/RingBufHelpers.h"
116+
117+
//sensor_msgs
118+
//TODO: ADD IN INCLUDES
119+
120+
//shape_msgs
121+
//TODO: ADD IN INCLUDES
122+
123+
//smach_msgs
124+
//TODO: ADD IN INCLUDES
125+
126+
//std_msgs
127+
#include "ros_lib/std_msgs/Bool.h"
128+
#include "ros_lib/std_msgs/Byte.h"
129+
#include "ros_lib/std_msgs/ByteMultiArray.h"
130+
#include "ros_lib/std_msgs/Char.h"
131+
#include "ros_lib/std_msgs/ColorRGBA.h"
132+
#include "ros_lib/std_msgs/Duration.h"
133+
#include "ros_lib/std_msgs/Empty.h"
134+
#include "ros_lib/std_msgs/Float32.h"
135+
#include "ros_lib/std_msgs/Float32MultiArray.h"
136+
#include "ros_lib/std_msgs/Float64.h"
137+
#include "ros_lib/std_msgs/Float64MultiArray.h"
138+
#include "ros_lib/std_msgs/Header.h"
139+
#include "ros_lib/std_msgs/Int8.h"
140+
#include "ros_lib/std_msgs/Int8MultiArray.h"
141+
#include "ros_lib/std_msgs/Int16.h"
142+
#include "ros_lib/std_msgs/Int16MultiArray.h"
143+
#include "ros_lib/std_msgs/Int32.h"
144+
#include "ros_lib/std_msgs/Int32MultiArray.h"
145+
#include "ros_lib/std_msgs/Int64.h"
146+
#include "ros_lib/std_msgs/Int64MultiArray.h"
147+
#include "ros_lib/std_msgs/MultiArrayDimension.h"
148+
#include "ros_lib/std_msgs/MultiArrayLayout.h"
149+
#include "ros_lib/std_msgs/String.h"
150+
#include "ros_lib/std_msgs/Time.h"
151+
#include "ros_lib/std_msgs/UInt8.h"
152+
#include "ros_lib/std_msgs/UInt8MultiArray.h"
153+
#include "ros_lib/std_msgs/UInt16.h"
154+
#include "ros_lib/std_msgs/UInt16MultiArray.h"
155+
#include "ros_lib/std_msgs/UInt32.h"
156+
#include "ros_lib/std_msgs/UInt32MultiArray.h"
157+
#include "ros_lib/std_msgs/UInt64.h"
158+
#include "ros_lib/std_msgs/UInt64MultiArray.h"
159+
160+
//std_srs
161+
//TODO: ADD IN INCLUDES
162+
163+
//stereo_msgs
164+
//TODO: ADD IN INCLUDES
165+
166+
//tf
167+
//TODO: ADD IN INCLUDES
168+
169+
//tf2_msgs
170+
//TODO: ADD IN INCLUDES
171+
172+
//theora_imagine_transport
173+
//TODO: ADD IN INCLUDES
174+
175+
//topic_tools
176+
//TODO: ADD IN INCLUDES
177+
178+
//turtle_actionlib
179+
//TODO: ADD IN INCLUDES
180+
181+
//turtlesim
182+
//TODO: ADD IN INCLUDES
183+
184+
//visulation_msgs
185+
//TODO: ADD IN INCLUDES

src/main.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
#include "main.h"
2-
#include "ros_lib/rosserial_vex_v5/examples/helloworld.h"
2+
#include "ros_lib/api.h"
3+
#include "ros_lib/sensor_msgs/Joy.h"
34

4-
#include "ros_lib/ros.h"
5-
#include "ros_lib/std_msgs/String.h"
5+
#include <iostream>
66

77
void initialize() {}
88
void autonomous() {}
99
void disabled() {}
1010
void competition_initialize() {}
1111

12+
void subCallback(const std_msgs::Bool& isBool){
13+
//do stuff here
14+
std::cout << "bool " << isBool.data << "\n";
15+
}
16+
1217
void opcontrol() {
1318
// debug logging
1419
// make a node handle object, string message, and publisher for that message.
@@ -20,6 +25,10 @@ void opcontrol() {
2025
nh.initNode();
2126
nh.advertise(chatter);
2227

28+
// set up a subscriber
29+
ros::Subscriber<std_msgs::Bool> sub("bool_msgs", &subCallback);
30+
nh.subscribe(sub);
31+
2332
// message data variable.
2433
char* msg = (char*) malloc(20 * sizeof(char));
2534

@@ -28,7 +37,7 @@ void opcontrol() {
2837
sprintf(msg, "[%d] Hello there!!", (int) pros::c::millis());
2938
str_msg.data = msg;
3039
chatter.publish( &str_msg );
31-
nh.spinOnce();
32-
delay(20);
40+
nh.spinOnce();
41+
delay(20);
3342
}
3443
}

0 commit comments

Comments
 (0)