Arduino Wire.h I2C custom transport on Pi Pico is causing a crash
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- arduino
- Domain
- embedded-iot
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.
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
- Dominant language
- Python
- Stars
- 334
- Forks
- 111
- PR merge metrics
- No merged PRs in 30d
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.
More from micro-ROS/micro_ros_platformio
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
micro-ROS/micro_ros_platformio#177 · 16 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
micro-ROS/micro_ros_platformio#167 · 6 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
micro-ROS/micro_ros_platformio#162 · 3 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
micro-ROS/micro_ros_platformio#153 · 8 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
micro-ROS/micro_ros_platformio#149 · 4 comments · 1 reaction ·
All issues in micro-ROS/micro_ros_platformio
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100