micro-ROS / micro-ROS/micro_ros_platformio

Arduino Wire.h I2C custom transport on Pi Pico is causing a crash

Open
#127 0 comments 0 reactions 0 assignees View on GitHub
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

https://pastebin.com/5hzPiRcD

Contributor guide

Open the contributing guide

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.