Skip to content

Bno055testedcpp#84

Closed
Zarqu0n wants to merge 28 commits into
flynneva:mainfrom
saha-robotics:bno055testedcpp
Closed

Bno055testedcpp#84
Zarqu0n wants to merge 28 commits into
flynneva:mainfrom
saha-robotics:bno055testedcpp

Conversation

@Zarqu0n

@Zarqu0n Zarqu0n commented Mar 5, 2026

Copy link
Copy Markdown

No description provided.

Zarqu0n and others added 28 commits January 7, 2026 13:54
Add IMU anomaly detection parameters and functionality
set initial prev_imu_ok state to False
Handle IMU data reception errors and publish status
Implement serial connection reset functionality and timeout handling
Co-authored-by: Zarqu0n <72468520+Zarqu0n@users.noreply.github.com>
Co-authored-by: Zarqu0n <72468520+Zarqu0n@users.noreply.github.com>
Co-authored-by: Zarqu0n <72468520+Zarqu0n@users.noreply.github.com>
Co-authored-by: Zarqu0n <72468520+Zarqu0n@users.noreply.github.com>
Co-authored-by: Zarqu0n <72468520+Zarqu0n@users.noreply.github.com>
…ays, Euler angles, calibration check

Compared Boardoza BNO055 reference driver with saha-robotics implementation.
Key improvements for sensor data quality:

1. Implement actual calibration offset writing to sensor registers (was declared but never written)
2. Write accelerometer/magnetometer radius calibration values
3. Add sensor reset before configuration for clean state
4. Add self-test verification during configuration with detailed per-sensor results
5. Add proper mode transition delays (30ms per BNO055 datasheet)
6. Add Euler angles publication (data already in buffer, now published on euler topic)
7. Add operation-mode-aware isFullyCalibrated check in calibration status
8. Add proper timing delays during initialization sequence

Co-authored-by: ROSSARP <117314787+ROSSARP@users.noreply.github.com>
- Add SELFTEST_ALL_PASSED and CALIBRATION_FULLY_CALIBRATED constants to registers.hpp
- Use named constants instead of magic numbers for self-test (0x0F) and calibration (3)
- Add return value checking and warning logging in write_offset method

Co-authored-by: ROSSARP <117314787+ROSSARP@users.noreply.github.com>
- Fix bno055.launch.py: replace broken Python Node reference with C++
  LifecycleNode (executable='bno055_lifecycle_node') with auto
  configure/activate lifecycle management
- Add bno055_i2c.launch.py: launch file for I2C connection using
  bno055_params_i2c.yaml
- Update README.md: document all launch options (UART, I2C, lifecycle)
- Update CPP_README.md: add I2C and UART launch commands

Co-authored-by: ROSSARP <117314787+ROSSARP@users.noreply.github.com>
@Zarqu0n Zarqu0n closed this Mar 5, 2026
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.

5 participants