micro-ROS / micro-ROS/micro_ros_arduino

teensy 4.1 parameter server limits to 5 parameters

Open
#1,596 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
576
Forks
146
PR merge metrics
No merged PRs in 30d

Description

I have a working implementation of the parameter server with 4 parameters, and I was trying to add two more. However, when I try with 6 parameters, the client goes into the RCCHECK error loop. I removed one of them and tried with 5 parameters, and it works as expected.

This is my parameter server config:

```
rclc_parameter_options_t param_options = {
.notify_changed_over_dds = true,
.max_params = 6,
.allow_undeclared_parameters = false,
.low_mem_mode = true};
```

I tried increasing max_params to 10 (while only adding 6 parameters), tried with low_mem_mode = false, but none of these combinations work for more than 5 parameters. Works as expected with 5 or fewer than 5.

Is this limit of 5 hardcoded anywhere? How do I work with more than 5 parameters? Eventually I want to add a few more, up to 10 parameters.

- Hardware description: Teensy 4.1
- RTOS: -
- Installation type: micro_ros_agent (using micro_ros_setup)
- Version or commit hash:humble

#### Steps to reproduce the issue

#### Expected behavior
micro-ros-agent connects to the device, all entities are successfully created, and I can set/get all the parameters

#### Actual behavior
micro-ros-agent tries to connect to the device, the client goes into the RCCHECK error loop while trying to create the parameter server, while adding parameters to the server or while setting the default values. This is only observed when number of parameters is > 5.

#### Additional information

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the provided rclc_parameter_options_t configuration on a Teensy 4.1 using micro_ros_arduino and the micro-ROS agent. Trace the RCCHECK failure during parameter-server creation, parameter addition, or default-value setting; done when the parameter server reliably handles more than five parameters.

Written by the indexing model from the issue text.

Assessment

Tech stack
arduino, c
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.