micro-ROS / micro-ROS/micro_ros_platformio
Arduino Wire.h I2C custom transport on Pi Pico is causing a crash
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 334
- Forks
- 111
- PR merge metrics
- No merged PRs in 30d
Description
- Hardware description: Pi Pico
- RTOS: I think arduino mbed
- Version or commit hash: humble
Steps to reproduce the issue
I'm trying to make a custom transport for I2C using arduino's Wire library. I am able to build and flash the microros_publisher example, everything works over serial and I can see the topic and node in a docker container. However, when I replace setting the serial transport with my own, I think the pico crashes since i'm getting a flashing pattern on the pico (4 long, 4 0r 5 long). I really hope I'm missing something subtle. Also I'm not sure how I am supposed to properly use uxr_init_custom_transport, or if I'm supposed to use it at all, because the default serial transport doesn't. Also if this isn't the correct place to post this issue, please point me in the right direction.
here's my ini
env:pico]
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
board = pico
framework = arduino
lib_deps =
https://github.com/micro-ROS/micro_ros_platformio
upload_protocol = mbed
board_microros_distro = humble
board_microros_transport = custom
heres the code
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the PlatformIO ini and the linked Pastebin code, focusing on how the custom transport is configured and where uxr_init_custom_transport is used. Reproduce the serial baseline, then the I2C transport on the Pi Pico; done means the custom transport no longer crashes the board and the micro-ROS node and topic remain visible.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arduino
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100