00001 /* 00002 * csv_recv.h 00003 * Copyright 2013 University of Massachusetts Lowell 00004 * Author: Jonathan Hasenzahl 00005 */ 00006 00007 #ifndef CSV_RECEIVER_H_ 00008 #define CSV_RECEIVER_H_ 00009 00010 #include "ros/ros.h" 00011 #include "neuro_recv/dish_state.h" 00012 #include <string> 00013 #include <fstream> 00014 00024 class CsvReceiver 00025 { 00026 public: 00027 CsvReceiver() { init(); } 00028 00029 private: 00030 void init(); 00031 bool getParams(); 00032 void initPubs(); 00033 void publishBuffer(); 00034 void publish(); 00035 const neuro_recv::dish_state parse(const std::string&, bool record_time); 00036 00037 ros::NodeHandle n_; 00038 ros::Publisher dish_pub_volt_; 00039 ros::Publisher dish_pub_viz_; 00040 ros::Publisher dish_pub_burst_; 00041 ros::Duration offset_; 00042 00043 std::string file_name_; 00044 std::ifstream file_; 00045 00046 bool do_volt_distr_; 00047 bool do_burst_calc_; 00048 int skip_lines_; 00049 int buffer_size_; 00050 int loop_rate_; 00051 }; 00052 00053 #endif