![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged micro_ros_stmcube at Robotics Stack Exchange
![]() |
micro_ros_stmcube package from micro_ros_stm32cubemx_utils repomicro_ros_stmcube |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 5.0.1 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Description | A set of utilities for integrating micro-ROS in a STM32CubeMX project |
Checkout URI | https://github.com/micro-ros/micro_ros_stm32cubemx_utils.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-11-11 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Pablo Garrido
Authors
micro-ROS for STM32CubeMX/IDE
This tool aims to ease the micro-ROS integration in a STM32CubeMX/IDE project.
- micro-ROS for STM32CubeMX/IDE
This package support the usage of micro-ROS on top of two different middlewares:
- eProsima Micro XRCE-DDS: the default micro-ROS middleware.
- embeddedRTPS: an experimental implementation of a RTPS middleware compatible with ROS 2. Instructions on how to use it available here.
Using this package with STM32CubeMX
- Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided
sample_project.ioc
. - Make sure that your STM32CubeMX project is using a
Makefile
toolchain underProject Manager -> Project
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
-
Modify the generated
Makefile
to include the following code before thebuild the application
section:
#######################################
# micro-ROS addons
#######################################
LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
# Add micro-ROS utils
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_time.c
# Set here the custom transport implementation
C_SOURCES += micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
print_cflags:
@echo $(CFLAGS)
- Execute the static library generation tool. Compiler flags will retrieved automatically from your
Makefile
and user will be prompted to check if they are correct.
docker pull microros/micro_ros_static_library_builder:jazzy
docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:jazzy
- Modify your
main.c
to use micro-ROS. An example application can be found insample_main.c
. - Continue your usual workflow building your project and flashing the binary:
make -j$(nproc)
Using this package with STM32CubeIDE
micro-ROS can be used with SMT32CubeIDE following these steps:
- Clone this repository in your STM32CubeIDE project folder
- Go to
Project -> Settings -> C/C++ Build -> Settings -> Build Steps Tab
and inPre-build steps
add:
docker pull microros/micro_ros_static_library_builder:jazzy && docker run --rm -v ${workspace_loc:/${ProjName}}:/project --env MICROROS_LIBRARY_FOLDER=micro_ros_stm32cubemx_utils/microros_static_library_ide microros/micro_ros_static_library_builder:jazzy
- Add micro-ROS include directory. In
Project -> Settings -> C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler -> Include paths
addmicro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros/include
- Add the micro-ROS precompiled library. In
Project -> Settings -> C/C++ Build -> Settings -> MCU GCC Linker -> Libraries
- add
<ABSOLUTE_PATH_TO>/micro_ros_stm32cubemx_utils/microros_static_library_ide/libmicroros
inLibrary search path (-L)
- add
microros
inLibraries (-l)
- add
- Add the following source code files to your project, dragging them to source folder:
extra_sources/microros_time.c
extra_sources/microros_allocators.c
extra_sources/custom_memory_manager.c
-
extra_sources/microros_transports/dma_transport.c
or your transport selection.
- Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Detail
- Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.
- Build and run your project
Windows 11 (Community Contributed)
micro-ROS can be used with SMT32CubeIDE in Windows 11 OS, following these steps:
File truncated at 100 lines see the full file
Changelog for package micro_ros_stmcube
5.0.1 (2024-06-03)
-
Bump jazzy (#145)
-
Add UDP transport (#134) (#135)
- Add UDP transport
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update README and modify recv flag
- Update udp_transport.c
* Apply suggestions from code review Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>>
- Update udp_transport.c
* Minor fixes on readme ---------Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> (cherry picked from commit 0dbe8b656cf48ef6b8194f047029711fc09cc9bb) Co-authored-by: Lion Hao <<haolion520@gmail.com>>
-
Workaround to use STMCubeIDE in Windows 11 (backport #127) (#129) Co-authored-by: Pablo Garrido <<pablogs9@gmail.com>> Co-authored-by: Leonardo <<leogarberoglio@hotmail.com>>
-
Contributors: Pablo Garrido, mergify[bot]
5.0.0 (2023-06-12)
- Add USB CDC transport (backport #89) (#93)
- Fix minor branches (#81)
- Improved repository clarity (#74) (#75)
- Fix USER_CUSTOM_PACKAGES_DIR (#67) (#68)
- microros_component/extra_packages support (#63) (#66)
4.0.0 (2022-05-25)
- Update banner (#56)
- Fix include paths (#47)
- Add check for NULL input pointer (#53) (#55)
- Fix broken pvPortReallocMicroROS() implementation (#48) (#49)
- Update STM32CubeMX micro-ROS library paths (backport #42) (#43)
- Fix embeddedRTPS build (#38)
- Fix embeddedRTPS repo (backport #33) (#34)
- Fix meta file selection and change rtps branch (backport #31) (#32)
- Add embeddedRTPS as experimental middleware (backport #29) (#30)
- Update library_generation.sh (#26) (#27)
- apt to apt-get (#20) (#22)
- multichange tool (#10) (#12)
- Initial Rolling port
- Suggested absolute path in step 4 (#9)
- multichange tool (#6)
- Add automated IDE support (#4)
- Add serial interrupt transport (#2)
- Update
- Update
File truncated at 100 lines see the full file