Skip to content

feat: expansion of sensor interface support, multi-distro build system, and batch instruction logic (tracks #68)#69

Merged
smartBUILDBOT merged 10 commits into
smartmicro:masterfrom
smartSRA:master
Mar 3, 2026
Merged

feat: expansion of sensor interface support, multi-distro build system, and batch instruction logic (tracks #68)#69
smartBUILDBOT merged 10 commits into
smartmicro:masterfrom
smartSRA:master

Conversation

@smartSRA

Copy link
Copy Markdown
Collaborator

Summary

This PR addresses issue #68. It expands the node's service capabilities with a new batch-instruction logic.

Key Changes

  • Multi-Distro: Support for ROS 2 Foxy, Humble, and Jazzy via updated Docker and CI/CD logic.
  • New Sensor Ifaces: Added UMMR9F, UMRRA4, and UMRRA1 T166 variants.
  • Asynchronous Updates: Refactored firmware download to to keep RViz UI responsive.
  • Batch Processing: Node now parses string-array parameters into typed instructions.

Add new T171 MSE UI v1.0.0, T169 MSE v1.1.0, T152 v1.5.0 and T171 v1.4.0.
…d extensible batch-instruction interfaces

New Interfaces
- UMMR9F T169 v3_0_0
- UMMR9F T169 MSE v1_3_0
- UMRRA4 MSE v2_1_0
- UMRRA1 T166 v1_0_0
- UMRRA1 T166 v2_0_0

Smartmicro_radar_node Node & Core Logic:
- New interfaces: Implemented callbacks for new Interfaces
- Services: Implemented new get Status and get Mode services.
- Validation: Added comprehensive checks for sensor IDs, section names, and array length consistency.
- Error Handling: Implemented try-catch blocks for string conversion and range-limit validation for unsigned integers.

Infrastructure & CI/CD:
- Multi-distro support: Updated Dockerfile and docker-compose for ROS 2 Foxy, Humble, and Jazzy.
- CI/CD: Configured dockerbuild.yml to trigger builds based on the 'distro' input argument.
- Build System: Updated CMakeLists.txt to include new interfaces and sensor dependencies.

RViz & Plugins:
- Firmware Update Refactor: Transitioned to a thread-safe UpdateService class using std::condition_variable to prevent RViz UI blocking.
- UI Enhancements: Improved Download Plugin layout and updated smart_plugin.rviz config.
- Service Plugin: Added Get Status/Mode interfaces and read/write functionality.

Simulator & custom message:
- Service Expansion: Integrated GetMode and GetStatus services.

Documentation:
- Updated README.md with multi-distro instructions and the new service API structure.

BREAKING CHANGE: Service interfaces now use string arrays ('params', 'values') and
a 'value_types' array instead of single-value fields. This enables multi-parameter.
@smartSRA smartSRA self-assigned this Feb 11, 2026
- updated Dockerfile with dependencies.
- reintroduced build and test on PR and master.
- updated release in extract script.
- modified json fetch in cmaked to avoid certifciates issue.
- removed comments from update.h file.
- updated the simualtor communication files.
- readjusted the param file to work with the simulators.
- updated test to include new field section when sending service.
- resolved linting in main node.
@smartSRA

Copy link
Copy Markdown
Collaborator Author

All checks are passing now and this is ready for review.

@smartSRA smartSRA changed the title [wip] feat: expansion of sensor interface support, multi-distro build system, and batch instruction logic (tracks #68) feat: expansion of sensor interface support, multi-distro build system, and batch instruction logic (tracks #68) Feb 19, 2026
@smartBUILDBOT smartBUILDBOT removed the request for review from smartMWE March 3, 2026 10:49
smartBUILDBOT
smartBUILDBOT previously approved these changes Mar 3, 2026
@smartBUILDBOT smartBUILDBOT merged commit 772288b into smartmicro:master Mar 3, 2026
3 checks passed
nlsxp added a commit to NXP-Robotics/smartmicro_ros2_radars that referenced this pull request Mar 26, 2026
feat: included new sensor ifaces, multi-distro support and implemented extensible batch-instruction interfaces (smartmicro#69)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants