Revision 737bb380
ID | 737bb380f77ab8570b0481e2b93b4e72583e28a6 |
Restructured libscout.(cpp/h) so the behavior main runs in a separate file, and just calls upon libscout.cpp for initialization. This behavior function can then be swapped out or changed, and the rest of the libscout node can be precompiled so it doesn't have to be recompiled every time.
scout/libscout/src/libscout.cpp | ||
---|---|---|
32 | 32 |
* libscout |
33 | 33 |
* |
34 | 34 |
* @author Colony Project, CMU Robotics Club |
35 |
* @author Ben Wasserman |
|
35 | 36 |
**/ |
36 | 37 |
|
37 |
/* Author: Ben Wasserman |
|
38 |
*/ |
|
39 |
|
|
40 | 38 |
#include "libscout.h" |
41 | 39 |
|
42 | 40 |
/* Global objects */ |
... | ... | |
56 | 54 |
**/ |
57 | 55 |
|
58 | 56 |
/*! |
59 |
* \brief LibScout. Primary library for interfacing behaviors with scout hw. |
|
60 |
* |
|
61 |
* This is the main function for libscout. It is run when the node starts and |
|
62 |
* starts the library. It calls init() which initializes the clients and |
|
63 |
* publishers/subscribers for the other parts of the library. |
|
64 |
* |
|
65 |
* \param argc The number of command line arguments (should be 1) |
|
66 |
* \param argv The array of command line arguments |
|
67 |
**/ |
|
68 |
int main(int argc, char **argv){ |
|
69 |
ros::init(argc, argv, "libscout"); |
|
70 |
|
|
71 |
init(LIB_ALL); |
|
72 |
/** \todo remove this test code **/ |
|
73 |
// motors_set(100, MOTOR_ALL); |
|
74 |
ROS_INFO("%d", motors_query(MOTOR_FL)); |
|
75 |
|
|
76 |
return 0; |
|
77 |
} |
|
78 |
|
|
79 |
/*! |
|
80 | 57 |
* \brief Initializes modules in the libscout. |
81 | 58 |
* |
82 | 59 |
* Calls init functions for each module in libscout. |
83 | 60 |
* \param modules A bitmask of the modules that will be initialized. |
84 | 61 |
**/ |
85 |
int init(int modules){ |
|
62 |
int init(int modules, int argc, char **argv){ |
|
63 |
ros::init(argc, argv, "libscout"); |
|
64 |
|
|
86 | 65 |
/** \todo Copy this if for each module that gets added to the library */ |
87 | 66 |
if(modules & LIB_MOTORS){ |
88 | 67 |
libmotors_init(); |
Also available in: Unified diff