From 700dcdc7bf50a834ebab2d3b58d89e59a7e27184 Mon Sep 17 00:00:00 2001 From: HOSOKAWA Ikuto Date: Fri, 12 Mar 2021 11:36:55 +0900 Subject: [PATCH] added scripts for use_sim_time management (#183) Co-authored-by: hosokawa --- ...dd_aw_ros2_use_sim_time_into_launch_xml.pl | 31 +++++++++++++++++++ ...dd_aw_ros2_use_sim_time_into_launch_xml.sh | 21 +++++++++++++ scripts/get_use_sim_time_all.sh | 8 +++++ 3 files changed, 60 insertions(+) create mode 100755 scripts/add_aw_ros2_use_sim_time_into_launch_xml.pl create mode 100755 scripts/add_aw_ros2_use_sim_time_into_launch_xml.sh create mode 100755 scripts/get_use_sim_time_all.sh diff --git a/scripts/add_aw_ros2_use_sim_time_into_launch_xml.pl b/scripts/add_aw_ros2_use_sim_time_into_launch_xml.pl new file mode 100755 index 0000000000000..d37320ec806ff --- /dev/null +++ b/scripts/add_aw_ros2_use_sim_time_into_launch_xml.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl + +$use_sim_time_str='' . "\n"; + +$out_line=""; +while(<>){ + if(/^(\s*)<\s*node\s/){ + $indent=$1; + $out_line = $indent . " " . $use_sim_time_str; + if(/\/\s*>\s*$/){ + $re_str = quotemeta($&); + ~s/$re_str/ >\n/; + print; + $out_line = $out_line . $indent . "\n"; + print $out_line; + $out_line = ""; + }else{ + print; + } + }elsif($out_line ne ""){ + if(/^\s*<\s*param\s*name.*use_sim_time.*AW_ROS2_USE_SIM_TIME/){ + $out_line = ""; + }elsif(/^\s*<\s*\/\s*node\s*>\s*$/){ + print $out_line; + $out_line = ""; + } + print; + }else{ + print; + } +} diff --git a/scripts/add_aw_ros2_use_sim_time_into_launch_xml.sh b/scripts/add_aw_ros2_use_sim_time_into_launch_xml.sh new file mode 100755 index 0000000000000..d259567c2b54c --- /dev/null +++ b/scripts/add_aw_ros2_use_sim_time_into_launch_xml.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +if [ -n "$1" ]; then + find_dir=$1 +else + echo "Usage: $0 " + exit 0 +fi + +patch_script=$(dirname $(realpath $0))/$(basename $0 .sh).pl + +for xml in $(find $find_dir -type f | grep launch.xml$); do + echo "mv $xml ${xml}.org_tmp" + eval "mv $xml ${xml}.org_tmp" + echo "$patch_script ${xml}.org_tmp > $xml" + eval "$patch_script ${xml}.org_tmp > $xml" + echo "rm ${xml}.org_tmp" + eval "rm ${xml}.org_tmp" + echo "" +done + diff --git a/scripts/get_use_sim_time_all.sh b/scripts/get_use_sim_time_all.sh new file mode 100755 index 0000000000000..2b829656b1d7d --- /dev/null +++ b/scripts/get_use_sim_time_all.sh @@ -0,0 +1,8 @@ +#!/bin/bash +( for node in $(ros2 run topic_tools node_list |& grep \/ | perl -pe "~s/^[^\/]\//\//") +#for node in $(ros2 param list|grep :) +do + #n=$(dirname $node)/$(basename $node :) + #echo "$n: use_sim_time: $(ros2 param get $n use_sim_time)" + echo "$node: use_sim_time: $(ros2 param get $node use_sim_time)" +done) |& grep \/