Skip to content

feat: Add auto-start logging feature and refactor device state management#1036

Open
GiulioRomualdi wants to merge 5 commits intomasterfrom
improve_logging
Open

feat: Add auto-start logging feature and refactor device state management#1036
GiulioRomualdi wants to merge 5 commits intomasterfrom
improve_logging

Conversation

@GiulioRomualdi
Copy link
Copy Markdown
Collaborator

  • Introduced auto_start_logging parameter in configuration files to enable automatic logging on device startup.
  • Implemented a state machine in YarpRobotLoggerDevice to manage device states: Idle, Recording, and Saving.
  • Added new RPC commands: startRecording, saveRecording, saveAndStopRecording, and discardRecording to control the logging process.
  • Refactored existing methods to accommodate state transitions and ensure proper resource management during recording sessions.
  • Updated documentation in the Thrift service definition to reflect new commands and their functionalities.

…ment

- Introduced `auto_start_logging` parameter in configuration files to enable automatic logging on device startup.
- Implemented a state machine in `YarpRobotLoggerDevice` to manage device states: Idle, Recording, and Saving.
- Added new RPC commands: `startRecording`, `saveRecording`, `saveAndStopRecording`, and `discardRecording` to control the logging process.
- Refactored existing methods to accommodate state transitions and ensure proper resource management during recording sessions.
- Updated documentation in the Thrift service definition to reflect new commands and their functionalities.
@GiulioRomualdi GiulioRomualdi requested a review from S-Dafarra as a code owner May 5, 2026 10:50
@GiulioRomualdi
Copy link
Copy Markdown
Collaborator Author

Needs to be properly tested on the robot

@GiulioRomualdi
Copy link
Copy Markdown
Collaborator Author

This substitues #1034

@GiulioRomualdi
Copy link
Copy Markdown
Collaborator Author

This requires robotology/robometry#201

@S-Dafarra
Copy link
Copy Markdown
Collaborator

This requires robotology/robometry#201

I would suggest to increase the required version number then, to avoid obscure compilation errors

@GiulioRomualdi
Copy link
Copy Markdown
Collaborator Author

GiulioRomualdi commented May 11, 2026

I tried to update the pixi.lock but I have the following error

gromualdi@gblaptop0019:~/robot-code/gbmono/src/BipedalLocomotionFramework$ pixi shell
Error:   × failed to solve requirements of environment 'default' for platform 'osx-arm64'
  ├─▶   × failed to solve the environment
  │   
  ╰─▶ Cannot solve the request because of: No candidates were found for librobometry >=1.4.1.

related to conda-forge/librobometry-feedstock#51

@GiulioRomualdi
Copy link
Copy Markdown
Collaborator Author

Pixi now fails with this error.

I was actually thinking to disable the test of ros2 from the CI

pixi shell
Error:   × failed to solve requirements of environment 'default' for platform 'osx-arm64'
  ├─▶   × failed to solve the environment
  │   
  ╰─▶ Cannot solve the request because of: The following packages are incompatible
      ├─ librobometry >=1.4.1 can be installed with any of the following options:
      │  └─ librobometry 1.4.1 would require
      │     └─ libboost >=1.90.0,<1.91.0a0, which can be installed with any of the following options:
      │        └─ libboost 1.90.0 | 1.90.0
      └─ ros-jazzy-rclcpp * cannot be installed because there are no viable options:
         ├─ ros-jazzy-rclcpp 28.1.16 | 28.1.16 would require
         │  └─ ros2-distro-mutex 0.14.* jazzy_*, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.14.0 | 0.14.0 would constrain
         │        └─ libboost 1.88.*, which conflicts with any installable versions previously reported
         ├─ ros-jazzy-rclcpp 28.1.15 would require
         │  └─ ros2-distro-mutex >=0.13.0,<0.14.0a0, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.13.0 would constrain
         │        └─ libboost 1.88.*, which conflicts with any installable versions previously reported
         ├─ ros-jazzy-rclcpp 28.1.13 would require
         │  └─ ros2-distro-mutex >=0.12.0,<0.13.0a0, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.12.0 would constrain
         │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
         ├─ ros-jazzy-rclcpp 28.1.12 would require
         │  └─ ros2-distro-mutex >=0.11.0,<0.12.0a0, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.11.0 would constrain
         │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
         ├─ ros-jazzy-rclcpp 28.1.10 would require
         │  └─ ros2-distro-mutex >=0.10.0,<0.11.0a0, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.10.0 would constrain
         │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
         ├─ ros-jazzy-rclcpp 28.1.9 would require
         │  └─ ros2-distro-mutex >=0.9.0,<0.10.0a0, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.9.0 would constrain
         │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
         ├─ ros-jazzy-rclcpp 28.1.8 would require
         │  └─ ros2-distro-mutex >=0.8.0,<0.9.0a0, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.8.0 would constrain
         │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
         ├─ ros-jazzy-rclcpp 28.1.6 would require
         │  └─ ros2-distro-mutex >=0.7.0,<0.8.0a0, which cannot be installed because there are no viable options:
         │     └─ ros2-distro-mutex 0.7.0 would constrain
         │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
         └─ ros-jazzy-rclcpp 28.1.6 would require
            └─ ros-jazzy-rcl *, which cannot be installed because there are no viable options:
               ├─ ros-jazzy-rcl 9.2.9 | 9.2.9 would require
               │  └─ ros2-distro-mutex 0.14.* jazzy_*, which cannot be installed because there are no viable options:
               ├─ ros-jazzy-rcl 9.2.8 would require
               │  └─ ros2-distro-mutex >=0.13.0,<0.14.0a0, which cannot be installed because there are no viable options:
               │     └─ ros2-distro-mutex 0.13.0 would constrain
               │        └─ libboost 1.88.*, which conflicts with any installable versions previously reported
               ├─ ros-jazzy-rcl 9.2.8 would require
               │  └─ ros2-distro-mutex >=0.12.0,<0.13.0a0, which cannot be installed because there are no viable options:
               │     └─ ros2-distro-mutex 0.12.0 would constrain
               │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
               ├─ ros-jazzy-rcl 9.2.7 would require
               │  └─ ros2-distro-mutex >=0.11.0,<0.12.0a0, which cannot be installed because there are no viable options:
               │     └─ ros2-distro-mutex 0.11.0 would constrain
               │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
               ├─ ros-jazzy-rcl 9.2.7 would require
               │  └─ ros2-distro-mutex >=0.10.0,<0.11.0a0, which cannot be installed because there are no viable options:
               │     └─ ros2-distro-mutex 0.10.0 would constrain
               │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
               ├─ ros-jazzy-rcl 9.2.6 would require
               │  └─ ros2-distro-mutex >=0.9.0,<0.10.0a0, which cannot be installed because there are no viable options:
               │     └─ ros2-distro-mutex 0.9.0 would constrain
               │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
               ├─ ros-jazzy-rcl 9.2.5 would require
               │  └─ ros2-distro-mutex >=0.8.0,<0.9.0a0, which cannot be installed because there are no viable options:
               │     └─ ros2-distro-mutex 0.8.0 would constrain
               │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
               ├─ ros-jazzy-rcl 9.2.4 would require
               │  └─ ros2-distro-mutex >=0.7.0,<0.8.0a0, which cannot be installed because there are no viable options:
               │     └─ ros2-distro-mutex 0.7.0 would constrain
               │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
               └─ ros-jazzy-rcl 9.2.4 would require
                  └─ ros-jazzy-rcl-logging-spdlog *, which cannot be installed because there are no viable options:
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 | 3.1.1 would require
                     │  └─ ros2-distro-mutex 0.14.* jazzy_*, which cannot be installed because there are no viable options:
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                     │  └─ ros2-distro-mutex >=0.13.0,<0.14.0a0, which cannot be installed because there are no viable options:
                     │     └─ ros2-distro-mutex 0.13.0 would constrain
                     │        └─ libboost 1.88.*, which conflicts with any installable versions previously reported
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                     │  └─ ros2-distro-mutex >=0.12.0,<0.13.0a0, which cannot be installed because there are no viable options:
                     │     └─ ros2-distro-mutex 0.12.0 would constrain
                     │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                     │  └─ ros2-distro-mutex >=0.11.0,<0.12.0a0, which cannot be installed because there are no viable options:
                     │     └─ ros2-distro-mutex 0.11.0 would constrain
                     │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                     │  └─ ros2-distro-mutex >=0.10.0,<0.11.0a0, which cannot be installed because there are no viable options:
                     │     └─ ros2-distro-mutex 0.10.0 would constrain
                     │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                     │  └─ ros2-distro-mutex >=0.9.0,<0.10.0a0, which cannot be installed because there are no viable options:
                     │     └─ ros2-distro-mutex 0.9.0 would constrain
                     │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                     │  └─ ros2-distro-mutex >=0.8.0,<0.9.0a0, which cannot be installed because there are no viable options:
                     │     └─ ros2-distro-mutex 0.8.0 would constrain
                     │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
                     ├─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                     │  └─ ros2-distro-mutex >=0.7.0,<0.8.0a0, which cannot be installed because there are no viable options:
                     │     └─ ros2-distro-mutex 0.7.0 would constrain
                     │        └─ libboost 1.86.*, which conflicts with any installable versions previously reported
                     └─ ros-jazzy-rcl-logging-spdlog 3.1.1 would require
                        └─ spdlog >=1.14.1,<1.15.0a0, for which no candidates were found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants