Node for creating bursts. More...
#include <burst_creator.h>
Public Member Functions | |
BurstCreator () | |
Private Member Functions | |
void | addDish () |
Processes a new dish state from the queue. | |
void | callback (const neuro_recv::dish_state::ConstPtr &d) |
Callback for dish state messages. | |
void | finish () |
Closes out any remaining bursts on the channels after the end of new dish states. | |
void | getParams () |
Gets server parameters. | |
void | init () |
Initializes the node. | |
void | run () |
Main spin loop. | |
Private Attributes | |
BufferSpikeDetector | buf_ |
int | buffer_size_ |
ros::Publisher | burst_pub_cat_ |
ros::Publisher | burst_pub_viz_ |
int | burst_window_ |
BurstChecker | bursts_ [60] |
ros::Subscriber | dish_state_sub_ |
BurstMerger | merger_ |
ros::NodeHandle | n_ |
std::queue < neuro_recv::dish_state > | queue_ |
ros::Publisher | ranges_pub_cat_ |
ros::Publisher | ranges_pub_viz_ |
double | stdev_mult_ |
ros::ServiceClient | time_client_ |
Node for creating bursts.
This node receives dish states from a receiver node and then detects and creates burst sequences, which are forwarded to the CAT creator node. The operation of the node is autonomous; after the object has been created, the node will run with no further operation.
Definition at line 30 of file burst_creator.h.
BurstCreator::BurstCreator | ( | ) | [inline] |
Definition at line 33 of file burst_creator.h.
void BurstCreator::addDish | ( | ) | [private] |
Processes a new dish state from the queue.
If the buffer hasn't finished, the dish state is used in the buffer. If the buffer has finished, then the dish state is added to the burst checkers. The burst merger then runs, and a new merged burst is published if ready.
Definition at line 97 of file burst_creator.cpp.
void BurstCreator::callback | ( | const neuro_recv::dish_state::ConstPtr & | d | ) | [private] |
Callback for dish state messages.
This method is called automatically when the node receives a dish state message. If the dish state is marked as the "last dish", the finish method is called. Otherwise, the dish state is added to the queue.
d | the received message |
Definition at line 235 of file burst_creator.cpp.
void BurstCreator::finish | ( | ) | [private] |
Closes out any remaining bursts on the channels after the end of new dish states.
Definition at line 183 of file burst_creator.cpp.
void BurstCreator::getParams | ( | ) | [private] |
Gets server parameters.
Definition at line 51 of file burst_creator.cpp.
void BurstCreator::init | ( | ) | [private] |
Initializes the node.
Gets server parameters, initializes publishers and subscriber, and runs the spin loop.
Definition at line 18 of file burst_creator.cpp.
void BurstCreator::run | ( | ) | [private] |
Main spin loop.
Spins until ROS shuts down or Ctrl+C is pressed.
Definition at line 80 of file burst_creator.cpp.
BufferSpikeDetector BurstCreator::buf_ [private] |
Definition at line 53 of file burst_creator.h.
int BurstCreator::buffer_size_ [private] |
Definition at line 57 of file burst_creator.h.
ros::Publisher BurstCreator::burst_pub_cat_ [private] |
Definition at line 45 of file burst_creator.h.
ros::Publisher BurstCreator::burst_pub_viz_ [private] |
Definition at line 46 of file burst_creator.h.
int BurstCreator::burst_window_ [private] |
Definition at line 59 of file burst_creator.h.
BurstChecker BurstCreator::bursts_[60] [private] |
Definition at line 54 of file burst_creator.h.
ros::Subscriber BurstCreator::dish_state_sub_ [private] |
Definition at line 44 of file burst_creator.h.
BurstMerger BurstCreator::merger_ [private] |
Definition at line 55 of file burst_creator.h.
ros::NodeHandle BurstCreator::n_ [private] |
Definition at line 43 of file burst_creator.h.
std::queue<neuro_recv::dish_state> BurstCreator::queue_ [private] |
Definition at line 51 of file burst_creator.h.
ros::Publisher BurstCreator::ranges_pub_cat_ [private] |
Definition at line 47 of file burst_creator.h.
ros::Publisher BurstCreator::ranges_pub_viz_ [private] |
Definition at line 48 of file burst_creator.h.
double BurstCreator::stdev_mult_ [private] |
Definition at line 58 of file burst_creator.h.
ros::ServiceClient BurstCreator::time_client_ [private] |
Definition at line 49 of file burst_creator.h.