78 #define MAX_NAME_LEN (1024)
96 int main(
int argc,
char** argv)
100 char nameId[] =
"__name:=";
104 std::string scannerName =
"sick_scan";
119 strcpy(nameTagVal,
"__name:=sick_tim_5xx");
120 strcpy(logTagVal,
"__log:=/tmp/tmp.log");
121 strcpy(internalDebugTagVal,
"__internalDebug:=1");
123 strcpy(sensorEmulVal,
"__emulSensor:=0");
125 argv_tmp = (
char**)malloc(
sizeof(
char*) * argc_tmp);
127 argv_tmp[0] = argv[0];
128 argv_tmp[1] = nameTagVal;
129 argv_tmp[2] = logTagVal;
130 argv_tmp[3] = internalDebugTagVal;
131 argv_tmp[4] = sensorEmulVal;
138 #if defined __ROS_VERSION && __ROS_VERSION == 2
141 bool ros_signal_handler = rclcpp::signal_handlers_installed();
142 ROS_INFO_STREAM(
"ROS2 signal handler are " << (ros_signal_handler?
"" :
" NOT") <<
"installed");
143 if (rclcpp::uninstall_signal_handlers())
147 rclcpp::NodeOptions node_options;
148 node_options.allow_undeclared_parameters(
true);
150 rosNodePtr node = rclcpp::Node::make_shared(
"sick_scan",
"", node_options);
161 for (
int i = 0; i < argc_tmp; i++)
163 if (strstr(argv_tmp[i], nameId) == argv_tmp[i])
165 strcpy(nameVal, argv_tmp[i] + strlen(nameId));
166 scannerName = nameVal;
178 ROS_ERROR_STREAM(
"## ERROR in sick_generic_caller::main(): startGenericLaser() failed, could not start generic laser event loop");
187 catch(
const std::exception& e)
189 ROS_ERROR_STREAM(
"## ERROR in sick_generic_caller::main(): exception " << e.what());
193 ROS_ERROR_STREAM(
"## ERROR in sick_generic_caller::main(): unknown exception ");