diff --git a/CMakeLists.txt b/CMakeLists.txt index 225ee03..f37ae3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(image_publisher) +project(data_simulator) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) @@ -34,9 +34,26 @@ rclcpp_components_register_node(image_publisher_component EXECUTABLE image_publisher ) -ament_export_targets(export_image_publisher_component) -install(TARGETS image_publisher_component - EXPORT export_image_publisher_component +add_library(position_publisher_component SHARED src/PositionPublisher.cpp) +target_include_directories(position_publisher_component PUBLIC + $ + $) +target_compile_features(position_publisher_component PUBLIC c_std_99 cxx_std_17) # Require C99 and C++17 +target_link_libraries(position_publisher_component + rclcpp::rclcpp + rclcpp_components::component + ${sensor_msgs_TARGETS} + ${std_msgs_TARGETS} +) + +rclcpp_components_register_node(position_publisher_component + PLUGIN "j7s::PositionPublisher" + EXECUTABLE position_publisher +) + +ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET) +install(TARGETS image_publisher_component position_publisher_component + EXPORT export_${PROJECT_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin diff --git a/package.xml b/package.xml index 20c2051..49db2f5 100644 --- a/package.xml +++ b/package.xml @@ -1,7 +1,7 @@ - image_publisher + data_simulator 0.0.0 TODO: Package description jimmy diff --git a/src/ImagePublisher.cpp b/src/ImagePublisher.cpp index e3e023d..ef132b3 100644 --- a/src/ImagePublisher.cpp +++ b/src/ImagePublisher.cpp @@ -33,7 +33,7 @@ namespace j7s { m_compressedPublisher(this->create_publisher("image/compressed", 1)), m_timer{} { - m_timer = this->create_timer(10ms, [this]() -> void { + m_timer = this->create_timer(33ms, [this]() -> void { const auto [image, compressedImage] = draw_image(); m_publisher->publish(*image); m_compressedPublisher->publish(*compressedImage); diff --git a/src/PositionPublisher.cpp b/src/PositionPublisher.cpp new file mode 100644 index 0000000..46e6ddc --- /dev/null +++ b/src/PositionPublisher.cpp @@ -0,0 +1,37 @@ +#include +#include +#include + +#include + +using namespace std::chrono_literals; + + +namespace j7s { + class PositionPublisher : public rclcpp::Node { + public: + PositionPublisher(const rclcpp::NodeOptions& options); + private: + std::shared_ptr> m_publisher; + rclcpp::TimerBase::SharedPtr m_timer; + }; +}; + +namespace j7s { + PositionPublisher::PositionPublisher(const rclcpp::NodeOptions& options): + Node("position_publisher", options), + m_publisher(this->create_publisher("navsatfix", 1)), + m_timer{} + { + m_timer = this->create_timer(10ms, [this]() -> void { + sensor_msgs::msg::NavSatFix navSatMsg; + navSatMsg.header.stamp = this->now(); + navSatMsg.latitude = 40.4387; + navSatMsg.longitude = 79.9972; + m_publisher->publish(navSatMsg); + }); + } +}; + +#include +RCLCPP_COMPONENTS_REGISTER_NODE(j7s::PositionPublisher)