- Removed redundant visibility settings and consolidated them for both C and C++.
- Ensured consistent application of visibility presets to enhance code encapsulation and maintainability.
* docs: improve clarity and consistency in AimRT documentation
- Updated terminology in the concepts documentation to correct "拓补" to "拓扑" for accuracy.
- Enhanced the README for the ROS2 plugin by adding process type clarifications (e.g., specifying "cli" and "srv" for client and server processes).
- Ensured consistent formatting and terminology throughout the documentation to improve readability and understanding for users.
* fix: correct typo in CMakeLists.txt visibility setting
- Fixed a typo in the CMakeLists.txt file where "CMAKE_CXX_VISIBLITY_INLINES_HIDDEN" was corrected to "CMAKE_CXX_VISIBILITY_INLINES_HIDDEN". This change ensures proper visibility settings for inline functions in the project.
* build: enhance build options for modular components
Add dependent options for building various plugins and components, allowing finer control over runtime and external library usage. This change improves flexibility and ensures that components are only built when their dependencies are active, optimizing the build process.
* build: update grpc plugin dependency condition
Remove protobuf dependency requirement for the grpc plugin, simplifying its build configuration. This improves flexibility by allowing the grpc plugin to be built independently of the protobuf option.
---------
Co-authored-by: zhangyi <zhangyi@agibot.com>
* build: add error handling for local protoc compiler detection
Ensure that the local `protoc` compiler is found when `AIMRT_USE_LOCAL_PROTOC_COMPILER` is enabled. This improves setup reliability by providing clear feedback if `protoc` is missing, helping users avoid runtime issues.
* build: include YamlCpp for enhanced configuration support
Add support for YamlCpp to improve configuration handling alongside ROS2 dependencies.
* chore: remove redundant gflag setting
Clean up the CMake configuration by removing the unnecessary gflag setting for testing, streamlining the build process.
* build: refactor CMake scripts to use functions for variable scope
Wrap multiple CMake scripts in functions to restrict variable scope and prevent unintended resets. This ensures better modularity and maintainability in the build process while adhering to modern CMake best practices.
* refactor: simplify opentelemetry fetch logic
Streamline the handling of OpenTelemetry dependencies by removing unnecessary function wrappers and directly implementing the fetching logic. This improves readability and maintainability while ensuring that relevant variables are correctly set within the proper scope.
* refactor: encapsulate OpenTelemetry configuration in a function
Wrap the OpenTelemetry setup in a function to limit variable scope, improving code organization and maintainability.
* CI: change build worlflow image tag from v20240927 to latest
* refactor(tools): Restructure bagtrans tool and integrate into aimrt_cli
- Integrate bagtrans functionality into aimrt_cli
- Update CMakeLists.txt and documentation to reflect these changes
* choro: format the code
* choro: change the document
* choro: remove the bagtrans options
---------
Co-authored-by: yuguanlin <yuguanlin@agibot.com>
* CI: change build worlflow image tag from v20240927 to latest
* feat/plugins: Add echo plugin
- Add echo plugin for message pass-through and logging
- Implement loading and management of different types of support packages
- Add support for multi-threaded executors
- Optimize log initialization and management logic
- Add support for YAML configuration files
* build: Update build scripts and enable Echo plugin
- Add build options for Echo plugin in build.bat, build.sh, test.bat, and test.sh scripts
- Optimize JSON serialization error handling and log output in echo_plugin.cc
* chore: Add Echo plugin related documentation
- Update release notes with Echo plugin feature description
- Add Echo plugin usage documentation
- Add Echo plugin example configuration and running instructions
* chore: format the code
- Add thread safety checks for Echo executor
- Optimize code structure to improve readability and maintainability
* choro: restructure JSON parsing logic
- Replace json-c with jsoncpp library
- Rewrite json_to_yaml function to improve code readability and robustness
* choro: adapt CMakeLists for Windows compatibility
* choro : turn off the echo plugin in windows
* feat(echo_plugin): Support YAML format message echo
- Modify GetYamlCpp.cmake to enable yaml-cpp installation
- Add yaml_convert.h and yaml_convert_test.cc in ros2_util
- Update echo_plugin to support YAML format message serialization and deserialization
- Add YAML serialization type support in aimrt_module_ros2_interface
* choro: Fix documentation
* choro : fix format and delete the extra support for echo about pb message type
* choro : format
* choro: add ros2 example for echo plugin and delete useless code
* choro: rename the echo example shell
* choro: fix some mistake
* chore: refactor type support package loader and migrate to core module
- Migrate TypeSupportPkgLoader from echo_plugin and record_playback_plugin to core/util directory
- Optimize log output, replace printf with AIMRT_INFO
* choro: replace the aimrt::common::util::AimRTException() to AIMRT_ASSERT
---------
Co-authored-by: yuguanlin <yuguanlin@agibot.com>
* CI: change build worlflow image tag from v20240927 to latest
* fix: fix bagtrans tool support
- Add AIMRT_BUILD_BAGTRANS option in CMakeLists.txt
- Update build.bat, build.sh, test.bat and test.sh scripts to include bagtrans build option
- Modify CMakeLists.txt in bagtrans directory to simplify build logic
- Remove autopep8 dependency from bagtrans/requirements.txt
* format : format the code
* fix: Turn off the bagtrans compilation option on Windows
* feat(tools): Update bagtrans tool build method
- Change the build method of bagtrans tool from PyInstaller to using the build module to generate wheel files
- Update CMakeLists.txt and setup.py files to adapt to the new build method
- Update release notes, adding new information about the bagtrans tool
* fix: format
---------
Co-authored-by: yuguanlin <yuguanlin@agibot.com>
Set CMAKE_POSITION_INDEPENDENT_CODE to ON to ensure compatibility with shared libraries and enhance portability across different architectures. Removed explicit compiler flags for PIC that were previously set.
* feat: support translate aimrtbag to rosbag
* feat: 添加数据包转换工具
* CI: change build worlflow image tag from v20240927 to latest
* feat: now support transfer aimrtbag to rosbag
* feat: Adjust the build and installation process of aimrt_cli , copy ROS2 plugin proto files when building aimrt_cli
* chore: format the code style
* chore: format code
* feat: Differentiate between aimrt-cli and transbag, make transbag an independent tool; add documentation for transbag
* chore: Update CI trigger from label "ci ready" to "ci"
* chore: format code
* choro: feat: compile bagtrans module only when bagrecord and ros2 plugin are enabled; improve documentation
* choro: Modify activation method for bagtrans
---------
Co-authored-by: yuguanlin <yuguanlin@agibot.com>
* Upgrade zenoh to version 1.0.0.11
* Update the download link for the zenoh-c library to version 1.0.0.11 and adjust some related URL configurations.
---------
Co-authored-by: hanjun <hanjun@agibot.com>
Streamline CMake configuration by consolidating compiler options and ensuring consistent export of compile commands, enhancing the build process especially for MSVC and Windows environments.