3 Commits

Author SHA1 Message Date
ATT_POWER
076f76394e
refactor(echo_plugin): Remove executor configuration and simplify echo logic (#78)
* refactor(echo_plugin): Remove executor configuration and simplify echo logic

- Removed executor field from echo_plugin configuration
- Simplified echo message handling process by processing directly in main thread
- Updated example configurations and descriptions in documentation

* refactor(echo_plugin): Refactor EchoPlugin class

- Remove get_type_support_func_ member variable, replace with direct GetTypeSupport method call in RegisterEchoChannel
- Merge EchoFunc creation and subscription callback logic to reduce intermediate variables

* refactor(echo_plugin): Remove GetTypeSupport function, directly access type_support_map where needed

* refactor(echo_plugin): Remove unused headers and member functions

* refactor(echo_plugin): Remove unnecessary 'this' capture in lambda expression

* refactor(echo_plugin): optimize buffer handling logic in EchoPlugin

* format

* fix(echo_plugin):  add release_callback func before return in sub_wrapper.callback

---------

Co-authored-by: yuguanlin <yuguanlin@agibot.com>
2024-11-04 17:18:00 +08:00
ATT_POWER
fe409b822b
example: add recordplayback example and remove unnecessary codes in echo plugin (#72)
* example: add recordplayback example about ros msg

- Optimize configuration files and script naming
- Modify EchoPlugin, remove unnecessary checks

* fix: remove unused code and unnecessary dependencies

---------

Co-authored-by: yuguanlin <yuguanlin@agibot.com>
2024-11-01 17:35:07 +08:00
ATT_POWER
7e4b5460c2
feat: add a new plugin: echo (#51)
* 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>
2024-10-31 20:03:42 +08:00