camera1394_node.cpp
Go to the documentation of this file.
1 /* $Id$ */
2 
3 /*********************************************************************
4 * Software License Agreement (BSD License)
5 *
6 * Copyright (c) 2010 Jack O'Quin
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 *
13 * * Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * * Redistributions in binary form must reproduce the above
16 * copyright notice, this list of conditions and the following
17 * disclaimer in the documentation and/or other materials provided
18 * with the distribution.
19 * * Neither the name of the author nor other contributors may be
20 * used to endorse or promote products derived from this software
21 * without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 *********************************************************************/
36 
37 #include <signal.h>
38 #include "driver1394.h"
39 
50 void sigsegv_handler(int sig)
51 {
52  signal(SIGSEGV, SIG_DFL);
53  fprintf(stderr, "Segmentation fault, stopping camera driver.\n");
54  ROS_ERROR("Segmentation fault, stopping camera.");
55  ros::shutdown(); // stop the main loop
56 }
57 
59 int main(int argc, char **argv)
60 {
61  ros::init(argc, argv, "camera1394_node");
62  ros::NodeHandle node;
63  ros::NodeHandle priv_nh("~");
64  ros::NodeHandle camera_nh("camera");
65  signal(SIGSEGV, &sigsegv_handler);
66  camera1394_driver::Camera1394Driver dvr(priv_nh, camera_nh);
67 
68  dvr.setup();
69  while (node.ok())
70  {
71  dvr.poll();
72  ros::spinOnce();
73  }
74  dvr.shutdown();
75 
76  return 0;
77 }
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
void sigsegv_handler(int sig)
int main(int argc, char **argv)
ROS driver interface for IIDC-compatible IEEE 1394 digital cameras.
ROSCPP_DECL void shutdown()
bool ok() const
ROSCPP_DECL void spinOnce()
#define ROS_ERROR(...)


camera1394
Author(s): Jack O'Quin, Ken Tossell, Patrick Beeson, Nate Koenig, Andrew Howard, Damien Douxchamps, Dan Dennedy
autogenerated on Mon Jun 10 2019 12:52:30