multisense_killer.cpp
Go to the documentation of this file.
1 // -*- mode: c++ -*-
2 /*********************************************************************
3  * Software License Agreement (BSD License)
4  *
5  * Copyright (c) 2015, JSK Lab
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer in the documentation and/o2r other materials provided
17  * with the distribution.
18  * * Neither the name of the JSK Lab nor the names of its
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  *********************************************************************/
35 
36 
37 #include <string>
38 #include <sstream>
39 #include <multisense_lib/MultiSenseChannel.hh>
40 #include <iostream>
41 #include <stdlib.h>
42 
43 int main (int argc, char **argv)
44 {
45  if (argc < 3) {
46  std::cerr << "Usage: " << argv[0] << " multisense_ip pc_ip" << std::endl;
47  }
48  else {
49  std::string multisense_ip = argv[1];
50  std::string pc_ip = argv[2];
51  // Pinging to pc_ip
52  std::stringstream command;
53  command << "ping -c 1 " << pc_ip << " > /dev/null";
54  int missing_counter = 0;
55  while (true) {
56  if (system(command.str().c_str()) != 0) {
57  ++missing_counter;
58  std::cout << "increasing missing counter: " << missing_counter << std::endl;
59  }
60  else {
61  missing_counter = 0;
62  }
63  if (missing_counter > 10) {
64  crl::multisense::Channel *channelP
65  = crl::multisense::Channel::Create(multisense_ip);
66  if (channelP) {
67  std::cerr << "killing multisense[" << multisense_ip << "]" << std::endl;
70  missing_counter = 0;
71  }
72  }
73  }
74  }
75  return 1;
76 }
virtual Status stopStreams(DataSource mask)=0
static Channel * Create(const std::string &sensorAddress)
command
int main(int argc, char **argv)
static void Destroy(Channel *instanceP)
static CRL_CONSTEXPR DataSource Source_All


jsk_tilt_laser
Author(s): YoheiKakiuchi
autogenerated on Tue Feb 6 2018 03:45:14