00001 /* 00002 * dish_viz.h 00003 * Copyright 2013 University of Massachusetts Lowell 00004 * Authors: Abraham Shultz, Jonathan Hasenzahl 00005 */ 00006 00007 #ifndef DISH_VIZ_H 00008 #define DISH_VIZ_H 00009 00010 #include "ros/ros.h" 00011 #include "dish_viz/DishVisualizer.h" 00012 #include "neuro_recv/dish_state.h" 00013 #include "burst_calc/ca.h" 00014 #include "burst_calc/burst.h" 00015 #include "burst_calc/ranges.h" 00016 #include <queue> 00017 #include <string> 00018 00031 class DataHandler 00032 { 00033 public: 00034 DataHandler() { init(); } 00035 00036 private: 00037 void init(); 00038 void getParams(); 00039 void run(); 00040 void plotCa(); 00041 void updateMinMax(const neuro_recv::dish_state& d); 00042 void dishCallback(const neuro_recv::dish_state::ConstPtr& d); 00043 void caCallback(const burst_calc::ca::ConstPtr& c); 00044 void burstCallback(const burst_calc::burst::ConstPtr& b); 00045 void rangesCallback(const burst_calc::ranges::ConstPtr& r); 00046 00047 ros::NodeHandle n_; 00048 ros::Subscriber dish_sub_; 00049 ros::Subscriber ca_sub_; 00050 ros::Subscriber burst_sub_; 00051 ros::Subscriber ranges_sub_; 00052 ros::ServiceClient time_client_; 00053 00054 DishVisualizer dviz_; 00055 std::queue<neuro_recv::dish_state> queue_; 00056 std::queue<burst_calc::ca> cas_; 00057 int loop_rate_; 00058 int color_mode_; 00059 bool start_; 00060 }; 00061 00062 #endif