Project

General

Profile

Revision 737bb380

ID737bb380f77ab8570b0481e2b93b4e72583e28a6

Added by Ben Wasserman almost 5 years ago

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.

View differences:

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