From c40e0cec703ad40b1cf7e64383b4e352da672dec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Manr=C3=ADquez?= <64954533+ricardo-manriquez@users.noreply.github.com> Date: Thu, 24 Nov 2022 04:41:04 +0000 Subject: [PATCH 1/5] Added the option to change the node name for the recorder from the Python API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ricardo Manríquez <64954533+ricardo-manriquez@users.noreply.github.com> Signed-off-by: Ricardo Manríquez --- rosbag2_py/src/rosbag2_py/_transport.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/rosbag2_py/src/rosbag2_py/_transport.cpp b/rosbag2_py/src/rosbag2_py/_transport.cpp index dc8f3eeae3..82c0270494 100644 --- a/rosbag2_py/src/rosbag2_py/_transport.cpp +++ b/rosbag2_py/src/rosbag2_py/_transport.cpp @@ -210,7 +210,8 @@ class Recorder void record( const rosbag2_storage::StorageOptions & storage_options, - RecordOptions & record_options) + RecordOptions & record_options, + std::string & node_name) { if (record_options.rmw_serialization_format.empty()) { record_options.rmw_serialization_format = std::string(rmw_get_serialization_format()); @@ -218,7 +219,7 @@ class Recorder auto writer = rosbag2_transport::ReaderWriterFactory::make_writer(record_options); auto recorder = std::make_shared( - std::move(writer), storage_options, record_options); + std::move(writer), storage_options, record_options, node_name); recorder->record(); exec_->add_node(recorder); @@ -356,7 +357,8 @@ PYBIND11_MODULE(_transport, m) { py::class_(m, "Recorder") .def(py::init()) - .def("record", &rosbag2_py::Recorder::record) + .def("record", &rosbag2_py::Recorder::record, py::arg("storage_options"), + py::arg("record_options"), py::arg("node_name") = "rosbag2_recorder") .def("cancel", &rosbag2_py::Recorder::cancel) ; From 0c87f64b8566e333fc2fa5da93e0c173554725f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Manr=C3=ADquez?= Date: Thu, 24 Nov 2022 05:15:08 +0000 Subject: [PATCH 2/5] Fixed whitespace problems MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ricardo Manríquez --- rosbag2_py/src/rosbag2_py/_transport.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rosbag2_py/src/rosbag2_py/_transport.cpp b/rosbag2_py/src/rosbag2_py/_transport.cpp index 82c0270494..9199e5baab 100644 --- a/rosbag2_py/src/rosbag2_py/_transport.cpp +++ b/rosbag2_py/src/rosbag2_py/_transport.cpp @@ -211,7 +211,7 @@ class Recorder void record( const rosbag2_storage::StorageOptions & storage_options, RecordOptions & record_options, - std::string & node_name) + std::string & node_name) { if (record_options.rmw_serialization_format.empty()) { record_options.rmw_serialization_format = std::string(rmw_get_serialization_format()); @@ -358,7 +358,7 @@ PYBIND11_MODULE(_transport, m) { py::class_(m, "Recorder") .def(py::init()) .def("record", &rosbag2_py::Recorder::record, py::arg("storage_options"), - py::arg("record_options"), py::arg("node_name") = "rosbag2_recorder") + py::arg("record_options"), py::arg("node_name") = "rosbag2_recorder") .def("cancel", &rosbag2_py::Recorder::cancel) ; From f26b4b57af3635ec1c397c70465b51c28d29c569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Manr=C3=ADquez?= Date: Thu, 24 Nov 2022 06:26:04 +0000 Subject: [PATCH 3/5] Fixed uncrustify problems MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ricardo Manríquez --- rosbag2_py/src/rosbag2_py/_transport.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rosbag2_py/src/rosbag2_py/_transport.cpp b/rosbag2_py/src/rosbag2_py/_transport.cpp index 9199e5baab..f3a3de4657 100644 --- a/rosbag2_py/src/rosbag2_py/_transport.cpp +++ b/rosbag2_py/src/rosbag2_py/_transport.cpp @@ -357,8 +357,11 @@ PYBIND11_MODULE(_transport, m) { py::class_(m, "Recorder") .def(py::init()) - .def("record", &rosbag2_py::Recorder::record, py::arg("storage_options"), - py::arg("record_options"), py::arg("node_name") = "rosbag2_recorder") + .def( + "record", &rosbag2_py::Recorder::record, + py::arg("storage_options"), + py::arg("record_options"), + py::arg("node_name") = "rosbag2_recorder") .def("cancel", &rosbag2_py::Recorder::cancel) ; From c4b90811ee5ab37cc40a118eb3d0c4739738b10a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Manr=C3=ADquez?= Date: Sun, 4 Dec 2022 15:54:44 +0000 Subject: [PATCH 4/5] Added the option to set node name parameter from CLI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ricardo Manríquez --- ros2bag/ros2bag/verb/record.py | 6 +++++- rosbag2_py/src/rosbag2_py/_transport.cpp | 4 +--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ros2bag/ros2bag/verb/record.py b/ros2bag/ros2bag/verb/record.py index e9e5f5a1f9..3979e2f6e1 100644 --- a/ros2bag/ros2bag/verb/record.py +++ b/ros2bag/ros2bag/verb/record.py @@ -174,6 +174,10 @@ def add_arguments(self, parser, cli_name): # noqa: D102 '--use-sim-time', action='store_true', default=False, help='Use simulation time.' ) + parser.add_argument( + '--node-name', type=str, default='rosbag2_recorder', + help='Specify the recorder node name. Default is rosbag2_recorder.' + ) self._subparser = parser def main(self, *, args): # noqa: D102 @@ -259,7 +263,7 @@ def main(self, *, args): # noqa: D102 recorder = Recorder() try: - recorder.record(storage_options, record_options) + recorder.record(storage_options, record_options, args.node_name) except KeyboardInterrupt: pass diff --git a/rosbag2_py/src/rosbag2_py/_transport.cpp b/rosbag2_py/src/rosbag2_py/_transport.cpp index f3a3de4657..963f8090d3 100644 --- a/rosbag2_py/src/rosbag2_py/_transport.cpp +++ b/rosbag2_py/src/rosbag2_py/_transport.cpp @@ -358,9 +358,7 @@ PYBIND11_MODULE(_transport, m) { py::class_(m, "Recorder") .def(py::init()) .def( - "record", &rosbag2_py::Recorder::record, - py::arg("storage_options"), - py::arg("record_options"), + "record", &rosbag2_py::Recorder::record, py::arg(), py::arg(), py::arg("node_name") = "rosbag2_recorder") .def("cancel", &rosbag2_py::Recorder::cancel) ; From 26779b4ab59181f15451dabed5ce500a398dfba8 Mon Sep 17 00:00:00 2001 From: ricardo-manriquez <64954533+ricardo-manriquez@users.noreply.github.com> Date: Wed, 7 Dec 2022 23:58:29 +0900 Subject: [PATCH 5/5] Update rosbag2_py/src/rosbag2_py/_transport.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emerson Knapp <537409+emersonknapp@users.noreply.github.com> Signed-off-by: Ricardo Manríquez --- rosbag2_py/src/rosbag2_py/_transport.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rosbag2_py/src/rosbag2_py/_transport.cpp b/rosbag2_py/src/rosbag2_py/_transport.cpp index 963f8090d3..1b51f30429 100644 --- a/rosbag2_py/src/rosbag2_py/_transport.cpp +++ b/rosbag2_py/src/rosbag2_py/_transport.cpp @@ -358,7 +358,7 @@ PYBIND11_MODULE(_transport, m) { py::class_(m, "Recorder") .def(py::init()) .def( - "record", &rosbag2_py::Recorder::record, py::arg(), py::arg(), + "record", &rosbag2_py::Recorder::record, py::arg("storage_options"), py::arg("record_options"), py::arg("node_name") = "rosbag2_recorder") .def("cancel", &rosbag2_py::Recorder::cancel) ;