diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 00000000..aaeea878 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,22 @@ +{ + "configurations": [ + { + "browse": { + "databaseFilename": "", + "limitSymbolsToIncludedHeaders": true + }, + "includePath": [ + "/opt/ros/humble/include/**", + "/home/ubuntu/ros2_ws/src/beacon_positioning/include/**", + "/usr/include/**" + ], + "name": "ROS", + "intelliSenseMode": "gcc-x64", + "compilerPath": "/usr/bin/gcc", + "cStandard": "c11", + "cppStandard": "c++14", + "configurationProvider": "ms-vscode.cmake-tools" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..46d9a84f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "ros.distro": "humble" +} \ No newline at end of file diff --git a/src/beacon_positioning/CMakeLists.txt b/src/beacon_positioning/CMakeLists.txt index 1969b155..cb6a1ee9 100644 --- a/src/beacon_positioning/CMakeLists.txt +++ b/src/beacon_positioning/CMakeLists.txt @@ -21,9 +21,10 @@ find_package(ament_cmake REQUIRED) # further dependencies manually. # find_package( REQUIRED) find_package(rclcpp REQUIRED) +find_package(std_msgs REQUIRED) add_executable(tracker_position src/tracker_position.cpp) -ament_target_dependencies(tracker_position rclcpp) +ament_target_dependencies(tracker_position rclcpp std_msgs) target_include_directories(tracker_position PUBLIC $ diff --git a/src/beacon_positioning/package.xml b/src/beacon_positioning/package.xml index 28d5fe0e..120478b7 100644 --- a/src/beacon_positioning/package.xml +++ b/src/beacon_positioning/package.xml @@ -4,11 +4,12 @@ beacon_positioning 0.0.0 ROS 2 package to read the Terabee Robot Positioning System beacons positions - ubuntu + sem Apache License 2.0 ament_cmake rclcpp + std_msgs ament_lint_auto ament_lint_common diff --git a/src/beacon_positioning/src/tracker_position.cpp b/src/beacon_positioning/src/tracker_position.cpp index 712de830..bfd45cb5 100644 --- a/src/beacon_positioning/src/tracker_position.cpp +++ b/src/beacon_positioning/src/tracker_position.cpp @@ -1,5 +1,29 @@ #include +#include + #include "rclcpp/rclcpp.hpp" +#include "std_msgs/msg/string.hpp" + +using namespace std::chrono_literals; + +class BeaconPositioningPublisher : public rclcpp::Node +{ + public: + BeaconPositioningPublisher() : Node("beacon_positioning_publisher") { + publisher_ = this->create_publisher("beacon_positioning", 10); + timer_ = this->create_wall_timer( + 500ms, std::bind(&BeaconPositioningPublisher::timer_callback, this)); + } + private: + void timer_callback() { + auto message = std_msgs::msg::String(); + message.data = "Hello beacons!"; + RCLCPP_INFO(this->get_logger(), "Publishing: '%s'", message.data.c_str()); + publisher_->publish(message); + } + rclcpp::TimerBase::SharedPtr timer_; // timer to trigger the + rclcpp::Publisher::SharedPtr publisher_; // pointer to publisher object +}; int main(int argc, char ** argv) { @@ -7,5 +31,9 @@ int main(int argc, char ** argv) (void) argv; printf("hello world beacon_positioning package\n"); + + rclcpp::init(argc, argv); + rclcpp::spin(std::make_shared()); + rclcpp::shutdown(); return 0; } diff --git a/src/px4_msgs b/src/px4_msgs index 4db0a3f1..b64ef047 160000 --- a/src/px4_msgs +++ b/src/px4_msgs @@ -1 +1 @@ -Subproject commit 4db0a3f14ea81b9de7511d738f8ad9bd8ae5b3ad +Subproject commit b64ef0475c1d44605688f4770899fe453d532be4 diff --git a/src/px4_ros_com b/src/px4_ros_com index 0bcf68bc..1562ff30 160000 --- a/src/px4_ros_com +++ b/src/px4_ros_com @@ -1 +1 @@ -Subproject commit 0bcf68bcb635199adcd134e8932932054e863c0d +Subproject commit 1562ff30d56b7ba26e4d2436724490f900cc2375